Android面经

这三天以来,我前后面了四家公司,本人是2018届应届毕业生,以下只是一些普通公司的面经,特此记下。

公司一

1.Activity的启动模式有哪些?
2.说说自定义View的几个方法以及运用
3.怎样让一个列表中的图片长宽一致,自定义View角度
4.Hashmap底层实现
5.Glide能否加载大图,会不会OOM,应该怎样处理大图
6.你项目中用到Retrofit,RxJava,EventBus,Glide等看过源码吗
7.Eventbus能不能跨进程
8.说说触摸事件和事件分发机制
9.绘制优化怎么做
10.用过Service吗,使用场景
11.RxJava有哪些操作符,各自怎么用
12.Handler机制以及源码相关的问题
13.HandlerThread
14.说说LruCache
15.说说堆和栈
16.Git熟悉分支管理吗,熟悉Git命令不
17.AIDL了解吗
19.会jni、ndk吗


公司二

  1. http和https的区别
  2. tcp/ip
  3. app启动流程,从用户点击桌面图标到启动完成的过程
  4. Activity的生命周期,跳转发生的变化
  5. Activity的启动模式及其使用场景
  6. 栈和队列的区别
  7. 任务栈的优缺点
  8. AIDL
  9. Service的两种启动方式以及使用场景
  10. 广播分几种?广播的使用场景
  11. 加载一张超大图片怎么办
  12. HttpURLConnection与HttpClient区别,volley底层实现了解吗
  13. 如何保活

公司三

  1. 会kotlin吗
  2. 说说Android的多线程
  3. 说说MVP和MVC的区别
  4. 用过什么IM类的SDK
  5. 说说Handler机制
  6. 你是应届生?

及其无语,一看我是应届生,就不想问问题了,其实上面的问题我都回答出来了,自我感觉很好,突然不问了,还强调了我是否是应届生,最后他说了句,我觉得像你们这种刚毕业的,最好去外包公司历练。呵~我又不是没干过外包,我知道外包是怎样的一个情况,你不要也罢,不要歧视应届生,很多人未必懂得比我多,我好歹也实际工作过两年(大三实习+大四全职)。当然,我有很多不足之处,确实需要向各位前辈学习。主要是我觉得好伤心就因为我是应届生就ko我,而且,我可是作了两个小时的地铁才到那里…

公司四

一面

  1. 如Person p = new Student(); 这样的操作是在堆中还是栈中
  2. 上面的操作占用了多少块内存,p和new Student是怎样的关系(指针)
  3. 堆和栈数据结构的区别
  4. 抽象类和接口使用场景
  5. 抽象类可以被实例化吗
  6. 对面向对象的理解
  7. 你对架构的理解
    二面
  8. 说说RxJava
  9. 说说MVP
  10. MVP应该怎样解决代码臃肿的问题(MVP写法需要写的代码量多)
  11. 说说你是怎样用Arouter的
  12. Eventbus的底层实现
  13. 用过CardView吗
  14. 不用CardView你是怎样实现圆角
  15. 说说怎样绘制优化
  16. 说说内存泄漏及其优化
  17. 静态内部类为什么可以不易造成内存泄漏,原理是什么
  18. BRVAH框架有哪些用法
  19. 如何实现下拉刷新、上拉加载更多,要自己实现,不用第三方
  20. RecyclerView有什么作用,它的回收机制是怎样的
  21. 自定义View的一些方法
  22. 自定义动画怎样做
  23. Retrofit是怎样上传文件的
  24. Glide三级缓存
  25. 说说Glide的内存缓存是怎样实现的
  26. 说说LruCache的底层实现
  27. 有用Glide加载过视频吗

2019/2/21
笔试
画出 Binder 进程间的通信机制
不同的对象的 hashCode 可能相同吗
Java 的四种引用的使用场景
多线程的 sleep() 和 wait() 的区别
收藏功能怎样做

一面
单例模式、静态内部类为什么可以线程安全
volatile、synchronized
activity 的启动时间
谷歌新框架的原理和使用
HashMap 的原理
线程池
多线程同步
EventBus 原理
Handler 原理
事件分发拦截机制,ViewGroup dispatchTouchEvent() Scroll 的 MOVE_DOWN 事件 返回 true,后续事件怎样传递
其他忘记了

二面
技术方面:
观察者模式
遇到过的哪些难题
其他

你可能感兴趣的:(Android面经)