當前位置:網站首頁>一場面試結束,某度員工從事Android 5年為何還是初級工程師?
一場面試結束,某度員工從事Android 5年為何還是初級工程師?
2022-01-27 17:45:01 【m0_66264798】
-
怎麼處理在線app出現的閃退問題,比如是偶現的那種,怎樣查找原因?
-
如果是報oom,怎麼去定比特哪裏內存泄漏了?
-
有沒有用過kotlin開發…
3面阿裏釘釘
-
阿裏的面試基本上都是邊聊邊問,根據你的工作經曆以及面試過程中的內容進行展開。
-
面試官先問,你最擅長Android中的哪個方向呢?
我答了插件化、組件化、熱修複、React Native,最近也在鑽研Flutter,對flutter有一些自己的理解。(我故意這麼講,希望面試官可以多問一下flutter。)
- 面試官:插件化和熱修複有什麼區別嗎?
我:插件化是把需要實現的模塊或功能獨立提取出來,减少宿主的規模,需要相應功能時再去加載相應模塊;而熱修複則是從修複bug的角度出發,不需要二次安裝應用、用戶無感知的情况下就可以修複已知bug。(這麼基礎的問題,回答的時候自信滿滿…)
- 面試官:熱修複的核心原理是什麼?
我:主要是利用Android類加載機制,把需要修複的類打包成dex文件,把這個修複過的dex文件排在dexElements最前面,ClassLoader在修複過的dex文件加載到類之後就不會再去加載錯誤的類了。(還好面試前有看過)
- 面試官:類加載為什麼要使用雙親委托機制?
我:…(我記得我看過的來著,一下子想不起來了。)
- 面試官:jvm和dalvik、art的區別是什麼?
我:jvm是基於棧的,dalvik和art是基於寄存器的。(這時候我慌得一比,快頂不住了…)
- 面試官又追問:那什麼是基於棧的虛擬機,什麼又是基於寄存器的虛擬機?
我說不知道。(那時完全不懂面試官為什麼要問這個)
- 面試官:art加載類的流程和Dalvik有區別嗎?
我:有區別嗎?不就是ClassLoader嗎?(面試官稍微提了一下機器碼。)
後續查資料才知道,原來art水這麼深,7.0以前直接編譯為機器碼。之後又變成混合aot、jit和解釋執行了,加載類底層使用classlinker,先從classtable緩存查找,如果沒有再從oat文件查找,否則就解釋執行
- 面試官:那art下,熱修複的實現上有什麼需要注意的地方?
最後一個問題聽完之後直接懵逼了…查資料才感覺到面試官其實還是在問:art下類加載的流程。原來aot會生成一個ba
se.art文件,在ClassLoader創建之後就會把base.art中的類注入到緩存中去,所以會導致這些類無法修複。
- 面試官又問了我遇到的最難的內存優化問題和解决方案;未來三年計劃,技術發展縱深的選擇。
感覺凉了…
3面小米
-
對okhttp的源碼解析;用rxjava遇到過哪些坑;
-
用過最複雜的自定義view和優化處理;
-
用EventBus遇到的坑;
-
glide如何檢測生命周期;
-
底層替換熱修複和冷啟動熱修複有什麼區別,怎麼實現?
-
用過最複雜的自定義view和優化處理;
-
用EventBus遇到的坑;
-
glide如何檢測生命周期;
-
底層替換熱修複和冷啟動熱修複有什麼區別,怎麼實現?
版權聲明
本文為[m0_66264798]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201271745011046.html
邊欄推薦
猜你喜歡
隨機推薦
- Flutter 2,移動金融應用開發
- 關於st25系列NFC標簽簡單介紹及st25TV系列用於門禁讀取時的注意事項總結
- 數組中的第k個最大的元素--優先級隊列、排序、堆、排序
- 單片機實例27——ADC0809A/D轉換器基本應用技術(硬件電路圖+匯編程序+C語言程序)
- Collection集合的學習
- 3本書閱讀筆記【人月神話-Go語言實戰-研發能力持續成長路線】01
- PHP垃圾回收機制
- 【電子技術】什麼是LFSR?
- 死鎖?如何定比特到死鎖?如何修複死鎖?(jps和jstack兩個工具)
- 快樂寒假 22/01/20
- image
- 噴程序員?SURE?
- LDO分壓電阻計算小工具
- 面試之求一串字符串中每個字符的出現次數
- 【Mysql上分之路】第九篇:Mysql存儲引擎
- RHCE 第一次作業
- 2021.10.16我的第一篇博客:一切皆有可能!
- CTA-敏感行為-讀取IMEI
- 面試被問怎麼排查平時遇到的系統CPU飆高和頻繁GC,該怎麼回答?
- nuxt項目總結-綜合
- 自然語言處理學習筆記(一)
- C語言第一課
- XCTFre逆向(四):insanity
- 理解什麼是真正的並發數
- JVM腦圖
- 函數棧幀的創建與銷毀
- 構建神經網絡- 手寫字體識別案例
- 多模態生成模型ERNIE-VILG
- kotlin不容忽視的小細節
- 備戰一年,終於斬獲騰訊T3,我堅信成功是可以複制的