聽上去好像挺厲害,挺光鮮,但是實際上并不那么容易,在這背后有很多我自己摸索和努力的故事,
在這里我想分享一些我的經驗,送給那些跟我一樣,沒名校背景沒大廠背景,但是想進阿里(或其他大廠),又有點迷茫不知該如何前進的人,

其實在進阿里之前,我也挺迷茫,內心有一些謎團一直困擾著我,比如阿里招人標準是什么?,自己距離這個標準有多少差距?那時候一直不知道,就好像置身于沙漠之中,卻不知道往哪里走,這時候,找到方向最為關鍵,(很多人跟我那時候一樣迷茫,因為不少人問過我,到底怎么樣才能加入阿里,)
當時我問了幾個在阿里的朋友:
我問:要進阿里是什么標準啊?
朋友答:社招的話一般P6起招,三年作業經驗,
我又會問:P6是什么?
這時候往往得到的回答就不一樣了,
這里普及一下,每個公司都有職別定級系統,阿里也是,技術崗以 P 定級,一般校招 P5,社招 P6起,
以前我入職淘寶的title是『資深無線開發工程師』是 P6級別, 那時候 P6還分 高級 與 資深,現在都統一成高級了,
那 P6 的標準到底是什么呢?
其實還挺難說清,這個不像是考試的分數定級那樣清晰,到了60分就是及格,
在我的理解里,一句話概括就是:擁有獨立負責某個或多個模塊的開發作業的能力,(說得再白話一點,就是老板放心你一個人負責某個或多個模塊的開發作業)
聽著好像還是很抽象,別急,我嘗試著把這個能力拆分了一下,包括但不限于:
- 專業能力
- 解決問題的能力
- 學習能力
如果這幾項能力達標或突出,我覺得就可以負責多個模塊的開發作業了,也意味著進阿里,技術問題不大,
那么我們能怎么去提升自己達到目標呢?限于篇幅,我著重講怎么提升專業能力,
專業能力的提升
計算機專業要學習的內容非常多,專業能力包含很多,光Android還不夠,還有比如資料結構、演算法、Linux、網路編程、計算機原理等等等等等等,由于我做的是 Android,那么這里就偏向 Android 來講解了,
深入理解原理,不要只會使用
由于開源的精神以及互聯網的偉大,我們能夠不費吹灰之力使用世界上頂尖的三方庫,比如很火的 RxJava、EventBus、Retrofit、OkHttp 、Glide 等等等等,只要添加一行依賴,就能起飛,有一種自己掌握了全世界最牛逼的技術的錯覺,
我見過不少人,也看到不少 人的Github 的庫里寫著 MVP+RxJava+Glide+Dagger 等等類似的內容,他們可能一線開源庫用得很六,但是一旦問及原理,可能就一臉茫然,說不太上來,
這其實就是停留在使用階段的表現,
你要知道,一個庫再牛逼,這個牛逼是屬于作者的,而不是你,
站在面試官的角度講,這么多人都會用,又憑什么選你呢?對吧?!
這時候如果你懂一些原理,那你就能比別人更優秀一些了,
那么,怎么去深入理解原理呢?閱讀原始碼!
(退后,我要裝 X 了!)
其實所謂的原理,全都寫在原始碼里面,毫無保留,
有的人一聽看原始碼就會慌,不知所措,代碼那么多,怎么看啊?
其實閱讀原始碼也是有很多訣竅的,這里分享幾點心得:
- 首先要會用,你要知道這個庫是干什么的,掌握它基本的使用方法;
- 有目的性,針對某個功能有目的的去挖掘,這樣就不會在茫茫原始碼中迷失方向;
- 不需要看完所有細節,有的人閱讀原始碼愛鉆牛角尖,非要把每一個小細節都搞清楚,以至于看了一天可能都沒看明白主干是什么,
是不是有點道理?比如 EventBus ,你發送個 Event 怎么就傳遞到了訂閱的地方?帶著這么個小問題有目的的去看,會輕松很多,
閱讀原始碼確實不簡單,但是不要著急,從簡單的原始碼開始,慢慢提升,學會抽絲剝繭,層層遞進,逐漸培養閱讀原始碼的習慣與能力,
相信我,學會看原始碼,對專業能力的提升有巨大的幫助,
保持學習,多看官方的一手資料
在平時保證完成作業的情況下依然要保持學習,做不到每天學習,也要做到每周學習,擴大知識面,加深深度,
技術的發展非常快,要跟上得不斷持續的學習,這很重要,
那么為什么要多看官方的一手資料?
說實在的,這個時代,已經不缺少學習資料了,但是呢,資料也是有好有壞的,眾所周知,你用 google 搜跟 某度 搜到的資料會有很大的差別,所以第一步,把 google 作為默認搜索引擎,
官方資料 跟別人的二手資料,差別也是很大的,
這里不是說所有別人寫的資料都是差的都是不值得看的,而是說其實別人可能也是看了官方的資料,經過自己的理解加工輸出一個資料,而這個加工程序可能刪減了部分內容,也可能扭曲/誤解了官方的意思,以至于你看到的時候可能變了味,
所要盡量去看一手資料,它能讓你學到最基本、最全面、也是最有用的知識,更何況,現在 Android 官方的檔案 視頻 越做越好,甚至都做了中文翻譯,還有什么借口不看?
學會積累,做到有輸入有輸出
前面我既讓你看官方的資料,又讓你去看原始碼,那么光看就夠了嗎?
顯然不是,紙上得來終覺淺,
學習,要做到有輸入有輸出,這樣才能更好地把知識掌握在腦子里,
輸入就是那些資料,原始碼等各種知識,那么輸出是什么?對于開發者來說輸出可以是筆記,可以是博客,也可以是代碼,
作為過來人,勸你一句,如果時間允許的話,嘗試維護個博客吧!
當你開始嘗試針對某個知識點寫文章的時候,你可能會有如下經歷:
- 我明明已經懂了,為什么解釋不清楚?(其實還沒真的懂)
- 這個知識點好像涉及到了其他東西,我去看看,然后發現不懂的還有很多;
- 寫得多了,本來星星點點散布在大腦各個角落的地方的零碎的知識點,在某個時刻突然就被串了起來,形成一張了知識圖譜,
這是我之前寫博客的真實經歷,自己覺得懂了,跟 把知識說清楚讓別人懂,感覺是兩個層次的事,在寫作的程序中會強迫你自己把知識點組合起來,用通俗的語言表達你的想法,其實要求你對知識有更透徹的理解,這也能促使你變得更專業,
另外,寫博客其實也是對外展示自己的機會,寫得好,會有阿里員工或獵頭找上門的,幫你推薦作業的,
好的博客或 Github 也是一塊可以敲開阿里大門的磚,
要加入阿里,你可能還需要學會如何寫好簡歷,找個靠譜的阿里員工幫你內推,另外可能還需要一些運氣,但這都是后話了,最最重要的前提就是自身的技術實力要過硬,
所以,別的不用多說,日夜兼程,持續精進吧!
最后
我之前在網上收集整理了一些 Android 開發相關的學習檔案、面試題、Android 核心筆記等等檔案,希望能幫助到大家學習提升,在面試中能順利通過,如有需要參考的可以直接去我 CodeChina地址:https://codechina.csdn.net/u012165769/Android-T3 訪問查閱,
喜歡本文的話,不妨順手給我點個小贊、評論區留言或者轉發支持一下唄😜😜😜~


轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/290467.html
標籤:其他
