今日頭條2018春招安卓面經
一面:
協變
執行緒間通訊?有幾種同步/加鎖方式?
程序間通訊?答了三個只知道概念的和安卓的AIDL。
又問這“三個”中任選一個闡述原理
hashCode()方法實現
hashCode()方法 equals()方法相互聯絡?
ActivityA啟動ActivityB,兩者的生命週期分別是怎樣的,是順序執行的嗎?
用過哪些框架,答曰RxJava,Retrofit,Realm,問哪一個熟悉一點?都不太熟……就隨便挑了一個OKHttp來問:http請求中keep-alive儲存長連線的實現原理是怎樣的?
LRUCache原理,如何實現?
手撕程式碼,股票買入買進最佳時機,LeetCode上原題(有6道變形)
二分查詢,寫的遞迴,要求轉成迴圈方式
二面:
內部類和外部類有什麼區別?
靜態內部類和非靜態的有什麼區別?
內部類為什麼可以訪問外部類的變數?
垃圾回收:如果兩個變數互相引用是否還會回收它們?為什麼?
標記整理演算法是怎樣的?為什麼要前挪整理?
HashMap不是執行緒安全的,那麼用什麼替代?(本來是知道的,結果我多問了一句傻話面試官就跳過這個問題了……
(因為專案提到)Realm版本管理?更新表?
CoordinatorLayout與通常的FrameLayout和RelativeLayout相比有什麼特點
View的繪製過程
(這次面試電腦麥克風出了問題 在手機面的)草草問了一下跳臺階問題
三面:
(因為專案提到)SurfaceView的特點?瞭解相關的TextureView嗎?
HashMap的結構是怎樣的,怎麼存value,遇到相同的hash值的key,其value又怎麼存。
手撕程式碼,想第二種解法,想第三種解法;
用快排來解決這個問題,優化,再優化。
有什麼想問的?問建議學習路線,面試官建議就死磕官方原始碼就好,開源庫的原始碼也多看。看不懂看別人解析也可以。
想到再補充,頭條問得很深,多看原始碼……
有些問題我感覺是面試官覺得我太菜了就開始降題目難度,人艱不拆
頭條三面估計是三面結束結算才開始淘汰,連續三面然後十分鐘就通知我掛了,恩。雖然沒過,但面試體驗很好,出結果也很迅速,面試官人也都挺好的。
作者:草餅
本文來源於牛客網
——————————
牛客網(www.nowcoder.com)
- 網際網路名企筆試真題
- 校招求職筆經&面經
- 程式設計師求職實習資訊
- 程式設計師學習交流社群