天天看點

兩年經驗拿下阿裡、頭條offer的面經,大廠面試套路屢試不爽

兩年經驗拿下阿裡、頭條offer的面經,大廠面試套路屢試不爽

筆者2年開發經驗。20年年初先後面了頭條、拼多多和阿裡(淘寶和支付寶),并成功拿到阿裡和頭條兩家的offer。

面試前我主要是在網上看大家的面經進行查漏補缺,是以面試完後也想記錄下來,權當給大家提供點資訊吧。(面試過了一周了,記憶也有點混亂,争取想到多少就記下來多少)。

順便提一下面試體驗:頭條 > 阿裡 > pdd拼多多最垃圾的面試體驗,沒有之一。我約的視訊面,結果面試官說有事給我打電話面,然後給我一個文檔,是一個算法。我在寫算法的時候沒察覺到電話信号不好斷掉了。然後我回撥過去,面試官來了一句:你不要故意挂斷電話去查答案。我%@#¥@#%@5,保持微笑解釋信号不好。後來為了信号好一點我去陽台面試,凍的瑟瑟發抖,這個時候心态已經炸了,又冷又緊張,算法題有思路但是一直被這個人否定,最後挂了。

頭條

最開始面的頭條遊戲中台,當時是第一次面試,沒有經驗,導緻算法題雖然有思路,但是沒有寫出最優解,直接挂了。後來又被撈起來,因為此時已有阿裡的offer,是以膽子也大起來了,收拾心情開始面頭條。

頭條的面試特點基本就是一個套路:【自我介紹】->【項目介紹】->【手撕算法】->【基礎知識】,屢試不爽。

  • 自我介紹:我是xxx,來自xxx,畢業後在xxx幾年,期間負責xxx。
  • 項目介紹:xxxxx。項目的時候面試官會問你難點和解決方案,同時會給你提出場景,問你更優化的思路。
  • 手撕算法:多刷題,也可以看看别人面過的算法題,可能會重複。
  • 基礎知識:針對履歷寫的東西問,我被問的較多的是一些中間價,Redis、MySQL、Kafka、ElasticSearch。

一面

  1. Two Sum
  2. 給定m個不重複的字元 [a, b, c, d],以及一個長度為n的字元串tbcacbdata,問能否在這個字元串中找到一個長度為m的連續子串,使得這個子 串剛好由上面m個字元組成,順序無所謂,傳回任意滿足條件的一個子 串的起始位置,未找到傳回-1。比如上面這個例子,acbd,3。給定m個可能重複的字元[a, b, d, d]呢?
  3. 提供一個整型數組以及一個整數s,如果該數組中存在n個連續元素,且元素相加之和大于等于s,則傳回滿足該條件的連續元素的最小長度;否則傳回0
  4. MySQL叢集。假如叢集出現延遲怎麼處理。
  5. Redis的zset實作延時任務
  6. 設計題:如何設計tiny url
  7. 為什麼要四次揮手
  8. HTTPS

第二天收到hr小姐姐的電話,約了面試時間。

二面

  1. 自我介紹
  2. 項目介紹
  3. K Group反轉連結清單。寫了棧和疊代兩種實作方式,連結清單的題寫起來真痛苦,很容易邊界出錯。
  4. Redis的持久化機制
  5. MySQL的隔離級别
  6. MySQL索引,聚簇索引和二級索引
  7. Redis高可用方案
  8. 介紹一些Kafka的一些概念
  9. Kafka如何保證消息有序

    ...忘了

過了一天又收到hr小姐姐的電話,開心。

三面

  1. 第K大的數
  2. 設計題:秒殺系統
  3. MySql的索引優化

三面完了正好是周五,忐忑的等到了周一,以為挂了。結果下午收到hr加微信,約了hr面。

hr面

  1. 為啥離職,怎麼想的
  2. 介紹項目
  3. 怎麼和團隊的人溝通,和成員出現沖突時怎麼解決。
  4. 期望薪資,你現在的薪資

三個工作日收到了offer,頭條面試體驗還是很棒的。

找朋友内推的螞蟻金融核心,結果第二天就被拒了,杭州淘寶給我來電話,說我被撈起來了。确認了一下,确實如此,那就面吧。

阿裡

還是很想去阿裡的,是以也很忐忑,淘寶一共經曆了4輪技術+1輪筆試+hr面,流程很長,面的我壓力山大。阿裡的面試特點:【自我介紹】->【項目介紹】->【場景解決】->【基礎知識】,阿裡面試除了基礎以外,也很看重候選人的解決問題的思維。還是需要候選人有點積累的,假如你寫的項目不是自己的,很容易就被問出來。

  1. 項目難度介紹
  2. 如何實作延時任務
  3. 如何實作限流
  4. 線程池的參數
  5. 能不能自己實作一個java.lang.String并加載
  6. Redis為什麼這麼快
  7. epoll和poll的差別
  8. 程序同步的方式
  1. MySQL的索引機制
  2. 如何自己實作記憶體配置設定和管理?不太懂,然後說了jvm的垃圾回收機制
  3. 你們公司内部的RPC架構,介紹一下
  4. Redis的key過期政策
  5. 緩存穿透和緩存雪崩
  6. 分布式鎖
  7. 如何實作全局的id生成政策
  8. 悲觀鎖和樂觀鎖
  9. 紅黑樹了解麼
  1. 如何實作群消息已讀
  2. 消息推送如何保證不重複
  3. Kafka如何保證消息的可靠性
  4. RPC是什麼,和http調用有什麼差別
  5. 說一說你項目的架構
  6. GC
  7. MySQL的索引原理,給了一個場景,如何優化

面完3面後居然又來了一個筆試題

筆試

  1. producer-consumer
  2. 兩線程交替列印
  3. 多線程模拟100分錢随機分給20個人,每個人最少配置設定到2分錢

四面

  1. 寫個producer-consumer吧,我說上次寫過了。。傻了。。不該說的,然後面試官換了一道題,還好比較簡單,寫個二分查找,2分鐘寫完完事。
  2. 項目難點
  3. MVCC
  4. ElasticSearch的查詢過程
  5. Kafka如何保證高可用
  6. Reids的叢集和選主
  7. 知道什麼分布式一緻性算法
  8. 如何實作定時關單

HR面

阿裡的hr面真是讓我難忘。

  1. 說說看,假如你是部門技術經理,線上商戶資料丢失怎麼辦
  2. 怎麼将一個産品推薦給其他的團隊,怎麼界定邊界
  3. 怎麼樣協調關系

    (我才2年啊喂,到這裡我已經快冒汗了,生怕最後一關斃掉了)

  4. 你和同僚相處的情況怎麼樣,說說你幫助同僚的一次經曆
  5. 薪資

阿裡的面試流程很長,而且一個部門挂了以後,會被另一個部門撈起來,不停的面。總之來說,阿裡的面試體驗也還不錯,就是經常被放鴿子。支付寶的面試經驗其實也大同小異,我就不貼了。