頭條Android客戶端開發面經分享

augfun發表於2020-11-19

一面 7月2日

1.C語言中全域性變數和區域性變數的宣告週期

2.new和malloc產生的物件儲存空間分配在哪裡?對一個結構體陣列使用malloc申請空間應該怎麼寫?

3.Java的synchronized的用法。寫一個生產者消費者模型

4.Android的訊息佇列,handler機制

5.訊息佇列是一個死迴圈,為什麼不會發生ANR?

6.瞭解哪些設計模式?

7.演算法題:合併兩個有序陣列

應該還問了一些東西,但是我記得不是很清楚了。總的來說,一面問的東西比較基礎也比較淺,算是基礎面了。面完後十分鐘接到了約二面的電話。

二面 7月12日

1.JVM的GC

2.安卓的執行緒通訊和程式通訊

3.Sqlite的使用

4.經典的問題:完成一次HTTP請求都需要經過哪些步驟?

5.HTTP和HTTPS的區別

6.flutter的使用體會

7.怎麼看待flutter的狀態管理

8.為什麼flutter的資料流是單向的?

9.dart虛擬機器的工作模型

10.mvc、mvp、mvvm的異同

11.演算法題:二叉樹的層次遍歷,同時判斷二叉樹是否平衡

除了演算法題外,二面問的問題比一面要難一些。當天晚上約了三面。

三面 7月17日

1.自己寫的課程表專案的介紹

2.自定義View要重寫哪些方法?

3.Sqlite更新資料庫的欄位後要怎麼操作?

4.一鍵匯入課表的功能怎麼實現的?

5.自己寫的社交app的介紹

6.app如何保活?

7.activity的宣告週期

8.Service和PushSDK

9.使用了哪些第三方庫?

10.演算法題:判斷迴文連結串列。要求空間複雜度O(1),時間複雜度O(n)

三面是我收穫最大的一面,從面試官那裡學到了很多app開發的知識。面試官也指出了我現在學習android開發的一些問題,並且給了我相應的建議,真的非常感謝面試官。

總結

總的來說,我的位元組面經並不是很具有代表性。大家也能看到,我的演算法題都非常簡單,我想這也許是因為我的專案比較多,相應地面試官就不會用演算法去為難我。有些問題看起來很難,甚至很多面經都沒有提到過,其實這些東西只要大家多寫一些app,多總結多歸納,就會有一個比較基本的認知了。



作者:Android開發架構師
連結:https://www.jianshu.com/p/2e36bec4d350
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。

相關文章