- 介绍自己做的项目
按照自己熟悉的项目流程框架去逐步介绍,项目主要做了什么,用了什么,这里一定要讲自己熟悉的部分,因为面试官会根据你提到的技术点展开后续的问题,千万不要给自己挖填不了的坑。我这边介绍的时候提到了开发,所以后面面试官问了好几个开发 的问题,所以一定要说自己熟悉的技术。
- 项目中最有难度和记忆最深刻的项目
这个问题按照实际去回答就好,可以说自己做过的但不一定是最难的,可以是自己最熟悉的,觉得有亮点可以说的,避免讲不了几句就没话可说的情况。
-
开源框架 – Volley,Gilde,RxJava源码分析ConcurrentHash,以及线程安全等问题。
-
底层红黑树是什么?什么是红黑树
这个问题就是对上面问题一个很好的补充,Hashmap 在 Java8 的时候,会将链表在长度大于8的时候进行链表转红黑树,那么同样这也是一个延伸问题。红黑树:是一种平衡二叉查找树,
- 常用排序算法和时间复杂度
- 快排的实现原理
双指针,建议在纸上自行手写实现,这样才容易记牢。
-
Android内存优化
-
Android中的类加载器
-
Android中的动画有哪几类,它们的特点和区别是什么
-
热修复原理
-
图片加载如何避免OOM
-
你觉得你的能力大概在什么方面?
一面相对来说是比较偏技术细节的,十分注重原理和源码解析。这里有一份互联网一线大咖整理的源码PDF手册,我也从中获益匪浅。现在把它分享出来。
=====================================================================
二面的电话,同样还是那么的突如其来。。。二面的内部比较宽泛,偏项目和个人发展,没有标准答案,大家自行思考即可。
-
介绍自己,并介绍一下自己做的项目
-
自己主要负责哪块内容,其中印象最深刻的项目是什么
-
项目中遇到的最难的问题是什么,怎么解决的,
-
项目在生产上有没有遇到过问题,是什么样子的问题以及如何解决的
-
有没有因为 bug 或者其他原因导致的线上问题
-
tcp udp区别
-
framelayout relativelayout有什么区别
-
两个线程交替打印
-
三次握手 第二个包丢了会咋样?
-
对android什么地方最熟悉
-
bitmap存储的位置 安卓几个版本有什么不同?
-
本人觉得工作这么久对业务有什么重大的贡献
-
项目小组有多少人,个人觉得自己在小组中是什么样的位置
-
工作这么久觉得业务上有什么缺陷,怎么优化
-
是否有参与项目架构的讨论和设计
最后
针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!
资料领取:点赞免费获取Android IOC架构设计
领取获取往期Android高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、混合式开发(ReactNative+Weex)全方面的Android进阶实践技术,群内还有技术大牛一起讨论交流解决问题。