之前在阿里实习, 回来后只参加了美团的面试最后有幸拿到了阿里的转正 offer 和点评平台的 offer 这里简单地把我在美团面试过程中记录的一些问题分享一下, 总体来说基础问题还是比较多的, 希望对大家有帮助
美团一面
1. 介绍一个项目经历
2. 创建线程的方式
3. 线程池有什么优势
4. 怎么停止一个线程
5. 锁的类别方法锁对象锁等区别
6. 重载和重写比如 method(String s) method(Object o) 两个方法, 调用 method(null)会出现什么情况
7. Activity 生命周期 Activity A -> B 生命周期变化
8. View 事件分发机制
9. ListView 里的 item 有图片, 当图片加载成功时可以接收事件, 不成功时整个 item 接收事件, 实现方式
10. 自定义 View 自定义 attr xml 可以定义相同属性吗
11. Jni
12. 屏幕适配相关问题
美团二面
1. 介绍实习经历
2. Object 的方法有哪些 wait notify hashCode equals ... 3.HashMap 实现原理与 hashCode equals 一起分析, 如果冲突较多怎么办做了哪些优化
4. 连接字符串方式, StringBuilder, StringBuffer 有没有看过编译后的指令和普通连接的区别
5. String 类的特性
6. 文件流关闭的时机
7. GC 相关包括如何确定对象无用回收算法
8. 了解 GC 对开发有什么用内存泄露等
9. 内存泄露的情况使用什么工具检测工具对比有没有了解实时监测框架
10. 子线程能更新 UI 吗为什么不能会出现异常吗
11. Activity 之间通信有哪些方式
12. Intent 可以传输什么类型的变量有大小限制吗
13. 本地广播和普通广播区别
14. git svn 区别 git pull 和 rebase 区别
美团三面
1. 介绍实习经历
2. JVM 和 DVM 或 ART 有什么区别
3. Dex 和 Class 区别 Dex 做了哪些优化
4. Binder 原理
5. 了解 linux 下的其他进程通信方式吗管道 SystemV...
6. 为什么选用 Binder,Binder 为什么只复制一次
7. 应用层有哪些跨进程方式 AIDL ContentProvider Socket ...
8. 系统级别除了 Binder 还有哪些跨进程方式? Zygote 通过 Socket 监听来 fork 新的进程, native crash 发出信号 kill process ...
9. 插件化组件化阿里 Atlas 360 的 DroidPlugin 技术 (项目用到了) 对比
10. 动态化方案了解 Weex 吗
11. 锁用过哪些? 区别是什么? 自旋锁和重入锁有了解吗
12. View 事件分发
13. 怎么拦截事件
14. 标签流怎么实现
15. 自定义 View 里的性能优化
16. 如何计算图片的所占用的内存
来源: http://www.jianshu.com/p/57ee412b5c55