Android面試覆盤;抖音離職後拿到探探和快陪練offer


Android面試覆盤;抖音離職後拿到探探和快陪練offer


前言

我這篇文章並不是簡單的描述一些面試中的題,或者總結一些Android的知識,而是想記錄我整個的想法和準備的過程,以及一些心得體會,讓大家更加全面的去看待工作、跳槽和生活(從我的角度,當然肯定有不合理的地方,大家借鑑就好)

抖音兩年

在字節跳動的兩年時間中見證了抖音從百萬日活到2.5億、團隊從10人到100多人的過程,技術上不同時期的選型以及迭代、沉澱和更替。項目上經歷了一個工程到模塊化再到組件化最後插件化,深刻理解項目不同階段和不同體量的時候技術框架的選型。流程上不同階段不同的方案,一直在探索最大的效率的協同開發。產品上從不斷試錯到穩步發展的過程,也就是數據驅動業務的過程。

這次面試了以下幾個公司(不是面試順序): Airbnb、快陪練、探探、猿輔導、趣頭條、脈脈、動動、瓜子二手車、伴魚、最右、BIGO、音娛、快手、小紅書、美菜網、微軟、亞馬遜、Ihandy、餓了嗎、愛奇藝、右劃

全部經歷太長,考慮大家嫌我囉嗦,這篇文章介紹一下快陪練和探探兩家公司的面試經歷,希望對感興趣跳槽的朋友有一個參考;

1. 快陪練

還是先填個人信息表格,其實我不太喜歡這種方式,一上來就是個人的詳細信息,你又沒有給我發offer,我也沒決定要來,而且還沒技術面。不過既然來了就要尊重公司的辦事方式,我只簡單寫了一下我覺得可以告訴公司的個人信息。然後做了一份筆試題,一道算法和一些網絡方面的知識,不難。 快陪練整體的環境並不是很好,環境很嘈雜,而且我是在門口面試的,很亂。

一面

  1. MVC、MVP和MVVM的原理和區別
  2. 設計的六大基礎原則
  3. 使用UML畫一下訪問者設計模

二面

  1. 先聊了聊為什麼離開現在公司,畢竟現在這麼火
  2. 我做的項目中的一些解決方案,組件化、字節碼注入、包體積的極致優化
  3. 直播的架構設計

三面

  1. 設計一個上傳日誌的大小,涉及到,性能、文件大小、怎樣壓縮、時機、TopK問題等
  2. 聊了聊在字節跳動做的事情


總結

是一家創業公司,給的薪資還是挺不錯的,但是由於是996,沒有加班工資,多出來的錢可能就是加班工資吧,後面聽hr說公司正在打算取消996




2. 探探

是通過脈脈上網紅馬映怡推薦的,馬映怡之前在字節跳動,今年4月份到了探探,在脈脈找到了我,正好我有出去看看的意向,就約了時間去面試,探探的辦公環境還是比較好的。

一面

  1. OpenGL一些知識,頂點著色器、片元著色器的工作原理,什麼是VBO(這個沒想起來),以及shader的一些簡單問題
  2. View的事件傳遞機制
  3. 包體積優化
  4. JVM相關知識,Dalvik和ART的區別
  5. 組件化的實現方案
  6. 算法題,ViewGroup的層級深度,轉換為二叉樹的層級深度


二面

二面面試官,比較注重思維,我理解為聰不聰明的意思,有點腦筋急轉彎的意思,要求的最簡單有效的方法。

  1. RecyclerView防止內存OOM的一道題,充分利用自身的緩存機制,可能我始終沒理解問題所在,雖然給出解決方案,但是面試官不滿意,太繁瑣
  2. 討論LRUcache的實現和時間複雜度

三面

cto面試

  1. 聊了一下抖音發展的過程中我的角色,做過什麼事情,有什麼收益
  2. 在華為的一些經歷,為什麼離開華為
  3. 聊了一到算法題,查找兩個字符串的交集和字符串1中有字符串2中沒有的問題。

四面(不是一天)

這次主要是聊一下我將要做的工作,以及讓其他面試官再次瞭解一下我,因為評級比較高,所以需要謹慎點。

總結

整體來說探探發展還是不錯,尤其近兩年要上市,環境也不錯,管三餐,加班不嚴重,雙休,工資也給力,但是也是由於近兩年要上市,所以要做的東西還是比較多和急,需要你有一定的能力。

我去面試的所有公司問到的題目基本上全都包含在這些面試題裡。對於要找工作的朋友們來說很值得短期快速突擊一下。需要的朋友可以在私信我關鍵詞【面試資料】,後臺設置了自動發送共享。


Android面試覆盤;抖音離職後拿到探探和快陪練offer


這些面試題是今年去Airbnb、快手、小紅書、猿輔導等15家公司面試後整理的面試題,還借鑑了網友去百度、小米、樂視、美團、58、獵豹、360、新浪、搜狐等一線互聯網公司面試被問到的題目。並且大多數都整理了答案,熟悉這些知識點會大大增加通過前兩輪技術面試的幾率。


為什麼要跳槽

為什麼要跳槽,這個問題一定要思考清楚,因為跳槽的成本其實是挺大的,在一家公司積累的不僅僅是人脈還有對當前行業以及業務的熟悉度,新進入一家公司,一切需要從頭再來,需要快速的證明自己,尤其是技術人員,還有就是對新環境和代碼的熟悉,這些都是成本,所以在跳槽前,一定要想好,為什麼要跳槽。其實馬爸爸有一句經典的話“要麼錢沒給到位,要麼心委屈了”,說的很形象,我這裡再細說一下:

  1. 錢沒給到位,其實所有的人對自己的評價都是比自己真實的水平要高一些,這就導致,大部分人認為自己現在貢獻很大,老闆應該加薪,尤其是看到一些同事做的不如自己(可能是自己認為),工資拿的和自己一樣,甚至比自己高,那就更加有錢給的少了的感覺。
  2. 做的事情是否有價值或者說是否有持續盈利的趨勢,這個很重要,一個公司的產品不盈利沒前景,就算給你開不錯的工資,作為一個不想混吃等死的人來說,都不想繼續再待下去。
  3. 機會,作為一個已經有3年工作經驗的人來說,這個時候更加需要的是一個機會,能夠證明自己,給公司帶來更大的價值,完成進一步的突破,如果當前的公司並不能給你這個機會,那麼你就需要考慮跳槽了。

那麼跳槽的核心就是利益最大化,當然這裡說的利益,不僅僅是薪資福利,還有自己的職業規劃。

職業規劃

作為技術人員,我大概總結了下面三個方向,其實哪個方向都是大有可為,關鍵還是要看自己。

  1. 技術經理
  2. 架構師
  3. 專項領域的專家
Android面試覆盤;抖音離職後拿到探探和快陪練offer

薪資福利

作為一個不再年輕的程序員來說,已經不能忽略薪資和福利,不再像剛畢業的同學,只要能成長、只要平臺好,薪資什麼的不重要。其實每個階段都有自己的側重點,我大概對薪資、平臺、成長排了個序(自己的觀點)

  1. 1~3年,平臺>=成長>薪資
  2. 3~5年,平臺>=薪資>=成長
  3. 5~10年,平臺=薪資>成長(這個階段也可叫做規劃)

上面是自己不成熟的看法,從自身的一些經驗出發的,僅供參考。


分享到:


相關文章: