阿里Java后臺(tái)開發(fā)面經(jīng)

最近原來實(shí)習(xí)時(shí)候的Boss聯(lián)系我,說他跳槽到了阿里总放,問我有沒有興趣面一個(gè)Java后臺(tái)開發(fā)崗位呈宇。考慮到我只工作了一年局雄,現(xiàn)在去阿里肯定要降薪甥啄,因此也沒有太強(qiáng)烈的意愿。但出于提升自我的角度考慮炬搭,參加了面試蜈漓。

一面(電話面試一小時(shí))

  1. 首先做一個(gè)簡(jiǎn)單的自我介紹,主要包括學(xué)校經(jīng)歷和工作經(jīng)歷宫盔。我工作經(jīng)歷只有一年融虽,大部分時(shí)間都是在做產(chǎn)品設(shè)計(jì)和UI/UX Design,因此隔著電話都能感受到面試官的shock灼芭。

  2. Java基礎(chǔ)有额。自動(dòng)拆裝箱如何實(shí)現(xiàn),String,StringBuffer巍佑,StringBuilder的異同以及各自的實(shí)現(xiàn)茴迁。

  3. JVM基礎(chǔ)。JVM的內(nèi)存模型萤衰,常見的垃圾回收算法堕义。

參考我的文集:《深入理解Java虛擬機(jī)》

  1. 事務(wù)ACID,編程時(shí)如何保證事務(wù)脆栋,分布式情況下如何保證事務(wù)倦卖。

由于分布式相關(guān)場(chǎng)景我沒有接觸過,因此面試官一直誘導(dǎo)我去設(shè)計(jì)實(shí)現(xiàn)一個(gè)分布式事務(wù)椿争。

  1. 數(shù)據(jù)庫樂觀鎖和悲觀鎖怕膛。如何實(shí)現(xiàn)一個(gè)樂觀鎖。

  2. 消息隊(duì)列使用場(chǎng)景秦踪,Kafka的架構(gòu)以及原理嘉竟。

  3. 什么是restful api,和rpc調(diào)用有什么區(qū)別洋侨。

  4. 單例的幾種寫法。volatile關(guān)鍵字有什么作用倦蚪。

以上就是電話面試的大體問題希坚,面試完之后,又發(fā)給我三道算法題目陵且,要求我一小時(shí)內(nèi)完成裁僧,下面是三道算法題:

  1. 翻轉(zhuǎn)一個(gè)long類型數(shù)字。例如輸入123456L慕购,輸出654321L聊疲。
public long reverse(long i){

}

Leetcode翻轉(zhuǎn)integer的變種』Ρ考察能否正確處理溢出的情況获洲。

  1. 輸入一個(gè)double,要求返回與它最接近的.49或.99的數(shù)字殿如。例如12.77返回12.99贡珊,11.02返回10.99,12.61返回12.49涉馁。

這道題目應(yīng)該沒有什么坑门岔,邏輯清晰即可。

  1. 有三個(gè)線程ABC分別向一個(gè)數(shù)組中寫入a烤送,l寒随,i,要求最終的寫入結(jié)果形如alialiali...寫入次數(shù)由A線程決定。

考察線程等待喚醒妻往。具體參考我的這篇文章:多線程順序打印問題

這三道題目做的還比較順利互艾,第二天面試官又聯(lián)系我闡述一下第一題和第三題的思路,然后通知我可以參加下一輪了蒲讯。

二面(電話面試一小時(shí))

二面主要考察了一些開放式的問題忘朝。

  1. 首先還是自我介紹。主要是工作后的經(jīng)歷判帮。介紹一下工作一年所在team的產(chǎn)品局嘁,我承擔(dān)了什么職責(zé)。

  2. 開放式問題晦墙。如何設(shè)計(jì)一個(gè)rpc框架悦昵。

  3. 開放式問題。如何設(shè)計(jì)一個(gè)服務(wù)注冊(cè)中心晌畅。

  4. 集合類源碼但指。HashMap是如何實(shí)現(xiàn)的,擴(kuò)容的過程抗楔,為什么要擴(kuò)容為2倍棋凳。HashMap中的鏈表替換為數(shù)組可以嗎?時(shí)間復(fù)雜度相同嗎连躏?一致性哈希算法

  5. 集合類源碼剩岳。線程安全的HashMap是什么?(HashTable和ConcurrentHashMap)ConcurrentHashMap是如何實(shí)現(xiàn)的入热?(Java7分段鎖和Java8的CAS+Lock)和HashTable相比有什么優(yōu)勢(shì)拍棕?

  6. 紅黑樹的結(jié)構(gòu),時(shí)間復(fù)雜度是多少勺良,如何計(jì)算的

  7. 什么是CAS操作绰播,如何實(shí)現(xiàn)一個(gè)自定義鎖

參考我的文章:Chapter 5 Java中的鎖(一)Chapter 5 Java中的鎖(二)

  1. 數(shù)據(jù)庫設(shè)計(jì)。有一張很大的order表尚困,如何設(shè)計(jì)能夠提升查詢效率(同時(shí)滿足根據(jù)買家id和賣家id查詢)蠢箩?

二面也同樣是一小時(shí)左右,面試過程還算順利事甜。只是當(dāng)時(shí)我在廈門鼓浪嶼的一家小餐館吃晚飯忙芒,周圍的嘈雜和悶熱使我很煩躁,感覺面試官態(tài)度有些傲慢讳侨。呵萨。。ps.一面二面結(jié)束后面試官都各種暗示我要瘋狂加班能不能接受blabla跨跨。潮峦。囱皿。

