CVTE安卓实习生一二面(凉经)

版权声明:本文为原创文章,转载请注明出处。@yami. https://blog.csdn.net/yaminet1024/article/details/84109233

面试官是个非常年轻的小伙子,相当nice,因为是我第一次面试,说话有点语无伦次的感觉,但面试官能get到我要表达的想法,非常感谢。

  1. 谈谈你做的最满意的一个项目。
  2. 谈谈你在项目中用到的一些设计模式。
  3. 谈谈工厂模式
  4. View的事件分发,用到的是哪个设计模式(话题是被我带过来的)
  5. 自定义View了解吗?View的绘制流程?
  6. MVP模式了解吗?说一下。你在项目中什么地方用到MVP模式?用MVP有什么好处?
  7. Service的两种启动方式,能否在service中执行耗时操作?会有什么影响?两种启动方式分别有什么不同?
  8. Activity与Service的通信有几种方法?
  9. 用过那些图片加载框架?分别有什么不同?
  10. Glide的底层原理是什么?
  11. Java线程有几种状态?
  12. 结束线程的几种方式?
  13. JAVA泛型理解吗?
  14. 数组和链表各有什么优缺点?
  15. JAVA的弱引用和软引用,说一下,图片资源应该是用弱引用还是软引用?为什么?
  16. 哈希冲突是什么?如何解决哈希冲突?当数据量很大的时候呢?

二面:(全程被问的我怀疑人生)

  1. 说一下你的项目
  2. okhttp优势,有看过源码吗?(卒)
  3. 有在项目中用到哪些设计原则(知道设计原则,但要在项目中说出来,卒);
  4. 有用过哪些分层架构?除了MVP和MVC知道MVVM吗?具体是怎么解耦的,有什么优势?
  5. 项目中用到哪些设计模式?我答了我经常用到单例,偶尔用到一些适配者模式,观察者模式,那观察者模式怎么实现解耦的?(观察者模式解耦??? 卒)
  6. 了解IPC吗(我说了Binder的的通信过程)
  7. Binder池了解吗?它在代理方法里面做了什么事情?它里面tranc...什么方法是干什么的?客户端是怎么知道调用的是哪个方法?(卒)
  8. 为什么页面会出现滑动卡顿?(我答了内存抖动,导致大量的gc。)
  9. 为什么gc会导致卡顿?(卒)
  10. 说说你在项目中遇到的一些困难,怎么解决的?(我答了RecyclerView 错位,3.0Glide之前没有设置超时时间的解决办法)
  11. 知道RecyclerView错位的根本原因是什么么?有没有看过底层的代码去分析?为什么没有考虑去改Glide的源码呢(卒)
  12. 你从EventBus源码里面学到了什么新的东西?(eventBus我跟它说我才看一点,卒)
  13. 自定义Viev onDraw()方法里面需要注意什么?
  14. 谈一下自定义View里面动画的实现方式,以及一下动画属性(卒)
  15. Handler的原理,Messagequeue底层是怎么实现的?里面为什么要使用单链表的结构?这样做是为什么?(handler的原理说了出来,问为什么使用单链表-卒)
  16. 谈谈你在项目做的一些优化。
  17. Loop.loop为什么不会阻塞主线程?(我给忘了,卒)
  18. 最后没问我算法,二面(卒)

二面给我感觉就是,他会考察你是不是对项目的所有知识点都了解。特别是你使用到的一些框架,动画,自定义View,然后就是深度,他会一直往深的问。所以还要准备学习并理解透彻一两个开源框架的源码。

猜你喜欢

转载自blog.csdn.net/yaminet1024/article/details/84109233