先自我介紹一下,本人來自西安的一所211計算機高校。17年研究所學生畢業,先面試了阿裡,四面然後挂了,後面面試騰訊,三面,過了。之後兩年半就一直在騰訊做分布式KV存儲的工作。一直到今年二月份。
阿裡社招的整體感覺
1 70%看項目
2 20%看基礎知識
3 10%看個人性格
因為是找在阿裡的師兄做的内推,是以整個面試流程都很快。基本上一周内就走到hr面了
2-18日給師兄履歷,請求内推。
2-19日一面
-
1 自我介紹
個人履曆
主要項目(一兩句話)
個人評價(自己在分布式系統上的經驗和喜歡寫文章,喜歡總結)
-
2 換工作的原因
進入舒适區了,最近都是在重複工作,對自己的發展不好
-
3 講講核心系統的子產品
三五句話把系統講清楚。
-
4 兩年裡,那個項目,挑戰最大
說說自己修複的最複雜的一個bug
主要說自己的分析過程,和後續的反思,具體的解決方案其實不是最重要的
-
5 具體項目裡面的一個小問題
面試官很專業,問了如果資料寫失敗如何
因為寫失敗的問題,我引出了關于raft協定
-
6 你現在java掌握的怎麼樣
我知道JVM的記憶體組成,垃圾回收機制,根追溯邏輯,JDK源碼,多線程相關。(大概有2分鐘把自己知道的都說了一遍)
-
7 這些知識是你自己在項目裡學的還是自己在讀部落格知道的
都是自己看部落格學的
-
8 java io和nio
不知道
太慚愧了
我自己之前寫過的東西,但是當時确實想不起來了
-
9 某個子產品,在某個時間夯住,你怎麼排查
先确定是誰在請求我
是否是因為請求量特别大
先确定如果在别的時間調用它,是否有問題
把具體邏輯展開,看具體是哪個流程出問題了
-
10 怎麼确定任務是cpu的問題還是io的問題
Top指令,perf指令
-
11 spring你都知道什麼
說說我對Ioc和aop的了解
-
12 spring事務的原理
說說你知道的,不要對你不知道的地方說太多
-
13 你接到的項目需求都是什麼樣的
項目已經完成了,但是我覺得子產品的速度太慢,引入了記憶體檔案系統
-
14 了解業務系統麼?
聊到對業務看法
要想到使用者所沒有想到的東西
項目做完之後,從性能,可用性,可靠性上再反思一下
區分業務和技術。有的時候,不是所有的問題都需要用技術去解決
-
15 你還有什麼問題問我
阿裡加班麼?
-
16 線上寫代碼
//實作一個通用的本地緩存的代碼片段,要求。
1、使用方可以指定緩存中最大的元素個數。
2、使用方可以指定緩存中單個元素的緩存失效時間。
3、緩存中元素的淘汰政策采用最近最久未使用的政策(LRU)
我看完題目後就直接給面試官說用LinkedList
然後開始寫代碼
實作完主要邏輯後我還新增了幾個特性:
1 性能 加上了讀寫鎖
2 如果程序死掉,要可以從硬碟恢複,當然預設是不恢複的
3 允許使用者直接remove某個元素
關于定期删除,使用timetask即可
另外上面的實作,其實不算是緩存,你緩存,總得有個k和v吧?但是我當時在寫代碼的時候,問過面試官,他說可以不用key。
如果想用key的話,key參見linkedhashmap
如果大家還想繼續優化的話,建議參考google的guava。
如果還想挖,還有CaffeineCache
一面感想
作為社招,其實大家預設你二叉樹反轉或者基本的資料結構什麼都是知道的,主要問的也是項目。再大家面試前準備的時候,要着重做反思。要反思,我的這個項目還有什麼可以優化的?性能上優化,可用性優化,伸縮性優化等等(其實我校招的時候,就已經這麼做了)
其次,項目裡,你自己做的部分要很熟悉,面試官很有可能會問你,你印象最什麼的子產品是什麼?這個時候你就要說說你的工作,出現問題的時候,你是怎麼分析的,怎麼解決的,怎麼在解決的時候不引入新的問題,解決之後,還可以做什麼反思?
總之就像《葉問3》裡甄子丹說的這個世界不是屬于有權人的,也不是屬于有錢人的,是屬于有心人的。,或者像《三體》裡章北海的父親說的那句:要多想!
另外還有一點,你得明白面試的時候,你需要展示出你知道什麼,而不是你不知道什麼。
是以碰到一個問題後,先三兩句話把問題的核心解釋清楚。然後在面試官不反對的情況下,适量延展一下别的問題。
還是那句話你要展示出你知道什麼
2-20日二面
- 1 一些閑聊,具體是在哪個部門,什麼時候複工
- 2 項目和redis有什麼差別
- 3 項目有幾個人,你的定位是?核心人員還是附屬
- 4 說說項目的結構
-
5 資料一緻性的了解
三種資料一緻性,強一緻性,弱一緻性,最終一緻性
再說說項目裡關于一緻性的實作方式
引出了對可靠性,可用性,可擴充性和面向未來的了解
-
6 對網絡了解麼?tcp釋放的時候是個什麼狀态
不了解
-
7 跟别的開源系統有沒有比較過?
引出WAL
- 8 系統裡面是怎麼使用跳表的
- 9 項目裡和新人是怎麼協作的
- 10 說了一下自己寫文章,沉澱技術的事情
- 11 如果來阿裡是想幹底層技術還是說想幹上層業務
- 12 java還能回憶多少,現在主要是做c++
- 13 騰訊開源的存儲和你們的項目有什麼關系
面試官直接說 你通過我的面試了
然後二十分鐘之後,有個小姐姐和我約三面
二面感想:
把項目好好總結總結
把項目好好總結總結
把項目好好總結總結
2-22日三面
三面,我這邊面試的不是很好,或者說比較糟糕
三面一共50分鐘前40分鐘都是聊項目,聊得很開心。然後面試官說你主要是做c++,那就問問c++吧
-
1 說說c++的記憶體模型吧
額,不知道
-
2 說說static的作用吧
隐藏變量的實作,不讓外部通路
區分執行個體對象的變量和類的變量
-
3 某個關鍵詞的使用
額,不知道
-
4 char *a[10], char (*b)[10] a和b有啥差別
我剛好答反了
-
5 寫代碼
單連結清單反轉
當時前幾個問題把我問的直接就跪了,整個心态就崩潰了
面試官剛說了問題,我就開始寫代碼,然後越急越寫不出來,越寫不出來越急。當時心态崩了。當時卡在這個題目上,大概有5分鐘
面試官看我之前代碼一直沒有寫出來,也就先放過我了。說下一個問題
-
6 如果有1000個蘋果,放到10個籃子裡,具體每個籃子放幾個蘋果,由你來定。然後我給出一個數,肯定小于1000,你要告訴我,哪幾個籃子裡面的蘋果數量之和等于我給的數字
我說第一個籃子放1個蘋果,第二個籃子放2個蘋果,第三個籃子放4個蘋果,然後8個… 我還沒有說完,面試官就說ok了我知道了
-
7 你想來杭州麼?
想
三面感想
- 1 我師兄是P7,三面的面試官是我師兄的上司的上司。感覺至少P9。果然是進階别的上司,身處java棧的公司,依然還記得c++的知識
- 2 我自己并不清楚c++的那些基礎知識,是我自己的不足,我沒有什麼好說的。不足就是不足。
- 3 最關鍵的一點,面試官讓寫代碼的時候千萬不要一上來就寫代碼,先說說自己的思路,然後在紙上畫一畫,塗一塗,然後再和面試官邊說思路,邊開始寫我當時因為心态崩潰了,直接就開始寫代碼,哎。一緊張連大二的基礎知識都忘了。
- 4 心态很重要,心态不能崩!
當時面試完,感覺自己完了
結果第二天,2-23日,師兄給我電話,說過了,等hr面吧
2-25日 hr面
Hr面試的時候,基本就是談人生聊理想
-
1 他們對我的評價
對分布式很熟悉 對c++和網絡不熟
-
2 職位變動的核心原因
舒适區
沒有太大的進步空間了
-
3 說說内部的活水計劃
我自己沒有試過
-
4 花了快5分鐘講新零售
然後說如果領域現在競争很激烈,咱們有一個項目,眼瞅着要上線,但是發現還有一些bug
作為上司,你有兩個方案
項目整體delay,修改完之後再上線
先上線,再修複
請問你怎麼選擇?
我是說先上線,再修複,然後原因blala…
Hr說,這個問題其實沒有最終的答案,隻是想聽聽你的思路
-
5 上線之後,使用者投訴說不好用怎麼辦
先讓産品分門别類歸類問題
找出重要的的問題 先修複(就是那個重要和緊急的四個象限)
-
6 阿裡講究幫助别人,你有幫助别人的案例麼?
寫部落格 幫助别人
網際網路的分享精神
-
7 有什麼業餘愛好,講講
我說我喜歡看中國古代史
給他講了這個故事,這個部落格也是我寫的
http://blog.sina.com.cn/s/blog_14e200ad40102yu2j.html 談談忍耐
面試官很喜歡這一點,說自己一個好朋友也喜歡讀曆史,balbal,以後介紹你們認識
- 8 說說你目前的收入情況 你希望漲幅是多少? 婚姻情況
- 9 我還有一個問題 關于競業協定
Hr面試感想
Hr面試本身沒有什麼好總結的,就是談人生聊理想
但是也還有幾個要說的
你為什麼離職?你為什麼來我們公司?
這兩個問題,hr基本都會問,你得好好想想。
另外關于和面試官聊曆史的是,我隻能說,夥計們要注意積累,注意總結,當時如果沒有寫那個部落格,面試的時候就回憶不起來.總之一句話: 凡是你認真記錄過的東西,都不會辜負你的
關于内推
- 其一 内推的職位就是幫你内推的小夥伴的部門
-
其二 内推的職位和幫你内推的小夥伴的部門沒有關系
個人覺得最好的方式就是,你找準某個職位,然後讓這個部門的朋友幫你内推。
很多朋友可能會說,我不認識大廠的朋友呀?
其實,網際網路就是一張網,你的朋友的同僚,你的同僚的朋友,你上司的前同僚,都是你的資源。
可能還有小夥伴說,我真不認識那些朋友,我周圍的朋友也都是小廠的……
那麼我問你,你真的努力找了麼?
我自己就是從騰訊跳到阿裡的,算是在兩個公司都認識一點點朋友了。你看了我的文章,咱們也算是有點緣分了,如果你給我發私信,說你想去某個公司,balabal….請求我幫忙做個推薦。你說我會不會幫忙呢?你說,我把你撈到阿裡來,說不定你還能請我吃頓燒烤呢,多好的事情呢。我何樂而不為呢?
夥計,辦法總比困難多,隻是看你想不想去做!!