我想加入阿里,我該怎麼作?

以前的文章裏我提到過,2017年我實現了一個小目標,畢業三年加入阿里面試

聽上去好像挺厲害,挺光鮮,可是實際上並不那麼容易,在這背後有不少我本身摸索和努力的故事。算法

在這裏我想分享一些個人經驗,送給那些跟我同樣,沒名校背景沒大廠背景,可是想進阿里(或其餘大廠),又有點迷茫不知該如何前進的人編程

其實在進阿里以前,我也挺迷茫,心裏有一些謎團一直困擾着我,好比阿里招人標準是什麼?,本身距離這個標準有多少差距?那時候一直不知道,就好像置身於沙漠之中,殊不知道往哪裏走。這時候,找到方向最爲關鍵。(不少人跟我那時候同樣迷茫,由於很多人問過我,到底怎麼樣才能加入阿里。)網絡

當時我問了幾個在阿里的朋友:數據結構

我問:要進阿里是什麼標準啊?ide

朋友答:社招的話通常P6起招,三年工做經驗。學習

我又會問:P6是什麼搜索引擎

這時候每每獲得的回答就不同了。google

這裏普及一下,每一個公司都有職別定級系統,阿里也是,技術崗以 P 定級,通常校招 P5,社招 P6起。翻譯

之前我入職淘寶的title是『資深無線開發工程師』是 P6級別, 那時候 P6還分 高級 與 資深,如今都統一成高級了。

那 P6 的標準究竟是什麼呢?

其實還挺難說清,這個不像是考試的分數定級那樣清晰,到了60分就是及格。

在個人理解裏,一句話歸納就是:擁有獨立負責某個或多個模塊的開發工做的能力。(說得再白話一點,就是老闆放心你一我的負責某個或多個模塊的開發工做)

聽着好像仍是很抽象,別急,我嘗試着把這個能力拆分了一下,包括但不限於:

  1. 專業能力

  2. 解決問題的能力

  3. 學習能力

若是這幾項能力達標或突出,我以爲就能夠負責多個模塊的開發工做了,也意味着進阿里,技術問題不大。

那麼咱們能怎麼去提高本身達到目標呢?限於篇幅,我着重講怎麼提高專業能力。

專業能力的提高

計算機專業要學習的內容很是多,專業能力包含不少,光Android還不夠,還有好比數據結構、算法、Linux、網絡編程、計算機原理等等等等等等,因爲我作的是 Android,那麼這裏就偏向 Android 來說解了。

深刻理解原理,不要只會使用

因爲開源的精神以及互聯網的偉大,咱們可以不費吹灰之力使用世界上頂尖的三方庫,好比很火的 RxJava、EventBus、Retrofit、OkHttp 、Glide 等等等等。只要添加一行依賴,就能起飛,有一種本身掌握了全世界最牛逼的技術的錯覺

我見過很多人,也看到很多 人的Github 的庫裏寫着 MVP+RxJava+Glide+Dagger 等等相似的內容,他們可能一線開源庫用得很六,可是一旦問及原理,可能就一臉茫然,說不太上來。

這其實就是停留在使用階段的表現

你要知道,一個庫再牛逼,這個牛逼是屬於做者的,而不是你。

站在面試官的角度講,這麼多人都會用,又憑什麼選你呢?對吧?!

這時候若是你懂一些原理,那你就能比別人更優秀一些了。

那麼,怎麼去深刻理解原理呢?閱讀源碼

(退後,我要裝 X 了!)

其實所謂的原理,全都寫在源碼裏面,毫無保留

有的人一聽看源碼就會慌,不知所措,代碼那麼多,怎麼看啊

其實閱讀源碼也是有不少訣竅的,這裏分享幾點心得:

  1. 首先要會用。你要知道這個庫是幹什麼的,掌握它基本的使用方法;

  2. 有目的性。針對某個功能有目的的去挖掘,這樣就不會在茫茫源碼中迷失方向;

  3. 不須要看完全部細節。有的人閱讀源碼愛鑽牛角尖,非要把每個小細節都搞清楚,以致於看了一天可能都沒看明白主幹是什麼。

是否是有點道理?好比 EventBus ,你發送個 Event 怎麼就傳遞到了訂閱的地方?帶着這麼個小問題有目的的去看,會輕鬆不少。

閱讀源碼確實不簡單,可是不要着急,從簡單的源碼開始,慢慢提高,學會抽絲剝繭,層層遞進,逐漸培養閱讀源碼的習慣與能力。

相信我,學會看源碼,對專業能力的提高有巨大的幫助。

保持學習,多看官方的一手資料

在平時保證完成工做的狀況下依然要保持學習,作不到天天學習,也要作到每週學習,擴大知識面,加深深度。

技術的發展很是快,要跟上得不斷持續的學習,這很重要。

那麼爲何要多看官方的一手資料?

說實在的,這個時代,已經不缺乏學習資料了。可是呢,資料也是有好有壞的,衆所周知,你用 google 搜跟 某度 搜到的資料會有很大的差異,因此第一步,把 google 做爲默認搜索引擎

官方資料 跟別人的二手資料,差異也是很大的。

這裏不是說全部別人寫的資料都是差的都是不值得看的,而是說其實別人可能也是看了官方的資料,通過本身的理解加工輸出一個資料,而這個加工過程可能刪減了部份內容,也可能扭曲/誤解了官方的意思,以致於你看到的時候可能變了味。

所要儘可能去看一手資料,它能讓你學到最基本、最全面、也是最有用的知識,更況且,如今 Android 官方的文檔 視頻 越作越好,甚至都作了中文翻譯,還有什麼藉口不看?

學會積累,作到有輸入有輸出

前面我既讓你看官方的資料,又讓你去看源碼,那麼光看就夠了嗎?

顯然不是,紙上得來終覺淺。

學習,要作到有輸入有輸出,這樣才能更好地把知識掌握在腦子裏

輸入就是那些資料,源碼等各類知識,那麼輸出是什麼?對於開發者來講輸出能夠是筆記,能夠是博客,也能夠是代碼。

做爲過來人,勸你一句,若是時間容許的話,嘗試維護個博客吧

當你開始嘗試針對某個知識點寫文章的時候,你可能會有以下經歷:

  1. 我明明已經懂了,爲何解釋不清楚?(其實還沒真的懂)

  2. 這個知識點好像涉及到了其餘東西,我去看看,而後發現不懂的還有不少;

  3. 寫得多了,原本星星點點散佈在大腦各個角落的地方的零碎的知識點,在某個時刻忽然就被串了起來,造成一張了知識圖譜。

這是我以前寫博客的真實經歷,本身以爲懂了,跟 把知識說清楚讓別人懂,感受是兩個層次的事。在寫做的過程當中會強迫你本身把知識點組合起來,用通俗的語言表達你的想法,其實要求你對知識有更透徹的理解,這也能促使你變得更專業。

另外,寫博客其實也是對外展現本身的機會,寫得好,會有阿里員工或獵頭找上門的,幫你推薦工做的。

好的博客或 Github 也是一塊能夠敲開阿里大門的磚

要加入阿里,你可能還須要學會如何寫好簡歷,找個靠譜的阿里員工幫你內推,另外可能還須要一些運氣,但這都是後話了,最最重要的前提就是自身的技術實力要過硬

2019年伊始,全新的開始,相信不少人都給本身定了個小目標,但願個人這些經驗可以幫到你實現其中的某一個,祝願全部人能有個更加精彩美好的2019。

新的一年,要加油鴨!!!衝鴨!!!


相關文章
相關標籤/搜索