獲得BAT技術專家Offer,他到底做了什麼?

本文我們通過一篇真實的一線面經,帶大家去體驗一下 BAT 等互聯網公司的面試現場氛圍!面試者是筆者以前的下屬,多年的好朋友。這是他去年早些時候出去面試,拿到 BAT 等多家一線互聯網公司技術專家 Offer 的面試經歷。

本文我們通過一篇真實的一線面經,帶大家去體驗一下 BAT 等互聯網公司的面試現場氛圍!

面試者是筆者以前的下屬,多年的好朋友。這是他去年早些時候出去面試,拿到 BAT 等多家一線互聯網公司技術專家 Offer 的面試經歷。

先介紹一下這位朋友的個人經歷:

  • 本科畢業,接近 10 年工作經驗。跳槽之前,在國內某大型互聯網公司裏帶一個 8 人左右的技術團隊。
  • .由於公司業務發展較爲平緩,所以職業上升機會較少。
  • 朋友對其負責的系統架構和技術已經非常熟悉,薪資上也較難有大幅度的增長,至於晉升更高的級別,短期內也不容易。

    一  一面

    一面是一個獵頭給朋友推的一個職位,BAT 中某一個大廠的某個團隊,具體就不說是哪個部門了。

一面就直接過去當面聊了一次,大概從下午 2 點聊到了下午 4 點多,時間很長,炮火相當猛烈。

一面面試官也是專家職級,上來就是先聊項目,針對項目中的各種細節仔細問,就項目展開,而且極其注重細節。

面試同樣是通過互聯網公司最喜歡的連環炮形式發問。比如在面試過程中,聊到了緩存,連環炮如下。接着,面試官繼續深扣了很多細節。
面試官:

  • Android開發中,可能會造成導致內存泄漏的問題及使用Handler造成內存泄漏的分析和解決?
  • 連接複用 :節省連接建立時間,如開啓 keep-alive。
  • Android客戶端和服務端如何使用Token和Session,使用過程中出現的問題以及解決方案?
  • 線程池。線程池的使用?如何合理配置線程池的大小
  • Java和JS的交互,以及遇到的問題如何解決
  • ContentProvider瞭解多少?
  • Android中提供哪些數據持久存儲的方法?
  • Java中的I/O流讀寫怎麼做?
  • SharePreferences適用情形?使用中需要注意什麼?
  • 瞭解SQLite中的事務處理嗎?是如何做的?
  • 使用SQLite做批量操作有什麼好的方法嗎?
  • 如果現在要刪除SQLite中表的一個字段如何做?
  • 使用SQLite時會有哪些優化操作?
    等等等等,朋友:紙筆翻飛,大腦高度運轉,一個接一個的回答。
    獲得BAT技術專家Offer,他到底做了什麼?
    如上所述,所有問題,全部結合項目,落地到生產中,同時注重聊技術的很多細節,包括技術的一些原理。

簡單總結:

  • 一面其實關注了技術廣度,同時結合項目死扣各種細節。
  • 另外也兼顧了一定的技術深度,會就一個技術往深了問下去
    總體來說,一面還算順利,畢竟都是結合項目來問的,各種細節平時朋友進行架構設計時,都會仔細考慮過。

但是這裏給大家提醒一句,一般某個同學出去面試,回來之後其他人問他面試經驗,一般都是問:都有啥面試題?面試官是怎麼問的?

說實話,大家看了上面那些問題,可能會覺得說,哦,其實我也可以答出來,沒什麼特別的

但其實並不是這樣,如果只是拿高級崗位的 Offer,你的技術會佔很大比重。

但是如果要拿專家崗位的 Offer,你到底有沒有線上真實的高負載的系統架構經驗,非常重要。

同樣的問題,普通人會回答的很普通,但是經歷過真實幾十億流量請求的人一定會說出大量經驗總結、教訓以及踩坑。

而且對整套複雜的大型系統到底是如何抗住高併發的,會了然於胸,熟悉所有的細節。

所以針對一面,一般就是結合項目,深挖細扣,看你到底有多少水平,做過多複雜的系統。

這塊說實話,做過就是做過,沒做過就是沒做過,是不可能作假的。很多同學可能自己平時也看過很多書和博客,但是看書和博客只是基礎,如果沒有真實的線上生產環境的歷練,是肯定不夠的。畢竟實踐出真知!

二 二面

一面就順利通過了,緊接着安排了第二輪面試。二面面試官應該是這個團隊的 Leader,P8 級別的,如果進去,應該就是朋友未來的頂頭上司。

