開頭
中國互聯網發展的這些年,如今90后程序員是中國程序員的主力軍,互聯網的熱潮也讓一批批00后蠢蠢欲動,嘗試涌入互聯網圈。
當程序員容易,當一個優秀的程序員需要不斷學習,從初級程序員到高級程序員,從初級架構師到資深架構師,或者走向管理,從技術經理到技術總監,每個階段都需要掌握不同的能力。早早確定自己的職業方向,才能在工作和能力提升中甩開同齡人。
華為四面(3次技術面+HR面)
一面(1hour)
- 自我介紹
- 項目介紹,技術點相關。
- C++和Java區別,GC
- 線程相關,Runnable和Thread的區別。
- 線程池
- synchronized,volatile
- 繼承相關,多重繼承和接口
- 網絡編程
- UPD,TCP區別
- 最大的優點
- 最大的缺點
- 算法,二叉樹中序遍歷,
早上狀態很差,簡單問題也會卡殼,希望大家還是能夠選擇自己狀態好的時間點面試……。
二面(40mins)
- 自我介紹
- camera 硬件有哪些引腳。
- 問渲染管線主要有哪幾個階段?
- Android的數據存儲方式等等。
- 說說mvc模式的原理,它在android中的運用。
- 談談你的工作經歷,聊聊你的職業規劃等。
- 問了一下,java有幾大基礎數據類型。
- 問了Activity啟動的幾種模式,強引用、軟引用、弱引用、虛引用使用。
- 還問了我做過的App上有一個實現的自定義View問了下實現的思路。
- 又問了自定義View,三個不同的構造函數的各自作用。
- 問Scoket和Http最大的區別是什么?
華為面試安排非常緊張,但是反饋效率特別高,一二面結束馬上會短信通知是否通過。然后隔天直接三面,流程走的非常快。
三面(40mins)
- C/C++基礎:inline和define的區別;
- volatile的作用,應用在哪些地方,為什么不是所有的變量都用volatile
- static變量的特點
- 操作系統:線程和進程,怎么實現線程的同步
- 數據結構:對什么排序比較熟悉;二分法查找
- 現場寫程序:一句代碼實現,判斷一個int類型的數是否是2的冪。2進制,位運算a&(a-1)
- 做軟件測試什么能力比較重要?
- 白盒測試和黑盒測試的區別。
- 什么是UT?
- 問了關于規范、擴展、回調,父類的靜態方法能否被子類重寫等問題
- 冒泡排序算法。
- 虛擬機原理、內存回收機制等。
- 說說對華為的了解
- 為什么離職?到華為會不會不習慣?
HR面(20mins)
- 為什么離職
- 有沒有職業規劃
- 對公司未來的展望
- 以前公司的薪資待遇
- 期待的薪資
HR面還好,感覺都是一些常見的問題,沒什么很刁鉆的問題。
總結
Android架構學習進階是一條漫長而艱苦的道路,不能靠一時激情,更不是熬幾天幾夜就能學好的,必須養成平時努力學習的習慣。所以:貴在堅持!
上面分享的字節跳動公司2021年的面試真題解析大全,筆者還把一線互聯網企業主流面試技術要點整理成了視頻和PDF(實際上比預期多花了不少精力),包含知識脈絡 + 諸多細節。
【Android學習PDF+學習視頻+面試文檔+知識點筆記】
【Android高級架構視頻學習資源】
2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)】
【Android高級架構視頻學習資源】
Android部分精講視頻領取學習后更加是如虎添翼!進軍BATJ大廠等(備戰)!現在都說互聯網寒冬,其實無非就是你上錯了車,且穿的少(技能),要是你上對車,自身技術能力夠強,公司換掉的代價大,怎么可能會被裁掉,都是淘汰末端的業務Curd而已!現如今市場上初級程序員泛濫,這套教程針對Android開發工程師1-6年的人員、正處于瓶頸期,想要年后突破自己漲薪的,進階Android中高級、架構師對你更是如魚得水,趕快領取吧!