2020百度安卓开发岗面经

秋招正式批投递了百度Android开发岗。近期给安排了南京地区的现场面试,面试几乎是全程手撕各类问题,而且面试问题都比较发散。简单罗列一下面试涉及的问题。

一面

一面问的问题大多是开放性问题,主要是看个人思路吧。

  1. 手撕依赖关系树扫描算法(期间提了不重复扫描、优化时间复杂度等要求)
  2. 简述如何实现未知长度的数组翻转?
  3. 简述内存泄漏,你处理过哪些内存泄漏?
  4. 以100ms/张的间隔时间播放100张图片,且每张图片需要400ms进行加载,如何设计?
  5. 如何在无序数组中快速找到最小值(手撕二分查找算法)
  6. 简述Android中的ANR,以及为什么会出现ANR?
  7. 简述Handler消息机制(深挖内部实现原理)

二面

  1. 手撕一个有序数组的二分查找算法
  2. 列举一个你在实际项目中所进行的性能优化(深挖具体细节)。
  3. 简述单例模式的实现方式,且单例模式有什么优缺点?
  4. 简述Java的异常处理机制
  5. 多线程间如何进行信息通信?
  6. 多线程如何保证线程安全?
  7. 简述线程池
  8. 简述HashMap实现机制,如何解决HashMap的线程安全问题?
  9. TCP和UDP的区别,分别有哪些应用场景?
  10. 简述七层网络模型
  11. 简述Android点击事件的分发机制
  12. 画一个BLE APP的功能架构图

三面

三面相当于是综面和HR面和在一起了,主要问题也是分两个模块。

业务类问题:

  1. 手绘Class间依赖关系图
  2. 聊聊如何处理并发编程
  3. 手撕消费者模型代码,主要线程安全、队列等情况。
  4. 简述Android系统的类加载机制
  5. Activity的生命周期通过什么机制来通知?

HR类问题:

  1. 聊聊个人的职业规划
  2. 你最大的优点是什么?
  3. 你有哪些方面待改进?
  4. 简述你大学所做的事情
  5. 说说你大学里最遗憾的事情
  6. 如果你和舍友产生了矛盾,如何处理?

你可能感兴趣的:(2020百度安卓开发岗面经)