據朋友講,二面面試官態度非常好,很和藹,看來一面面試官反饋之後,這個 Team 對朋友還是比較重視的。

技術深度

二面內容就從廣度變成深度了,面試官技術實力很深厚,應該是有十幾年經驗。對相關技術深挖了很多東西。
比如;

  • Bitmap 使用時候注意什麼?
  • Oom 是否可以try catch ?
  • 適配器模式,裝飾者模式,外觀模式的異同?
  • ANR 如何產生?
  • Jni 用過麼?
  • 多進程場景遇見過麼?
  • 關於handler,在任何地方new handler 都是什麼線程下?
  • glide 使用什麼緩存?
  • 簡述消息機制相關
  • 進程間通信方式?
  • Binder相關?
  • okhttp源碼?
  • RxJava簡介及其源碼解讀?
    面試官聲音略顯慵懶疲憊……我懷疑他是不是面了太多人已經麻木了
    系統設計、工程素養、帶團隊
    同時二面非常重視考察系統設計能力、工程素養、帶團隊的能力。比如面試官就這個部門負責的一塊業務

需要闡述以往自己帶團隊項目的整體設計思路,從哪點出發考慮,存在哪些挑戰以及最後如何完成的

帶團隊,讓朋友說一下,如何招人、面試標準、如何搭建團隊的人才梯度,等等

三 三面:

三道算法題,要求在一個小時之內做完。

  • 翻轉一個單項鍊表 1->2->3->4->5->null =====> 5->4->3->2->1->null

  • string to integer

  • 合併多個單有序鏈表(假設都是遞增的)
    另外,考察了各種軟素質。比如說責任心、抗壓能力、自我驅動,讓朋友舉例說明自己過去的一些事情,來證明軟素質。
    同時還會聊聊職業價值觀,是否願意加班,等等吧。最後也聊了聊朋友的職場期望,包括這個團隊是幹什麼的,未來的發展方向之類的。
    朋友覺得最重要的還是前面兩面,其實這一面,只要人品端正,平時幹活兒認真負責,一般的都沒什麼太大的問題。
    絕對不要裸面!絕對不要裸面!絕對不要裸面!重要的事情說三遍!裸面必敗,而且如果一問三不知,那麼給人的印象就是很差的。
    如果要衝着心儀的大公司去,最起碼精心準備 1 個月以上,大家務必記住這一點,這也是朋友這次的一個重要心得,準備充分了,纔能有備無患
    四 四面:
    總監面,問了一些java 同步相關的。
    HR:聊了一些價值觀的東西,比如之前覺得做過最難的事情是啥,怎麼克服的,當時啥心態。
    還有就是爲啥要離職,沒有發展空間?那當時沒考慮過公司內部 transfer(轉崗)嗎?你的績效平時怎麼樣?你覺得你跟同事相處的怎麼樣?

終面內容,總結起來,其實還是一句話,你人品正就好了,一般都問題不大,老老實實的踏實回答。
總結
我自己面試了一些公司,拿了一些offer,但是還是想去BAT,所以那些offer最終都拒了

結合我的面試經歷與同事們的面試歷程,總結幾點:

  • 有些規模小的公司很注重你是不是全能的,恨不得你什麼都會,又給不起錢,福利待遇很不好,各種避稅措施。
  • 馬爸爸的公司很注重項目經驗是否匹配,往死了問項目,項目簡單的話是很吃虧的,鵝廠希望你是聰明的機靈的,度娘希望你基礎好,熱愛技術;
  • 有些獵頭朋友是非常專業的,不僅給你安排面試流程,還給你提供很多有價值的信息,另外獵頭一般推薦的都是高級職位;
  • 面試真的很看眼緣,很多時候你和面試官一見面,如果你覺得面試官和你氣場不合,那很可能就沒戲了
  • 我認爲一面必須表現的很好,因爲二面的面試官會參考一面的評價,一旦一面評價一般,第一印象就不好了
  • 如果你出身很好,學校認可度高,那你會有優勢,請聯想“好學生犯錯與壞學生犯錯時老師的表現“

最後,可能很多人對自己到底需要學習進階那個方面不是很清晰,我找了一份圖希望可以用得上
獲得BAT技術專家Offer,他到底做了什麼?
獲得BAT技術專家Offer,他到底做了什麼?
想學習更多Android知識,或者獲取以上相關資料請加入Android技術開發交流2羣:862625886。本羣可免費獲取Gradle、RxJava、小程序、Hybrid、移動架構、NDK、React Native、性能優化等技術教程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章