1. 程式人生 > >今日頭條2018春招安卓面經

今日頭條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)

- 網際網路名企筆試真題

- 校招求職筆經&面經

- 程式設計師求職實習資訊

- 程式設計師學習交流社群