分享這兩週的面試經歷 | 掘金技術徵文

金三月、銀四月,過年回來是跳槽的高峯期,不安分的小編也投了幾家,想換個工做,換個環境。兩個星期來,面了四家公司,如今將面試內容整理與你們分享。面試

某知名在線教育公司

  1. VideoView、ExoPlayer、IjkPlayer和Vitamio這幾種主流播放器的比較;
  2. 垃圾回收機制,JVM內存分配、如何斷定對象可回收;
  3. 算法:n(很大)個無序數中找最大的10個數;
  4. 談談內存優化;
  5. 如何反編譯,對代碼逆向分析;
  6. 自定義View流程,主要的方法及各自做用;
  7. 如何防止過分繪製;
  8. LruCache原理;
  9. 事件分發及舉例說明;
  10. 混合開發用過哪些框架,本身又是如何處理、封裝的;
  11. 介紹一個你所瞭解的開源框架及原理;
  12. 談談對http緩存的瞭解。

某知名網絡問答社區

  1. 安卓中方法數不能超過64k的緣由,及如何處理;
  2. Intent傳值有大小限制嗎,爲何,如何處理;
  3. 如何實現圓形ImageView;
  4. 說說動態代理的做用;
  5. 註解;
  6. 對數字進行或計算;
  7. 對View中的onMesurse方法的詳細介紹和使用;
  8. 如何本身實現RecyclerView的側滑刪除;
  9. TabLayout中如何讓當前標籤永遠位於屏幕中間;
  10. 垃圾回收機制;
  11. Activity跳轉時的生命週期問題;
  12. LruCache和DisLruCache的原理;
  13. EventBus原理;
  14. 線程池的參數和工做原理;
  15. 對js互調如何使用,作過什麼優化;
  16. 算法:歸併排序

某知名直播平臺

  1. 手寫代碼:遍歷文件目錄;
  2. 電梯運行的算法分析;
  3. 談談本身項目的架構,如何優化;
  4. 算法:手寫冒泡排序;
  5. ijkPlayer播放器源碼;
  6. 視頻播放器的手勢控制如何處理;
  7. ArrayList、Vector、LinkedList的區別;
  8. 遇到過哪些關於Fragment的問題;
  9. 圖片的處理和優化;
  10. Android實現異步的幾種方式;
  11. JVM垃圾回收機制;
  12. 如何對Android應用進行性能分析;
  13. 介紹一個你比較欣賞的app或者開源框架。

某知名視頻播放公司

  1. 自定義View流程;
  2. MVP的優勢與確點;
  3. ClassLoader的雙親委派;
  4. 手寫實現單鏈表的get操做;
  5. 用過哪些插件化方案;
  6. 圖片處理和緩存;
  7. 生產者、消費者模式;
  8. 如何對應用進行性能優化;
  9. 64k出現的緣由及如何解決;
  10. 對ART的認識;
  11. 動態代理的做用;
  12. Retrofit和EventBus的源碼分析;
  13. EventBus如何作到黏性發送的;
  14. TextView調用setText方法的內部執行流程;
  15. 對線程池的認識和它的幾個子類;

很幸運,小編拿到了其中兩家的offer(就不具體透露了)。算法

經過這幾天的面試經歷,有幾點感想:緩存

  • 大廠面試,通常不會問某一個具體功能如何實現;性能優化

  • 大廠更重視基礎;微信

  • 數據結構和算法真的是很是重要,是平常工做和麪試的基礎;網絡

  • 咱們應該多看源碼,瞭解內部流程,而不僅是停留在會使用上;數據結構

將這兩週面試的內容與感想與你們分享,但願能對你們有所幫助。架構

更多精彩內容,歡迎關注個人微信公衆號——Android機動車app

這裏寫圖片描述
相關文章
相關標籤/搜索