2020年的春招太難了,不少小夥伴說不知道怎樣才能順利經過面試,明明這些技術性問題本身也清楚,可是每次面試官問到的時候仍是答不上來,再或者說,以前有學過這一類的,或者作過同類型的項目,可是就是很擔憂,不知道大廠到底問的一些什麼問題,今天我就將個人經歷整理出來,供你們參考學習。 碼字不易,但願你們也能點點關注!很是感謝!
一面(1hour):
一、自我介紹
二、項目介紹,技術點相關。
三、C++和Java區別,GC
C++不熟,只能說內存管理相關的問題,因此就問到了GC。而後說分代收集算法。老年代擔保、元數據區從JVM移到了本地內存這些。
四、線程相關,Runnable和Thread的區別。
Thread類是實現了Runnable接口,平時使用起來可使用start方法調用。線程池基本傳Runnable對象,平時也是線程池用的多,因此具體相關不太熟。
五、線程池
六、synchronized,volatile
七、繼承相關,多重繼承和接口
八、網絡編程
九、UPD,TCP區別
十、最大的優勢
十一、最大的缺點
十二、算法,二叉樹中序遍歷,真是早起毀一天,居然沒撕出來,我真想給本身兩耳光。不過面試官給我總結的很好,說要利用棧的特性,先進後出,因此要保證左子樹先進根結點再進,這麼思考以後就順利了不少。
二面(40mins):
一、介紹一下項目
二、Android四大組件,詳細講一下。
三、Launcher啓動APP的全過程。
icon存入口Activity信息
AMS通知Launcher去pause。
Launcher通知AMS已經pause
AMS檢查進程是否已經啓動,若是不啓動則啓動進程。而且調用ActivityThread的main方法。
啓動以後通知AMS已經啓動
而後AMS將入口Activity信息傳遞給APP。
APP啓動對應入口Activity,而且建立對應上下文而且調用Activity的onCreate方法。
四、進程間通訊,AIDL,Binder。扯了一會說進程間通訊平時怎麼作的,就說了一下AIDL相關的Demo實現什麼的。說到了本身程序裏面有拉起微信的這個功能(也就是廣播)。
五、設計模式瞭解嗎,平時用過哪些設計模式。
六、算法題:輸入一個數n,表明有n個點,一個二維數組,二維數組表明相連的點,要求輸出連通起來的點。
若是n=6,數組假設是{{1,2},{2,3},{4,5}},則輸出{{1,2,3},{4,5},{6}}
三面(<30分鐘):
一、自我介紹
二、公司實習期項目
說了RePlugin框架原理,說了ffmpeg動態連接庫開發方面的失敗經歷,說了Android的適配,和最近影響到的AndroidQ相關新特性的適配。
三、本身大學生活中攻克的最難的技術難點。
四、什麼狀況下會壓力特別大,怎麼處理的。
五、職業規劃面試