
筆者2年開發經驗。20年年初先後面了頭條、拼多多和阿裡(淘寶和支付寶),并成功拿到阿裡和頭條兩家的offer。
面試前我主要是在網上看大家的面經進行查漏補缺,是以面試完後也想記錄下來,權當給大家提供點資訊吧。(面試過了一周了,記憶也有點混亂,争取想到多少就記下來多少)。
順便提一下面試體驗:頭條 > 阿裡 > pdd拼多多最垃圾的面試體驗,沒有之一。我約的視訊面,結果面試官說有事給我打電話面,然後給我一個文檔,是一個算法。我在寫算法的時候沒察覺到電話信号不好斷掉了。然後我回撥過去,面試官來了一句:你不要故意挂斷電話去查答案。我%@#¥@#%@5,保持微笑解釋信号不好。後來為了信号好一點我去陽台面試,凍的瑟瑟發抖,這個時候心态已經炸了,又冷又緊張,算法題有思路但是一直被這個人否定,最後挂了。
頭條
最開始面的頭條遊戲中台,當時是第一次面試,沒有經驗,導緻算法題雖然有思路,但是沒有寫出最優解,直接挂了。後來又被撈起來,因為此時已有阿裡的offer,是以膽子也大起來了,收拾心情開始面頭條。
頭條的面試特點基本就是一個套路:【自我介紹】->【項目介紹】->【手撕算法】->【基礎知識】,屢試不爽。
- 自我介紹:我是xxx,來自xxx,畢業後在xxx幾年,期間負責xxx。
- 項目介紹:xxxxx。項目的時候面試官會問你難點和解決方案,同時會給你提出場景,問你更優化的思路。
- 手撕算法:多刷題,也可以看看别人面過的算法題,可能會重複。
- 基礎知識:針對履歷寫的東西問,我被問的較多的是一些中間價,Redis、MySQL、Kafka、ElasticSearch。
一面
- Two Sum
- 給定m個不重複的字元 [a, b, c, d],以及一個長度為n的字元串tbcacbdata,問能否在這個字元串中找到一個長度為m的連續子串,使得這個子 串剛好由上面m個字元組成,順序無所謂,傳回任意滿足條件的一個子 串的起始位置,未找到傳回-1。比如上面這個例子,acbd,3。給定m個可能重複的字元[a, b, d, d]呢?
- 提供一個整型數組以及一個整數s,如果該數組中存在n個連續元素,且元素相加之和大于等于s,則傳回滿足該條件的連續元素的最小長度;否則傳回0
- MySQL叢集。假如叢集出現延遲怎麼處理。
- Redis的zset實作延時任務
- 設計題:如何設計tiny url
- 為什麼要四次揮手
- HTTPS
第二天收到hr小姐姐的電話,約了面試時間。
二面
- 自我介紹
- 項目介紹
- K Group反轉連結清單。寫了棧和疊代兩種實作方式,連結清單的題寫起來真痛苦,很容易邊界出錯。
- Redis的持久化機制
- MySQL的隔離級别
- MySQL索引,聚簇索引和二級索引
- Redis高可用方案
- 介紹一些Kafka的一些概念
-
Kafka如何保證消息有序
...忘了
過了一天又收到hr小姐姐的電話,開心。
三面
- 第K大的數
- 設計題:秒殺系統
- MySql的索引優化
三面完了正好是周五,忐忑的等到了周一,以為挂了。結果下午收到hr加微信,約了hr面。
hr面
- 為啥離職,怎麼想的
- 介紹項目
- 怎麼和團隊的人溝通,和成員出現沖突時怎麼解決。
- 期望薪資,你現在的薪資
三個工作日收到了offer,頭條面試體驗還是很棒的。
找朋友内推的螞蟻金融核心,結果第二天就被拒了,杭州淘寶給我來電話,說我被撈起來了。确認了一下,确實如此,那就面吧。
阿裡
還是很想去阿裡的,是以也很忐忑,淘寶一共經曆了4輪技術+1輪筆試+hr面,流程很長,面的我壓力山大。阿裡的面試特點:【自我介紹】->【項目介紹】->【場景解決】->【基礎知識】,阿裡面試除了基礎以外,也很看重候選人的解決問題的思維。還是需要候選人有點積累的,假如你寫的項目不是自己的,很容易就被問出來。
- 項目難度介紹
- 如何實作延時任務
- 如何實作限流
- 線程池的參數
- 能不能自己實作一個java.lang.String并加載
- Redis為什麼這麼快
- epoll和poll的差別
- 程序同步的方式
- MySQL的索引機制
- 如何自己實作記憶體配置設定和管理?不太懂,然後說了jvm的垃圾回收機制
- 你們公司内部的RPC架構,介紹一下
- Redis的key過期政策
- 緩存穿透和緩存雪崩
- 分布式鎖
- 如何實作全局的id生成政策
- 悲觀鎖和樂觀鎖
- 紅黑樹了解麼
- 如何實作群消息已讀
- 消息推送如何保證不重複
- Kafka如何保證消息的可靠性
- RPC是什麼,和http調用有什麼差別
- 說一說你項目的架構
- GC
- MySQL的索引原理,給了一個場景,如何優化
面完3面後居然又來了一個筆試題
筆試
- producer-consumer
- 兩線程交替列印
- 多線程模拟100分錢随機分給20個人,每個人最少配置設定到2分錢
四面
- 寫個producer-consumer吧,我說上次寫過了。。傻了。。不該說的,然後面試官換了一道題,還好比較簡單,寫個二分查找,2分鐘寫完完事。
- 項目難點
- MVCC
- ElasticSearch的查詢過程
- Kafka如何保證高可用
- Reids的叢集和選主
- 知道什麼分布式一緻性算法
- 如何實作定時關單
HR面
阿裡的hr面真是讓我難忘。
- 說說看,假如你是部門技術經理,線上商戶資料丢失怎麼辦
- 怎麼将一個産品推薦給其他的團隊,怎麼界定邊界
-
怎麼樣協調關系
(我才2年啊喂,到這裡我已經快冒汗了,生怕最後一關斃掉了)
- 你和同僚相處的情況怎麼樣,說說你幫助同僚的一次經曆
- 薪資
阿裡的面試流程很長,而且一個部門挂了以後,會被另一個部門撈起來,不停的面。總之來說,阿裡的面試體驗也還不錯,就是經常被放鴿子。支付寶的面試經驗其實也大同小異,我就不貼了。