1. 程式人生 > 其它 >10天拿到阿里Android崗offer,安卓面試題庫

10天拿到阿里Android崗offer,安卓面試題庫

【一面】

  • 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進階學習視訊

本文已被CODING開源專案:《Android學習筆記總結+移動架構視訊+大廠面試真題+專案實戰原始碼》收錄