10天拿到阿里Android崗offer,安卓面試題庫
阿新 • • 發佈:2021-10-10
【一面】
- Android四大元件是什麼?你最熟悉哪個?
- Activity的生命週期?
- 旋轉螢幕的時候會發生什麼?
- Java的常量池?不同String賦值方法,引用是否相等?
- HashMap的實現?樹化閾值?負載因子?增長係數?
手寫程式碼:O(1)的單鏈表元素刪除(×:倒黴孩子沒見過這套路…經過提示也沒想出來,可見做題的重要性)
手寫程式碼:獲得單鏈表的最後N個元素
【二面】
- 寫過C++是吧?
- 知道STL容器的allocator嗎?
- 手寫程式碼:實現無鎖同步 (×:我寫成了CAS操作,被打斷,說特定的ARM處理器沒有這個同步原語,不能依賴相關指令。包括訊號量等也不行。)
- 手寫程式碼:自定場景,實現一個滿足需求的記憶體池 (×:暈乎乎寫出了幾個bug,面試官眼尖…而且自我感覺回收演算法不夠好,感謝放過)
- 手寫程式碼:從長序列中找出前K大的數字,堆排序
- JVM的垃圾回收演算法瞭解嗎?
- 物件可達性分析,哪些是GC root?
- TCP和UDP的根本區別?
- 什麼場景下使用UDP?為什麼?
- 提問簡歷,關於FFmpeg
- 我的提問:
- 面試官是哪個組的?
位元組跳動今年是否真的缺人?招聘策略是什麼?(答:是。專案和實習經驗吃虧沒關係,今年招聘重視基礎,換去年我肯定不給你過。)
【三面】
- 介紹專案,高三暑假做的App
- 畫某個功能的模組圖,寫出相關介面
- 這樣設計有什麼問題?如何改進?
- QQ視訊聊天使用什麼協議?
- 視訊聊天為何會卡頓?
- TCP流量控制演算法的細節? (×:包速率增長的函式關係說不清楚,感謝面試官放過)
- 假設有節點自帶p的丟包率,如何判斷丟包是因為頻寬不夠還是隨機丟包導致?
- 如果視訊聊天出現卡頓,如何在應用層面緩解?
- 手寫程式碼:大整數加法,要求程式碼可讀性(×:又寫出搞笑bug系列,被二面搞傻了)
- Android應用中的卡頓是什麼導致的?
- Service和Thread有什麼區別?Service的程式碼是在哪個執行緒執行的?
- AsyncTask?Executor?
- AsyncTask有哪些缺點?
- 用過IntentService嗎? (×:沒用過,感覺就是個適合處理單次計算任務的方便設施)
我的提問:
- 面試官是做什麼的?
- 面試官對非科班學生有什麼看法?
- 面試官認為我存在哪些不足?
Android進階資料
以下的資料是近年來,我和一些朋友面試收集整理了很多大廠的面試真題和資料,還有來自如阿里、小米、愛奇藝等一線大廠的大牛整理的架構進階資料。希望可以幫助到大家。
Android進階核心筆記
百萬年薪必刷面試題
最全Android進階學習視訊