背景
嘮叨一下:先講一下我的職業生涯哈,不想看的可以直接到最后一段,我是普通二本出身,一直飄在北京,先是做web網站開發,后轉到了Android移動端,也沒有什么好運氣,就靠一點小機智,得過且過混到16年初,靠著移動互聯網大浪把我推到了一家二線互聯網企業,在這里才算真正重構了自己,感謝當時遇到的同事,以及有可以和公司一起成長的機會,先后經歷了完整的插件化和RN重度封裝,知道了虛擬機和Android原始碼的重要,并開始積累,
18年初,由于公司內部重大調整,動蕩不安,再加上自覺jvm和framework很溜了,于是開始看機會,寒冬初期也還算是順利吧,進了一家普通的一線,可是沒想到真正的大廠彎彎繞這么多,激烈,效率如此之低,不是嫡系,你不僅少有升職加薪的機會,連好的專案都拿不到,這個時候迷茫了,大廠也算進來了,結果卻如此令人失望,

還得多寫一些博主們的文章對我進行引導,這時才明白了一點,知識特別是你本專業的知識,才是安身立命之本,是你最好最快的賺錢方法,讀了多少年的書中自有黃金屋,這刻才算真正領悟吧,于是用三個月逐漸修補自己最后的短板:開源庫和演算法,程序中,逐漸拿各細分行業的小獨角獸練手,最后一次就搞定了位元組,很順利,以上就是我的嘮叨和感慨,進入位元組對于很多985研究生畢業的人來說,是件不太難的事情,可是對于普通人來說,還是個夢想,所以我稍微記錄一下心路歷程,給別人以參考,
位元組面經程序

一面(40min):
a. 執行緒池的底層原理
b. 四種參考型別
c. JAVA GC d. Sychornized關鍵字
e. 靜態同步函式
f. 可不可以呼叫Abstrut 父類的super方法
g. HTTP協議中POST,GET 的區別
h. TCP/IP協議堆疊 i. TCP和UDP的區別
j. 三次握手是什么?可以兩次握手么
k. 行程和執行緒的區別
l. 手寫ViewGroup樹結構遍歷
第一次面試稍微有些緊張,但總體來說發揮還是OK的
二面(1h):
a. ArrayList / LinkedList的區別
b. HashMap的底層實作原理
c. 兩個執行緒分別呼叫同一個類的實體函式和類函式
d. 什么是可見性?舉例場景
e. volatile關鍵字的意義
f.Class物件
g. 執行緒結束的方法:Interrupt之后需要做什么
h. Android Activity切換生命周期
i. Activity保存狀態的函式
j. 子執行緒對UI的操作方法
k. 如何在應用程式遠程呼叫中表明用戶身份
l. 單例模式、建造者模式、中介模式
m. 手寫中位數查找演算法
中規中矩,就是Activity回答的不是很好
三面(50min):
a. 聊聊專案
b. Handler和Looper的底層結構
c. postRunnable方法的底層實作
d. Thread Run和Start的底層呼叫區別(是否中斷陷入)
e. BroadCast的使用方法
f. Intent的使用方法
g. Intent-Filter
h. 手寫外部排序
由于之前還有做過一些專案,這關單純就是我的加分專案了
上面就是我大致的一個面試程序,能記得的面試內容就這些了,其實面試中問道的還是有很多,問的都比較全面,主要都是從自己簡歷上填寫的專案經歷問過去的,順著還延伸的問了一些,我知道面試官主要是想要考考我的技術水平,還好面試前自己有進行知識點梳理,中間只是出現了一點點小失誤,是自己對那些知識點掌握的不夠,但沒有對我的面試結果收到太多的影響,最后還是把Offer拿到了手,
所以大家在面試前先要對自己的簡歷進謹慎的填寫,并且要對自己填寫的專案經歷有較深的了解,這樣面試官通過你的專案經歷進行提問時,你可以順利的答出,還有就是你在面試前可以去網上去收集一些往年常見面試題進行刷,也是防止面試過問些常見問題,這如果你沒答上來就有點可惜了,因為常見面試問題一般在網上都是有參考答案,所以通過這些參考答案進行自我優化理解,等到做答時能夠更好的順口答出,
最后
我在面試前期做了一些面試準備,通過在網上收集和自己多年經驗整理了一些 Android 開發相關的學習檔案、面試題、Android 核心筆記等進行了復習,這次面試中被問到的一些題,有部分我都有在這些學習檔案中刷到,所以特此份享給大家參考學習,希望能幫助到大家學習提升,如有需要參考的可以直接去我 CodeChina地址:https://codechina.csdn.net/u012165769/Android-T3 訪問查閱,



轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/289899.html
標籤:其他
