场景1
做一下自我介绍
Activity启动时View的流程
Resume时Activity是否完成了渲染
介绍一下组件化架构
垃圾回收机制。一个变脸不用了什么时候被回收。
双亲委托机制,如何打破双亲委托机制。
简述Handler机制,为什么while循环不会造成OOM。
Glide实现原理,有什么出彩的点。
是否看过源码,如何学习。
HashMap的扩容因子是做什么的,每次扩容多少
PopWindow和Dialog的区别是什么
HTTPS握手过程
如何看待公司加班的
链表成环的判断,手写一下伪
java虛拟机垃圾回收算法。为什么要进行分代回收。
场景2(完美世界)
- 看你写的app问你问题
- 如何实现RV下拉刷新
- 责任链模式的理解
- MVP MVC MVVM区别
- 你研究什么技术最深刻说说
- 设计模式是解决什么问题的,说说你最理解的设计模式
阿里面经
1.多个handler向一个消息队列发消息,移除其中一个handler的消息,其他handler的消息会受影响吗
2.组件与组件之间,除了路由可以用什么模式来实现
3.如何检测线.上APP的崩溃,UI卡顿和anr (本地不用说了,可以用工具,那线上呢,怎么去实现)
4.如何定位APP UI卡顿,具体怎么去实现
5.handler为什么会引起泄露,是谁引用了handler导致其不能回收
6.handler的sendmessage和post方法区别
7.描述下你的app整体架构或者画下框架图
8.说说项目上有哪些技术的突出点
9.工作快四年了,你有哪些提升,或者说你哪个方向的技术较为突出
场景4
一面:map的子类,线程的状态,recyclerview和listview的区别,缓存原理,dalvik虚拟机和art虚拟机区别,hashmap的原理,synchronized原理,volatile关键字
二面:tcp/ip协议,七层协议,如何解决延迟堵塞丢包重传,linux的几个命令,字符串和数字相比较那个更快
轻客
1.gilde原理,假如检测fragment生命周期,那这个隐藏fragment是在activity里还是这个fragment里
2.事件分发机制
3.blockcanary原理,自己设计框架,如何检测UI卡顿,根据日志检测,有得华为手机去掉了日志,怎么去检测
4.leakcanary原理,怎么出发gc操作的,确定是system.gc?
5.多渠道打包流程,为什么先用as打个基本包,再用友盟Python多渠道两个步骤,想想都用脚本一步完成如何实现
6.如何加固,那为什么不和第五步-样,-起一步完成?如何实现
7.linkedhashmap原理,内部维护了几个链表,和hashmap区别
8.hashmap原理,数组下标怎样计算的,hashcode可以为负数,那它
怎么摆正到正数,确定是右移16位实现的?