小米安卓一二面凉经
背景:没有安卓基础
9.15一面
9.16二面
一面(40分钟)
-
自我介绍
-
安卓四大组件(不会)
-
线程有那些状态
-
wait()和sleep()的区别
-
说说线程池的原理和几个核心参数
-
Java中实现线程安全的几种方式
-
synchronized和ReentranLock的区别
-
说说ReentranLock的底层实现
-
说说Java中的锁(刚刚说到的独占锁,共享锁,公平锁,非公平锁,可重入锁...)
-
说说悲观锁和乐观锁
-
Java中有哪些乐观锁的实现
-
synchronized的锁优化过程
-
TCP,UDP的区别
-
TCP中可靠传输的细节
-
TCP三次握手
-
TCP四次挥手
-
HTTPS实现原理
-
HTTP的method
-
GET和POST的差别
-
HTTP头常用的字段
-
说说Cookies
-
泛型擦除
-
用过反射吗?怎么使用的?
-
代码题:两个栈实现一个队列
二面(34分钟)
-
Collections里面的方法说一下
-
说说synchronizedMap,用这个有什么缺点
-
数字签名的原理
-
安卓中的App是进程还是线程
-
键盘输入在操作系统层面的实现原理
-
内核态和用户态的转换?为什么要分内核态和用户态
-
说说面向接口编程的原因
-
JVM 运行时数据区域
-
说说类加载机制,知道双亲委派模型吗?为什么要使用双亲委派模型?
-
一个在类的静态属性,非静态属性,方法中的变量分别在什么时候赋的零值
-
final,finally,finallize的区别
-
代码题:面试房间没有代码编辑器,没写。面试官说回头问问HR