2018年年底Android悲催的面試之路
年底裁人了,一年半沒準備面試了,之前換也是內推的,在這個寒冬的冬天還經歷此遭,偏偏還趕上要特麼的跟裁人的公司仲裁
心態早已爆炸,大的環境不好,各位且幹且珍惜….
記錄下最近的面試經歷,整理下讓自己不斷進步!
題外話
我不知道一個人人性究竟可以壞到什麼程度,但是我最近親身經歷的確實是這樣,我一個安心想做技術的人跟你TMD HR部門的八竿子打不著,又何苦為難我呢? 之前有個公司的薪酬績效主管,邵X,只因為我在大會上頂撞了她一個問題,一味著揪著我的把柄不放,甚至特麼的為了少給我一個季度的績效不允許提前轉正,真的是壞透了,可能這就是職場,這就是江湖充滿爾虞我詐,現公司就更不用說了,開人都不肯承認,硬要說我是自己走的,說好的N+1,最後居然只給我0.5,還放出了豪言壯語,讓我仲裁,那我也不能慣著啊,這樣的我只能以彼之道還施彼身了,以眼還眼以牙還牙,真的人真是身不由己的,本想與世無爭安心踏實做技術,但是某些人卻看不得你的安寧。。。還是那句話,出來混的遲早要還的,望好自為之
右劃
這公司是在拉勾上投的,CEO號稱曾於位元組跳動,任視訊負責人,建立了頭條視訊APP。公司待遇15薪非常不錯,坐落於望京Soho對面的望京融科寫字樓
- 面試過程覺得自己挺失敗的沒有充分準備演算法再加上由於一年半沒有再面試過了,有點手生,好多應該答上來的問題都沒有答好,面試官確實是大牛,沒會的問題也稍微講解了下,不過深度確實蠻深的
- 印象比較深的幾個問題:Lru演算法,Binder機制,EventBus實現原理和為什麼不能跨程序,Handler如何在handleMessage方法攔截之前發出的message,手寫二分法查詢(沒準備直接跪了),後來讓我手寫冒泡,我覺得前面已經沒戲了(大致說了下雙重迴圈然後賦值也沒手寫),跨程序幾種方式,AIDL,handler機制,ThreadLocal實現原理(回答的很模糊,附上正確答案:每個Thread的物件都有一個ThreadLocalMap,當建立一個ThreadLocal的時候,就會將該ThreadLocal物件新增到該Map中,其中鍵就是ThreadLocal,值可以是任意型別。
在該類中,最重要的方法就是兩個:set()和get()方法。當呼叫ThreadLocal的get()方法的時候,會先找到當前執行緒的ThreadLocalMap,然後再找到對應的值。set()方法也是一樣。)系統是如何監聽ANR的(他說是androidframework層有一個單獨的程序),後來問到如何定位和排查我不小心說了blockCanary,他有追問了一下原始碼和原理我回答的也不是很好(應用發生卡頓,一定是在dispatchMessage中執行了耗時操作。我們通過給主執行緒的Looper設定一個Printer,打點統計dispatchMessage方法執行的時間,如果超出閥值,表示發生卡頓,則dump出各種資訊,提供開發者分析效能瓶頸。)
最後知道今天一定掛了,不過還是很有收穫的知道自己哪裡不足…
PS:明天去五道口面試鬥魚,希望能好好把握