最近通过一些面试,现把问到的和一些没有答好的技术点列举以下。java
- binder机制
- java的容器相关的
- hashmap的原理。何时链表转变成红黑树?
- 如何删除容器中的某一item?
- 一些设计模式
- activity的task信息是存在ActivityManagerService的哪里的?
- java的内存模型
- 线程池的一些机制
- activity的setContentView作了什么?
饿了么的面试总结
- 更偏重于围绕业务的技术点
- 围绕rxJava问一下深层次的、以及操做符等知识点
- 针对过去项目,去问如何设计业务架构
- httpDns的技术点
- 动态代理和静态代理的区别,动态代理的运用场景
- android build的整个过程
- 组件化和插件化
- 讲一下recyclerview原理、几级缓存
- 而后还有一位P7的面试官问了一下技术点
- 详细讲解一下view的绘制机制
- android handler和loop机制
- loop内部为何要使用nativePollOnce、nativeWake这些机制,原本java层就能够作的为何要交给native层作,google出于什么考虑?
- binder机制
- 讲一下linux进程和线程
- 还问到了内核空间
- 介绍一些linux的api,好比说ioctl,内存映射和内存共享分别用什么api(记得我当时只答了mmap)
- volatile提供了什么功能,为何能保证原子性
- i++操做为何不是原子操做,具体到字节码层,它执行了什么操做?
- 有没有研究过新技术,如何看待这些新技术(我当时答的是flutter和dart)