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