三面(電話面試一個(gè)半小時(shí))

二面結(jié)束后的第三天,就收到了現(xiàn)場(chǎng)三面的通知忱嘹。然而我還在廈門旅行嘱腥,因此改為了電話面試。
三面是一個(gè)大Boss拘悦,因此面試的問題都更考察一些分析問題的能力齿兔。

  1. 介紹一下你工作一年學(xué)習(xí)到什么?所在項(xiàng)目的架構(gòu)是什么樣的础米?UI/UX設(shè)計(jì)有哪些規(guī)范(由于我說我學(xué)到了一些UI/UX設(shè)計(jì)方法分苇,因此面試官就問了)?

  2. 數(shù)據(jù)隔離級(jí)別屁桑,臟讀幻讀医寿。

具體參考我的這篇文章:數(shù)據(jù)庫復(fù)習(xí)

  1. 線程池原理。

具體參考我的這篇文章:Chapter 9 Java中的線程池

  1. Synchronized的實(shí)現(xiàn)蘑斧,鎖的升級(jí)過程靖秩。

具體參考我的這篇文章:Chapter 2 Java并發(fā)機(jī)制的底層實(shí)現(xiàn)原理

  1. K8s的作用,K8s的底層架構(gòu)竖瘾。

具體參考我的K8s文集:Kubernetes從入門到實(shí)踐

  1. 對(duì)我業(yè)余時(shí)間做的一些項(xiàng)目做了介紹沟突。

  2. 你覺得加入阿里你能給阿里帶來什么?

  3. 進(jìn)入阿里你需要忍受很多困難捕传,需要迎難而上事扭,如果績(jī)效考評(píng)拿到差評(píng),你會(huì)怎么辦乐横?

三面總的來說也還算順利,面試官也算和藹今野。

總結(jié)

整個(gè)流程從一面到三面結(jié)束大約持續(xù)了10天左右葡公。總的來說条霜,問題都是預(yù)期范圍內(nèi)的催什,雖然面試過程中問到了一些分布式相關(guān)問題,我都沒有任何經(jīng)驗(yàn)宰睡,這時(shí)候不要放棄蒲凶,主動(dòng)說出你的思路,然后在面試官的誘導(dǎo)下拆内,相信你能說出屬于的答案旋圆。

最后,是我總結(jié)的一些面試Java后臺(tái)工程師必須要掌握的知識(shí)點(diǎn)麸恍。相信這些知識(shí)點(diǎn)都掌握了灵巧,就是一名入門的Java工程師了搀矫!

1. 集合類源碼

  • ArrayList:內(nèi)部數(shù)據(jù)結(jié)構(gòu),數(shù)組擴(kuò)容機(jī)制
  • LinkedList:內(nèi)部數(shù)據(jù)結(jié)構(gòu)刻肄,為什么使用雙向鏈表
  • HashMap:內(nèi)部數(shù)據(jù)結(jié)構(gòu)瓤球,put方法的完整流程,擴(kuò)容機(jī)制
  • LikedHashMap:內(nèi)部數(shù)據(jù)結(jié)構(gòu)敏弃,如何實(shí)現(xiàn)一個(gè)Cache
  • TreeMap:內(nèi)部數(shù)據(jù)結(jié)構(gòu)卦羡,時(shí)間復(fù)雜度
  • CurrentHashMap:內(nèi)部數(shù)據(jù)結(jié)構(gòu),Java7分段鎖麦到,Java8 CAS+Synchronized

2. Java基礎(chǔ)

3. JVM基礎(chǔ)(參考我的文集:《深入理解Java虛擬機(jī)》

4. 并發(fā)編程基礎(chǔ)(參考我的文集:《Java 并發(fā)編程的藝術(shù)》《Java Concurrency in Practice》

5. 數(shù)據(jù)庫基礎(chǔ)

6. 網(wǎng)絡(luò)基礎(chǔ)

7. 常見設(shè)計(jì)模式

  • 裝飾者廓啊,模板方法欢搜,策略,工廠谴轮,狀態(tài)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末炒瘟,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子第步,更是在濱河造成了極大的恐慌疮装,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件粘都,死亡現(xiàn)場(chǎng)離奇詭異廓推,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)翩隧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門樊展,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人堆生,你說我怎么就攤上這事专缠。” “怎么了淑仆?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵涝婉,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我蔗怠,道長(zhǎng)嘁圈,這世上最難降的妖魔是什么省骂? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮最住,結(jié)果婚禮上钞澳,老公的妹妹穿的比我還像新娘。我一直安慰自己涨缚,他們只是感情好轧粟,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著脓魏,像睡著了一般兰吟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上茂翔,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天混蔼,我揣著相機(jī)與錄音,去河邊找鬼珊燎。 笑死惭嚣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的悔政。 我是一名探鬼主播晚吞,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼谋国!你這毒婦竟也來了槽地?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤芦瘾,失蹤者是張志新(化名)和其女友劉穎捌蚊,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體近弟,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡缅糟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了藐吮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡逃贝,死狀恐怖谣辞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情沐扳,我是刑警寧澤泥从,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站沪摄,受9級(jí)特大地震影響躯嫉,放射性物質(zhì)發(fā)生泄漏纱烘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一祈餐、第九天 我趴在偏房一處隱蔽的房頂上張望擂啥。 院中可真熱鬧,春花似錦帆阳、人聲如沸哺壶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽山宾。三九已至,卻和暖如春鳍徽,著一層夾襖步出監(jiān)牢的瞬間资锰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工阶祭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绷杜,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓胖翰,卻偏偏與公主長(zhǎng)得像接剩,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子萨咳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容