7年了我失去了在騰訊7年的工做。雖然有事先通風,可是我沒有想到這一天會來的那麼快。今天中午收到消息說咱們這個組要被砍掉,由於公司要準備解散了,首先拿咱們開刀,也就是裁員,下午接着就進行談話,談了賠償等相關事宜,而後就準備交接工做,忙了一下午。我人生第一次經歷公司解散的,這個經歷有點奇妙,還覺得我會炒老闆魷魚,沒想到居然是老闆先炒了我魷魚。java
經過內推得到了面試字節跳動的機會,字節跳動應該你們比較熟了,不過多介紹。抖音創做工具部門,主要是負責抖音內的拍攝、視頻編輯、發佈整個流程,是 app 內的核心業務之一。前不久,嗯被優化了部門在杭州開設了 Office,因而我抱着試試看的內心竟然經過了!
職位描述
1 、負責負責字節跳動互娛的 Android 手機軟件的開發及設計,包括但不限於抖音等產品的研發;
2 、根據產品的需求進行 Android 產品的開發,對相關模塊作重構和優化;
3 、對 Android 平臺開發技術進行研究,定位和解決一些技術上的疑難問題;
4 、根據項目需求進行學習並快速掌握技巧,有良好的溝通力和協做能力增強團隊的建設。android
職位要求
1 、本科及以上計算機相關專業畢業,至少兩年以上 Android 開發經驗;
2 、熟練掌握 git,熟練掌握 android studio 開發工具及各類性能調優;
3 、熟悉 Android 平臺的開發技術,如 UI,網絡,性能和內存優化等;
4 、熟悉面向對象設計,代碼風格良好;
5 、有必定的承壓能力,良好的團隊合做意識;
6 、有大型互聯網 app 開發經驗優先。git
1. 介紹項目,講述一下實習的工做內容和感想(~10min)github
2. 什麼是內存泄漏,Android裏有哪些內存泄漏的場景,緣由是什麼面試
3. JVM的GC過程,GC的算法都有哪些算法
4. 進程和線程的概念,Android裏怎樣實現多線程?(Thread Handler AsyncTask IntentService等等)緩存
5. Handler的原理和使用微信
6. Handler是怎麼和線程綁定的(Looper),爲何Looper.loop()要設計成死循環網絡
7. Java的幾種內部類,區別是什麼多線程
8. Activity的生命週期和啓動模式
9. 寫題:二叉樹的右視圖(層序遍歷便可)
一面比較短,問的問題也比較基礎,大概30分鐘後開始二面
1. 自我介紹
2. 介紹項目,爲何要自學安卓(~5min)
3. Android如何實現多進程,應用場景是什麼(答的很差)
4. Android的IPC機制(Binder)是否瞭解(答的也很差)
5. 如何用兩個隊列(FIFO)實現棧(FILO)
6. HashMap和HashTable區別,HashMap原理和實現,hash()的算法
7. 若是本身設計hash算*怎麼設計,爲何(答的素數取餘)
8. String的hashCode()和Object的hashCode()
7. 虛擬內存和物理內存的概念和關係,內存分頁的調度算法
8. 怎麼實現LRU緩存(參考leetcode T146)
9. 能夠本身寫一個java.lang.Object類嗎,系統會加載哪個
10. Java裏泛型的實現
11. 瞭解常見排序算法嗎,手寫一下快排
12. Java里加鎖的方式,synchornized關鍵字的原理,悲觀鎖和樂觀鎖都有哪些實現
13. 死鎖的條件和解決方法,講講銀行家算法
14. TCP的三次握手四次揮手,爲何要四次揮手
15. TCP的流量控制算法(滑動窗口),擁塞控制算法
16. 怎麼解決用戶高頻點擊打開新Activity致使的多實例問題(Activity啓動模式)
17. 怎麼判斷兩個無環單鏈表是否相交
18. 寫題:leetcode 445
19. 反問
二面問題量很是的大,集中在Java/OS/算法,但並無特別難以回答的問題,認真準備的話大部分都能答出來。面試官也很是友好,給了不少引導和提示。
由於三面面試官的時間問題,約了兩天後的三面
1. 自我介紹
2. 介紹一下實習作的工做,是本身完成的嗎,遇到什麼困難,成果怎麼樣
3. RecyclerView怎麼實現的item緩存,跟ListView有什麼區別(由於項目用到了因此被問了)
4. 寫題:leetcode 1233
5. 設計題:微信的聯繫人列表功能
(1)設計添加聯繫人的API(從可能的方式,數據形式,接口參數方面回答)
(2)怎麼實現聯繫人列表的UI(答的RecyclerView)
(3)怎麼實現A-Z首字母的快速定位功能
6. 是自學的Android嗎,爲何選擇這個方向,有沒有什麼經驗給一樣想自學的學弟學妹
7. 是哪裏人,爲何想到上海來就業
8. 反問
三面的問題很少,不過由於多數問題沒有標準答案,難度其實高於一二面
【Android高級架構師系統學習資料】高級架構師進階必備——設計思想解讀開源框架
【Android高級架構師系統學習資料抖音快手大火必學技能】——NDK 模塊開發
【Android高級架構師系統學習資料】進BATJ大廠必需——架構師築基必備技能
【Android高級架構師系統學習資料】高級架構師Flutter 技能