作者:假夢
前言
筆者在三月低從上家公司進行了裸辭,因為在上家公司呆了差不多四年,一直感覺自己在這家公司沒有太的提升空間,于是就像這利用今年金三銀四面試旺季進行一次沖刺,在家休整一個星期以后,開始投簡歷面試,大大小小的公司投了不下20家,這次要與大家進行分享的一段是我在 阿里 釘釘 的面試經歷,
從最初的月薪 23K 漲到了年薪65W,真像做夢一樣……

阿里巴巴 – 釘釘部門
阿里釘釘一面(面試時長80min)
- 自我介紹,對自己專案的介紹,架構圖呈現
- 因為說自己以后的發展方向是音視頻,所以問了我用過哪些現有框架
- 專案中的一些優化問題,MVC -> MVP,Handler的記憶體泄漏情況分析等,對MVP和MVVM的理解,
- 專案中的第三方庫選擇的問題,因為簡歷中寫了我對第三方庫選擇的問題,比如選ObjectBox和greenDao的問題,圖片加載框架問題
- HashMap和HashTable,引申ConCurrentHashmap的深入,version1.7和1,8的區別,以及高并發下HashMap發生的問題
- 四大啟動模式,以及場景對應
- Handler的機制介紹,不存在訊息時的IdleHandler的運作機制,為什么不能在子執行緒初始化問題
- 設計模式中的單例介紹,使用場景(Okhttp的Seesion存盤等等),在線撰寫
- 快排演算法
- OkHttp的原始碼分析,及整體架構的流程圖繪制
- 四大組件的完整介紹,及深入,答了IntentService、LocalBroadcast
- 四大參考的問題和MVP框架相結合進行回答
- 網路中的回應碼對大體進行回答,具體回答了200、404、500、304等
- View繪制流程問題,如何不使用xml,來實作中間位置的定位
- 事件分發機制流程講解,以及如何實作單擊事件和長按事件的判定
- 關于為什么選用mqtt協議的問題,優勢,原理等等(沒答上來,只說針對性做過測壓,以及oceanlink和mqtt的對比)
阿里釘釘二面(面試時長30min)
- 自我介紹,優缺點的,以及未來希望的發展方向
- 目整體介紹,如何做到分壓啊之類的問題
- 如果給我阿里、騰訊、頭條、谷歌的offer的一個選擇(不摻雜地域性的問題),首先直接否定了google我就的一個企業的商業模式進行分析,
- 我對釘釘這個產品的理解,我的回答是就的是釘釘前身的對標專案微信,已經后期轉型的商業模式作出的分析,最后給出的我的結論是一個企業性質的辦公軟體
- 給出了釘釘一個mac平臺的關于共享螢屏的耗CPU的問題
- 讓我提問,提的是關于音視頻發展方向的問題,具體是一個發展空間,
阿里釘釘三面(面試時長60min,有概率通,要等hr)
- 自我介紹唄,還是一樣,專案介紹,專案的優缺點對比
- 對MVC和MVP的理解,還有Handler的記憶體泄漏問題具體是什么,解決方案知道有什么,空資料的時候Handler的阻塞問題,但是我還是沒在Looper的原始碼中找到,這里讓我好好再看一下,
- 另外為什么使用MVP,他的優勢是什么,記憶體泄漏是什么樣的,
- http的長連接和短連接這兩個概念,怎么去理解,我把它理解為持久化連接是什么,然后對http的3個版本的主要區別做一個介紹
- http一整個流程,什么Baidu.com輸入,經過了什么,比較簡單的問題了,必答內容DNS、TCP的三次握手、四次揮手,當然我再答一些IP路由、鏈路還有物理層的內容
- RecyclerView的一個復用機制,和ListView的一個區別在哪里
- HashMap、ConcurrentHashMap、Hashtable的問題,資料結構,執行緒安全啊之類的問題了,當然還是考了version 1.7和1.8,
- 一個app的啟動流程,冷啟動和熱啟動,我說底層我不太了解,只知道會有AMS去調一些東西,但是具體內容不知道,后面就是一些初始化和Activitiy生命周期問題了,
- 一到演算法題三值之和求目標值,沒寫暴力,因為大家都會寫,但是浪費了很多時間,剛開始是通過二值求和的方式,但是想做成O(n),其實不太可能,后面改成了O(n^2)
其實面試中問的問題遠遠不止這些,但我只記得這些了,
這次面試能夠順利通過,還是多虧了之前在網上收集整理 Android 核心知識點與一些往年的Android 面試題,面試中問道的一些題,大多里面都有進行記錄到,下面我就將那些學習檔案進行分享給大家進行參考學習,如果需要的話可以點擊 GitHub地址:https://github.com/733gh/Android-T3 參考學習,
喜歡本文的話,不妨順手給我點個小贊、評論區留言或者轉發支持一下唄😜😜😜~
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/281228.html
標籤:其他


