likes
comments
collection
share

面试记录

作者站长头像
站长
· 阅读数 5

一面:

  1. 阐述项目经验,并详细问了retrofit的底层具体流程,Glide的稍微问了下,而后问了OkHttp的,不过没有答出来,只知道责任链机制
  2. Glide的优点,对图片加载、缓存机制
  3. 对第三方库,需要搞清楚其优点和缺点
  4. 问了操作系统——线程与进程的区别、死锁、调度算法,用户态和内核态、系统调用、中断(三种)
  5. 计算机网络——OSI七层协议、五层协议,每次的具体作用
  6. TCP和UDP的区别、联系
  7. TCP的三次握手协议,为啥要三次,(两次会造成资源消耗,只有一方确定对方收到信息)、滑动窗口(具体说下,机制)
  8. Http和https的区别,端口号,get和post的区别
  9. handler机制,四大组件及作用、Activity生命周期等
  10. LRU的机制

二面:

  1. 手写消费者和生产者算法,并写出在生产者有上限的情况下,如何书写
  2. 浅拷贝和深拷贝的区别
  3. 面向对象的优点,面向对象比面向过程额优势在哪儿
  4. static的方法是否可以被重写和重载(可以重写,不能重载,因为static定义的方法在类加载时已经固定内存空间大小)
  5. synchronized的作用,即锁方法和静态锁方法的锁竞争问题
  6. hashmap的创建过程,扩容、get和put的操作、影响因子、提高性能(通过知道容量,设置初始容量,记得影响因子)
  7. concurrenthashmap的底层结构,分段锁,即reentrantlock与segment等
  8. comparable和comparator的区别
  9. synchronized和reentrantlock的区别,可重入性,偏向锁、轻重量级
  10. 类加载过程,类加载的几种情况(new,Class.forClass(),调用某个类的静态属性)
  11. 线程池的具体参数,以及当当前线程数超过核心线程池数,再次创建线程时流程(先放入拥塞队列,再判断是否存在超过最大线程,超过则等待,否则则进行创建)
  12. 自定义View的绘制过程,measureSpec的作用