一年Java的阿里電話面試全紀錄
在北京待了快兩年了,之前一直在一家大型國企實習家轉正,2017年畢業到現在也已經畢業快一年了,幾位一起在京的同學想回南方發展(本人也是南方人),所以自己也下了這個決心,月初遞交了辭呈。經過考慮之後選擇了杭州,既然選擇了杭州阿里巴巴自然是一座要抱著敬畏之心去征服的大山。
首先非常感謝玄令濤的內推讓我獲得了這次機會,三月二十六到的杭州,二十八號在同花順面試的時候突然接到了阿里的面試電話,無奈放棄接聽。完成面試之後打回去舊只是分機好了,以為就此失去機會,回到住處方式的躺在沙發上看愛情公寓(哈哈本人比較喜歡看老片),就在這時電話來了,有點蒙沒有一點點防備,廢話不多說直接上電話面試內容:
-----------------------我是華麗的分割線---------------------------------
面試官:你先簡單介紹一下你自己。
我:簡單的介紹了一下自己的簡單情況,說了之前自己上家公司的業務領域。
面試官:你以前是在國企上班的,我看你簡歷上描述的技術也挺新的說說你比較擅長的一個方向。
我:描述了之前自己對Redis有過較深的學習
面試官:那你能說說Redis是怎麼處理Key的批量失效的?
我:回答的答案面試官視乎有些不滿意
面試官:那不管Redis是怎麼實現的,你說說要是你來實現這個失效機制你會怎麼做?
我:我一下子毫無思路,他說給我點時間想,我想了一會說到了建立一個單獨的監聽執行緒。
面試官:如果需要集中失效的key有幾百萬幾千萬個你不覺得這樣很抵效果嗎?
我:最終在面試官的提醒下提出了偽失效,就這樣Redis的話題結束
面試官:看你在專案中使用到了Dubbo,那我只問一個問題,Dubbo框架是怎麼發現一個服務是否失效的整個流程是怎樣的?
我:之前在看相關的資料的時候看過相關的機制所以順利的答了出來,只是在語言組織上有些生澀。
面試官:我們來聊聊訊息中介軟體吧,你說說訊息中介軟體怎麼保證消費者的訊息的順序的?
我:(由於之前一直使用的的ActiveMQ感覺面試官問的是RocketMQ所以回答的不怎麼對的上)。。。
面試官:現在我們來聊聊JAVA基礎哈,你說說對多執行緒的理解?
我:根據自己的理解說了一通
面試官:多執行緒的加鎖機制,如果一個方法遞迴呼叫有同步快的方法,通俗的說也就是自己呼叫自己會不會發生死鎖的情況?
我:由於之間還真沒想過這種情景多以回答的不好。
面試官:有了解過lock包下的類嗎?
我:使用過一些
面試官:那你說說讀寫鎖想較於Synchronized有什麼優勢?
我:說到了大概,面試官也就沒再往下深入問。
面試官:說說Java原子類的原理吧,及使用過的原子類?
我:大概說道了分段式樂觀鎖。
面試官:假設CurrentHashMap物件需要進行重新排序那麼是將所有的內容的行加鎖排序,還是分段的,如果是分段加鎖,那實現的機制又是怎麼樣的呢?
我:不知所云的說了一通,面試官也就轉移了問題。
面試官:對斜程有沒有了解?
我:沒有,然後面試官耐心的跟我解釋了何為斜程已經其將在之後的Java版本中將扮演重要的作用。
面試官:你概括一下如果我在瀏覽器輸入alibaba.com那麼DNS的工作流程是怎麼樣的?
我:由於自己是移動互聯方向的所以計算機網路的只是還不錯,提到了個人大概
面試官:那如果我輸入的這個網址本來就不存在,DNS會怎麼處理和具體流程?
我:.........
中間省略一些已經記不清的問題.....
--------我是被省略的問題--------
面試官:最後一個問題,關於Linux核心的,我們都知道Java有IO,NIO,某某IO(沒聽清),那你知道Linux核心是通過什麼原理實現poll機制的嗎?
我:一聽到Linux核心就知道沒戲。嗚嗚嗚.....
最後:
面試官:我的問題問完了,你有什麼藥問我的嗎?
我:我知道我這次面試發揮很差,我想您給我一些以後學習的建議?
面試官:多去深入原理,多去借鑑,多深挖。像阿里每天這邊的系統每天最多要處理幾十個G的資料量,這些框架是怎麼承受的,原理是這樣的,都是值得借鑑的。
面試官總結:我們在面試的時候並不要求被面試者所有問題都答出來,我們之所以這麼深想試出你的深度,因為這邊面試都需要對被面試的人進行一個評級。
總結:這次電話面試讓我知道了自己許多不足的之處,總之一句話,學海無涯!