前言
這次去騰訊面試的是我大學同學,我們大學都是一學習,一起吃飯,一起洗腳,一起。。。
他們公司最近也裁員了,不過他是裁員前去的騰訊,不知道誰撈到他簡歷了,莫名就走了流程,他莫名的就面了6輪過了。
他想著行情這么不好,要不就去了,去了之后,他們公司就裁員了。。。
總之今年大環境真的很差,大家都時刻做好準備。
一面
1.自我介紹
2.應用啟動流程,activity 啟動流程,為什么要每個應用有一個自己的虛擬機,這個虛擬機和JVM的關系。
3.hashmap的基本原理
4.來說一說,在5.0以上和4.0加載dex時的方式有什么區別?
5.說一下你了解的Android虛擬機有哪些?
6.這兩個虛擬機有什么區別嗎?(上題說了ART虛擬機,dalvik虛擬機)
7.Handler持有Activity的引用會造成內存泄漏,那么如何避免?
8.ANR 的原理說一說
9.三次握手,四次揮手簡單說下
10.okHttp的原理了解嗎?使用時是如何對它封裝的?
11.http和https什么區別?
12.算法題:雙鏈表反轉
二面
1.Acitivty的四種啟動模式與特點。
2.廣播使用的方式和場景以及廣播的幾種分類。
3.FrameLayout 、 LinearLayout 、 RelativeLayout 各自特點及繪制效率對比。
4.Android中的MVC、MVP模式。
5.App的啟動過程。
6.Android怎么加速啟動Activity。
7.Bitmap的四種屬性,如何加載大圖(inJustDecodeBounds)。
8.Touch事件分發機制和沖突處理。
9.Android IPC:Binder原理。
10.Class文件結構(常量池)。
11.Java內存模型結構(主內存和工作內存)及操作,原子性可見性和有序性等。
12.啟動線程和安全的終止線程。(interrupt)
13.TCP可靠傳輸原理實現(滑動窗口)。
14.Cookie與Session的作用和原理。
15.Https加密原理。
三面
1、TCP/UDP的區別,有看過具體報文的信息嗎
2、你覺得開發一個SDK,需要注意哪些地方,有沒有做過SDK性能測試
3、有了解過音視頻的編解碼嗎
4、開放題:讓你加載一個200M左右的GIF,如何實現及優化,不可降低畫質
5、反問環節
HR面的話就不列舉啦,就是一貫的聊一些職業規劃,了解一下你的性格特點之類的。
最后
我見過很多技術leader在面試的時候,遇到處于迷茫期的大齡程序員,比面試官年齡都大。這些人有一些共同特征:可能工作了7、8年,還是每天重復給業務部門寫代碼,工作內容的重復性比較高,沒有什么技術含量的工作。問到這些人的職業規劃時,他們也沒有太多想法。
其實30歲到40歲是一個人職業發展的黃金階段,一定要在業務范圍內的擴張,技術廣度和深度提升上有自己的計劃,才有助于在職業發展上有持續的發展路徑,而不至于停滯不前。
不斷奔跑,你就知道學習的意義所在!
以上進階BATJ大廠學習資料可以免費分享給大家,需要完整版的朋友,【點這里可以看到全部內容】。
友,【點這里可以看到全部內容】。**