最近通過一些面試,現把問到的和一些沒有答好的技術點列舉以下。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)