话不多说,直接上干货。
某知名在线教育公司
- 介绍一下自己项目中MVP如何实现;
- 自定义View流程;
- 说说项目中遇到的性能优化、内存泄漏和内存溢出;
- native和h5交互怎么做;
- 事件分发流程;
- http、https的区别,post、get区别;
- 算法:两个单链表相交,求相交结点;
- 算法:获取单链表倒数第k个元素;
著名安全类公司
- Activity的启动模式和应用场景;
- Handler机制以及与Message等之间的关系;
- 与Service通信的几种方式,进程间通信和进程内通信的区别;
- 手写代码实现线程死锁;
- 手写两种单利模式,并讲出优缺点;
- 如何实现RecyclerView的侧滑删除;
- http、tcp/ip基本认识,post和get区别;
- 内部类为什么会造成内存泄漏;
- 怎样给RecyclerView加header和footer,为什么可以这样;
- RecyclerView如何实现复杂布局;
- 算法:一个整型数组中,只有两个数出现一次,其余均出现两次,找出这两个数,给出时间复杂度;
著名求职类公司
- View的回执流程,onMeasure方法的三种模式;
- 画出Window的层次结构;
- Handler、Looper原理;
- 说一下自己设计的图片框架;
- Glide源码;
- 对RxJava的理解;
- 事件分发机制,TouchEvent的down、up和move;
- 项目中如何实现热修复,或使用了哪个热修复库;
- 手写实现数据库SQLiteOpenHelper;
- ActivityThread的main方法中做了些什么;
- 内存泄漏的原因,常见场景和如何处理;
- 布局优化,如何防止过度绘制;
一个名字听起来巨有钱的公司
- RxJava的优劣势;
- home/user/a/../b/./c所代表的的路径,手写代码输出绝对路径;
- 对系统相机的了解;
- View的回执流程;
- Glide源码,介绍自己的图片框架;
- 手写实现快速排序;
- 介绍代理模式;
- MVC、MVP各自特点和优缺点;
知名在线借款公司
- Activity的生命周期,启动模式;
- 如何实现多个Activity同时展示;
- 手写单例模式并解释为什么这样写;
- 如何防止过度绘制;
- 介绍下你阅读过的源码;
- 磁盘缓存怎么实现;
- JVM垃圾回收机制;
某大厂下的外卖团队
- 介绍Activity任务栈;
- RxJava原理,RxJava同时执行5个任务,是并行还是串行;
- Activity的启动过程;
- View的绘制过程,onMeasure方法中两个参数的含义;
- 自己封装过什么框架,介绍一下原理;
- ListView和RecyclerView的优化和区别;
- 如何为RecyclerView的Adapter设置监听,说出最好方案;
- 介绍一个自己做过的最满意的东西;
- 泛型中 ? 表示什么含义,若加入不满足条件的类型会怎样;
- 单例模式中的双检锁,如果把类锁换成内部声明的另一个类,效果会怎么样;
更多精彩内容,关注我的微信公众号——Android机动车