天天看點

2020阿裡社招面試心得(成功拿到offer)

先自我介紹一下,本人來自西安的一所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….請求我幫忙做個推薦。你說我會不會幫忙呢?你說,我把你撈到阿裡來,說不定你還能請我吃頓燒烤呢,多好的事情呢。我何樂而不為呢?

    夥計,辦法總比困難多,隻是看你想不想去做!!

2020-03-13拿到offer

感謝