阿里巴巴面經記分享

why發表於1970-01-01

本文只對面試過程分享,至於簡歷編寫、具體重點知識複習等不做討論

一、面試情況

筆者一共經歷了4輪面試,其中:

  • 一面(電話技術面)
  • 二面(電話技術面)
  • 三面(視訊技術面)
  • 四面 (技術總監+HR交叉視訊面)

阿里的流程相對而言較慢,需要足夠的耐心才行!

二、面試題

部分已經遺忘,請諒解!

一面

  1. 講一下你最有印象的專案(代表性),過程中會穿插一些子問題;
  2. java wait api: 在main函式中 呼叫string.wait()會出現什麼情況,為什麼?
  3. java nio知識
  4. linux條件變數
  5. 作業系統相關命令是否熟悉,程式間管道通訊
  6. http GET POST DELETE 方法含義,PUTPOST區別(冪等 | 非冪等)
  7. 網路層協議:tcp&
    udp
    https 握手過程? 如何防攻擊的
  8. 演算法:堆排序實現、兩個超大檔案求交集
  9. 手機來電顯示的推銷黑名單是如何實現的?

二面

  1. 根據簡歷上做過的專案發問。 e.g: 為什麼要自定義實現ImageLoaderLruCache 實現原理;LinkeHashMap 是如何保證有序的?Bitmap#recycle到底釋放了啥? Handler原理,Looper#loop之後,訊息是如何插入到訊息佇列的?
  2. 元件化解耦 如何實現的?
  3. 程式保活機制,談了下 Jobscheduler 。根據現有的方案如何更加優雅實現保活(不流氓)
  4. 長連線這塊有積累嗎?
  5. 網路庫是如何封裝的,實現了哪些功能
  6. Http快取,實際專案中用到的快取策略
  7. 記憶體洩漏,java 幾種引用方式,jvm 記憶體模型,java堆和java棧的區別,程式計數器有多少個?
  8. 程式間通訊?Android為什麼用Binder
  9. 美團的walle實現原理
  10. Arouter原理
  11. Tinker熱修復,為什麼選擇Tinker, 熱修復基礎原理
  12. Activity Window View 三者之間關係
  13. EventBus 原理
  14. 混合式開發,jsjava互調 ,瞭解哪些混合式開發框架,RN的優缺點

三面

重點挖掘所做專案本身,這裡就不一一列舉了

  1. 對所做專案深入挖掘進行提問 e.g jenkins
  2. 熱修復原理:類載入方案、底層替換方案、Instant Run方案
  3. 新技術、新動態的瞭解情況
  4. 一致性hash演算法原理
  5. 資料結構:動態規劃 實現整數序列的最大連續子序列問題
  6. 團隊的一個情況介紹,組內 意見不一致,如何解決的?

四面

  1. 總監:也會考察專案本身、溝通能力、解決問題能力
  2. HR面:(不過多闡述)

以上的一些面試題,僅供參考,每個人情況不同,所問的肯定也不一樣!!!

三、總結

面試前的準備

  • 縱向深入、橫向擴充。除了Android專業方向外,時下的熱門技術(e.g 混合式跨平臺框架 ….)也需要關注、學習,保持一個擁抱變化,客觀看待、接納的心態;計算機原理、網路,作業系統也需要關注,這些基礎學科還是很重要的,關於這點很多人持有不同看法,這裡筆者搬運一個小馬哥演講視訊 ,詳細戳我
  • 拋棄掉一口吃成大胖子的思想。部分面試者想盡可能多的把一些知識點複習完,其實這不太可能實現,所以心態要擺正!
  • 簡歷上的專案需要重點關注
  • 模擬面試,可以找一些信得過的小夥伴進行一次“演練”;視個人情況而定
  • 小試牛刀。大部分面試者都會找一些小公司“練練手”找找感覺,然後再去自己心儀那家面試。司空見慣,值得一試!

面試後的體會

  • 心態很重要,偶爾緊張怎麼辦?正常現象,即使面試失敗,就當作一次學習的經歷罷了!
  • 不要輕易說“不知道”(前提:一知半解的問題)。儘可能把你所瞭解的表述出來,有些面試官可能會引導你去思考。實在不懂得就主動去請教
  • 儘可能的主動,除了回答好問題本身,也可以適當對知識面進行擴充
  • 適當表達出你想加入貴公司的意願

鄙人的一些挫見,如有不到之處,望道友海涵

來源:https://juejin.im/post/5c3ca21df265da615304fb8f

相關文章