背景

今年很不幸,部门被砍,大部分工程师都被裁员了,虽然说其他部门在面试时可以给我们放宽一点要求,但我想了想还是不打算待在那家了,都是坑呐,这几个月陆陆续续面试了一些地方,诸如阿里、百度、美团、海康威视、大疆之类的,其实早收到了部分offer,但这一场裁员经历让我谨慎了许多,前几天胜利拿到我最想去的美团的offer了,目前顺利入职。

【Android面经】美团|阿里|百度(附面试题汇总+案例解析)_java

这里我给大家分享部分面试经历,当然也将我这几个月的求职过程中碰到的面试题整理成了《Android中高级面试题汇总》,供大家参考,有需要的朋友可以在文末领取~

美团一面(70min)

  1. 介绍一下你自己
  2. flow为什么能代替livedata,有什么区别,flow怎么进行线程切换
  3. 线程、进程、协程的区别,dart的线程模型怎么样的,是线程还是协程
  4. 了解过handler吗,说一下
  5. java中启动一个线程有哪些方式
  6. 知道synchronized吗?有什么作用?有什么应用场景?synchronized加在实例方法和静态方法上有什么区别?
  7. 进程死锁是怎么产生的?
  8. 做项目有没有遇到过线程问题,挑一个讲,怎么解决的
  9. http和https区别,https为什么安全
  10. tcp和udp区别
  11. 解释什么是多态,有什么实际应用
  12. hashmap hashTable concurrentHashMap原理与区别
  13. 平时学习新知识怎么学的
  14. 写点代码吧,手搓一个快排

美团二面(60min)

  1. 开始问项目,深挖项目的里面提到的内容 包括负责的内容,使用的技术,使用的框架,遇到的问题,怎么解决,最后成果怎么样
  2. 一个应用可以在不同进程吗,进程间通信方式
  3. service运行在主线程还是子线程
  4. 主进程2个线程调用子进程aidl方有资源竞争之类的吗
  5. handler和线程的关系
  6. 一个app可以有多个任务栈吗
  7. 反问

HR面(15min):

  1. 确认目前情况和到岗时间;
  2. 自己的优势和契合点,为什么选到了这个岗;
  3. 其它厂的投递情况和进展,可能的最终去向;

阿里一面(45min)

  1. 插件化。启动 activity 的 hook 方式。taskAffity。
  2. okhttp 支持 HTTP2?http2 的功能有哪些?tcp 方面拥塞控制?tsl 的握手和具体的非对称加密算法。非对称名称
  3. handler 的 st(Runnable) 如何实现的。callback,runnable,msg的执行优先级。阻塞是怎么实现的?为什么不会阻塞主线程?
  4. 求二叉树中两个节点之间的最大距离。
  5. 206 含义,未修改资源是哪个,302 含义,301 含义
  6. 多进程通信问题。binder 优势。aidl 生成的 java 类细节。多进程遇到哪些问题?
  7. 动态代理传入的参数都有哪些?非接口的类能实现动态代理吗?ASM 的原理
  8. Application 和 Activity 在 Context 的继承树上有何区别?二者使用上有何不同?
  9. 任意一颗二叉树,求最大节点距离

阿里二面(50min)

  1. 设计一个日志系统。
  2. 内存泄露的分类。怎么查看内存泄露的问题
  3. touch 事件源码问题。
  4. 组件化的问题。module 和 app 之间的区别。moduler 通信是如何实现的。
  5. native 奔溃的日志采集,怎么处理?
  6. 注解实现一个提示功能:如果 int 的值大于了 3 需要提示。

阿里三面(45min)

  1. 介绍下 flutter 的启动流程
  2. 介绍下 flutter 与 weex 的区别
  3. 组件化介绍一下
  4. webview 中与 js 通信的手段有哪些?
  5. 介绍下 flutter_boost 的原理

百度一面(60min)

  1. 组件化和arouter原理
  2. recyclerview和listview区别
  3. glide流程,缓存前压缩,缓存命中
  4. APP性能优化,内存优化,布局优化,绘制优化,内存泄漏
  5. Http和Https区别
  6. socket心跳包
  7. jvm虚拟机,堆和栈的结构
  8. activity启动模式,有哪些不同
  9. stack栈的特点,自定义stack结构
  10. kotlin优劣势

百度二面(75min)

  1. 自定义view,中英文字符串宽高测量显示,测量算法,可扩展性
  2. 事件分发机制
  3. Activity,view,window联系
  4. 热修复和插件化原理
  5. Synchronized底层原理,java锁机制
  6. java容器,hashmap和hashtable区别,hashmap原理,扩容流程,扰动算法的优势
  7. ArrayList和LinkendList区别,List泛型擦除,为什么反射能够在ArrayList< String >中添加int类型
  8. Http和Https区别,SSL/TLS过程
  9. Android性能优化
  10. jvm虚拟机,堆和栈的结构,栈帧,JMM
  11. 组件化注意点,组件间通信机制
  12. 线程安全的单例模式有哪几种
  13. 熟悉的设计模式

以上面试题都已整理成PDF文档,有需要的朋友可以扫描下方二维码免费领取~

【Android面经】美团|阿里|百度(附面试题汇总+案例解析)_java_02