之前在阿里实习,回来后只参加了美团的面试。最后有幸拿到了阿里的转正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. 如何计算图片的所占用的内存
作者:IrvingQ
本文来源于牛客网
——————————
牛客网(www.nowcoder.com)
- 互联网名企笔试真题
- 校招求职笔经&面经
- 程序员求职实习信息
- 程序员学习交流社区
网友评论
这个问题有待商权,作为面试题这里可能有坑,其实非主线程也可以操作View。
final String mainName = Thread.currentThread().getName();
new Thread(new Runnable() {
@Override
public void run() {
Looper.prepare();
TextView tx = new TextView(LauncherView.this);
tx.setText("主线程为:" + mainName + "; 当前线程为:" + Thread.currentThread().getName());
WindowManager windowManager = LauncherView.this.getWindowManager();
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
200, 200, 200, 200, WindowManager.LayoutParams.FIRST_SUB_WINDOW,
WindowManager.LayoutParams.TYPE_TOAST, PixelFormat.OPAQUE);
windowManager.addView(tx, params);
Looper.loop();
}
}).start();