前言
《十面阿里》 本屌現(xiàn)今四年開發(fā)經(jīng)驗(yàn);前前后后為進(jìn)阿里面試十次(阿里旗下——螞蟻金服,天貓的offer都被hr因?qū)W歷而被拒,最后的菜鳥面幸運(yùn)的被錄用,拿到P6offer,真正的“十面”阿里?。?/p>
本文前半部分主要 分享 面試總結(jié) , 后半部分分享程序員我個(gè)人架構(gòu)開發(fā)之路的學(xué)習(xí)經(jīng)驗(yàn)。
阿里十面
面試總結(jié)
雖然天貓,螞蟻金,菜鳥都?xì)w屬阿里旗下,但每個(gè)面試官問的問題都不一樣,相同點(diǎn)主要在流程方面。面試開始會(huì)讓自我介紹,主要業(yè)務(wù)架構(gòu)和技術(shù)架構(gòu)兩部分。業(yè)務(wù)架構(gòu)一般不會(huì)深究,但要面試官聽明白,并且一般面試官會(huì)順著問是如何根據(jù)這些業(yè)務(wù)去設(shè)計(jì)技術(shù)架構(gòu)的。
阿里十面
面試總結(jié)
技術(shù)架構(gòu)部分,會(huì)根據(jù)自我介紹中提到的技術(shù)點(diǎn)問,是為什么使用這些技術(shù),解決了哪些問題,碰到哪些困難,是如何思考和解決的,最后再順帶一些技術(shù)本身底層的設(shè)計(jì)方面的問題:
例如:有redis,會(huì)問哪些場景用,解決了什么問題,數(shù)據(jù)量有多少,用的過程出現(xiàn)過哪些問題,怎么去定位解決的,還有它的hash原理等。諸如此類的問題??偨Y(jié)了面試官最喜歡問的方面有mq,jvm,多線程,鎖機(jī)制等。
不管哪個(gè)技術(shù)點(diǎn),能答到面試官無法在這個(gè)問題上問下去了,或者能答到計(jì)算機(jī)硬件上就過了。 有不清楚的可以直接回答,有一些不會(huì)的不影響整個(gè)面試。
面試準(zhǔn)備
架構(gòu)開發(fā)技術(shù)之路的學(xué)習(xí)經(jīng)驗(yàn)
一、閱讀源碼
閱讀、分析源碼是程序員最基本的碼代碼能力也是碼農(nóng)的根本所在,學(xué)習(xí)經(jīng)典源碼中所用到的經(jīng)典設(shè)計(jì)思想及常用設(shè)計(jì)模式,能夠幫你了解大牛是如何寫代碼的,從而吸收大牛的代碼功力。在阿里面試中,MyBatis,Spring等框架的底層原理是經(jīng)常會(huì)被問到的。
二、分布式架構(gòu)
阿里巴巴有很多大團(tuán)隊(duì),這種大團(tuán)隊(duì)里有很多小團(tuán)隊(duì),到小團(tuán)隊(duì)之后,做的業(yè)務(wù)都不相同,如果想立足成為一線互聯(lián)網(wǎng)公司中的萬能選手,最主流的分布式架構(gòu)中有很多知識(shí)都是必須要去了解與學(xué)習(xí)的。并且在阿里面試過程中,面試官會(huì)問到實(shí)際應(yīng)用場景的問題:比如微服務(wù)化、用戶量、并發(fā)量、業(yè)務(wù)復(fù)雜度以及可擴(kuò)展程度等,這里不多贅述。本屌提供一個(gè)分布式架構(gòu)的學(xué)習(xí)思路也是自己目前還在學(xué)習(xí)中的體系:
三、微服務(wù)架構(gòu)
微服務(wù)是現(xiàn)在互聯(lián)網(wǎng)架構(gòu)技術(shù)中最火熱的話題之一,也是本屌目前正在學(xué)習(xí)研究的方向。在阿里面試過程中,面試官很少會(huì)問到關(guān)于微服務(wù)相關(guān)的問題。但作為一名開發(fā)者,一名有技術(shù)夢想的程序員微服務(wù)架構(gòu)是現(xiàn)在必須要去了解的主流技術(shù),本屌給自己制定了一個(gè)微服務(wù)技術(shù)的學(xué)習(xí)計(jì)劃:
四、并發(fā)編程
并發(fā)編程幾乎是所有互聯(lián)網(wǎng)公司面試必問問題,并發(fā)編程是Java程序員最重要的技能之一,也是最難掌握的一種技能。它要求編程者對計(jì)算機(jī)最底層的運(yùn)作原理有深刻的理解,同時(shí)要求編程者邏輯清晰、思維縝密,這樣才能寫出高效、安全、可靠的多線程并發(fā)程序。目前網(wǎng)上沒有系統(tǒng)的全面的并發(fā)編程學(xué)習(xí)大綱,我搜集了很多資料總結(jié)出來一個(gè)最全面的學(xué)習(xí)大綱:
五、性能優(yōu)化
性能一直是讓程序員比較頭疼的問題。當(dāng)系統(tǒng)架構(gòu)變得復(fù)雜而龐大之后,性能方面就會(huì)下降,特別是阿里巴巴這樣的一線互聯(lián)網(wǎng)公司最為注重,因此想進(jìn)入阿里,性能優(yōu)化一定是要去深入學(xué)習(xí)與理解的一環(huán),本屌在性能優(yōu)化這一塊雖然不能算專家,也可以自信的說是精通了(注意:自己的簡歷上一定不要寫精通xxxx,要不然面試官會(huì)懟死你。好在本屌這一塊還算自信)
六、 Java開發(fā)工具
一名開發(fā)人員必須有適合自己的兵器,也就是工欲善其事必先利其器,不管是小白,還是資深開發(fā),都需要先選擇好的工具。下列是我自己常用的開發(fā)工具:
架構(gòu)技術(shù)資料分享
高清架構(gòu)技術(shù)視頻教程
BAT 面試攻略
架構(gòu)技術(shù)書籍
統(tǒng)一加架構(gòu)技術(shù)QQ群
免費(fèi)領(lǐng)取
架構(gòu)技術(shù)交流群 519752913