来一份全面的面试宝典练练手,面试真题解析
前言
下面的題目都是大家在面試字節跳動或者其它大廠面試時經常遇到的,如果大家有好的題目或者好的見解歡迎分享。
參考解析:郭霖、鴻洋
內容特點:條理清晰,含圖像化表示更加易懂。
內容概要:包括 Handler、Activity相關、Fragment、service、布局優化、AsyncTask相關、Android 事件分發機制、 Binder、Android 高級必備 :AMS,WMS,PMS、Glide、 Android 組件化與插件化等面試題和技術棧!
接下來我們針對字節跳動Android中高級面試展開的完整面試題
獻上面經~
一面:
0.自我介紹完 , 說說項目 , 從第一個到最后一個;
1.問了常用布局有哪幾種;
2.Activity生命周期有哪些 , 具體什么情況下回調;
3.問了進程間通信 , Binder、管道、socket等;
4.問了View事件的傳遞 , activity-window-decorview-view;
5.事件怎么從手指傳遞到activity的;
6.LongClick和OnClick分別怎么觸發的;
7.說說Java類加載器 , Android有哪些類加載器 , android頂級類加載器是什么;
8.怎么自己加載一個類 , 不讓父加載器去加載 , 自己load的話 , 怎么解決其它類加載器的引用;
9.說說內存優化(內存泄漏、大對象優化等) ;
10.說說openGL(舉了一個實例 , 做一個畫中畫);
11.說說netty(之前項目提到過) , 基于什么線程模型 , 為什么能承載高并發;
12.說說你最擅長什么(說了x86項目移植 , 算法優化);
13.寫一個排序算法 , 時間復雜度多少 , 怎么優化(寫了歸并 , 說了加希爾) ;
14.寫一個常用的動畫。
二面:
1、自我介紹?
2、很大數組中找第K大元素?
3、項目相關?
4、比較擅長什么語言?腳本性語言?
5、三次握手?
6、UDP數據包長度多少?
7、研究經歷?
8、最近看的書?
9、對Linux環境的了解?
10、進程的狀態有幾種?
11、你覺得你優勢的地方?
12、平時學習開發過程中遇到什么困難?
13、發表了幾篇論文?
14、進程和線程的區別?線程池?
15、多線程要注意什么問題?
16、有什么想問的?
三面:
1、項目?項目難點?花了多久時間?
2、有了解哪些最短路算法?如果速度不夠,你要怎么優化?
3、最近在看哪些書?
4、平時關注哪些技術?
5、進程與線程的理解?什么時候用進程什么時候用線程?
8、說一下平時的一些學習習慣?
9、團隊溝通能力?
10、遇到的最困難的事情?
11、你有什么優勢?有什么缺點?
13、對于OFFER怎么選擇?考慮哪些因素?
14、有什么想問的?
最后
我見過很多技術leader在面試的時候,遇到處于迷茫期的大齡程序員,比面試官年齡都大。這些人有一些共同特征:可能工作了7、8年,還是每天重復給業務部門寫代碼,工作內容的重復性比較高,沒有什么技術含量的工作。問到這些人的職業規劃時,他們也沒有太多想法。
其實30歲到40歲是一個人職業發展的黃金階段,一定要在業務范圍內的擴張,技術廣度和深度提升上有自己的計劃,才有助于在職業發展上有持續的發展路徑,而不至于停滯不前。
不斷奔跑,你就知道學習的意義所在!
以上進階BATJ大廠學習資料可以免費分享給大家,需要完整版的朋友,【點這里可以看到全部內容】。
總結
以上是生活随笔為你收集整理的来一份全面的面试宝典练练手,面试真题解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 英雄联盟新赛季的排位重置和季前赛的排位有
- 下一篇: 北京雾霾的主要成因是什么? 财富值