场景1

做一下自我介绍

Activity启动时View的流程

Resume时Activity是否完成了渲染

介绍一下组件化架构

垃圾回收机制。一个变脸不用了什么时候被回收。

双亲委托机制,如何打破双亲委托机制。

简述Handler机制,为什么while循环不会造成OOM。

Glide实现原理,有什么出彩的点。

是否看过源码,如何学习。

HashMap的扩容因子是做什么的,每次扩容多少

PopWindow和Dialog的区别是什么

HTTPS握手过程

如何看待公司加班的

链表成环的判断,手写一下伪

java虛拟机垃圾回收算法。为什么要进行分代回收。

场景2(完美世界)

  1. 看你写的app问你问题
  2. 如何实现RV下拉刷新
  3. 责任链模式的理解
  4. MVP MVC MVVM区别
  5. 你研究什么技术最深刻说说
  6. 设计模式是解决什么问题的,说说你最理解的设计模式

7长链接是什么,讲讲你的理解,看过长链接开源库源码吗

阿里面经

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位实现的?