我的2017是忙碌的一年摔桦,從年初備戰(zhàn)實(shí)習(xí)春招液肌,年三十都在死磕JDK源碼,三月份經(jīng)歷了阿里五次面試焰络,四月順利收到實(shí)習(xí)offer戴甩。然后五月懷著忐忑的心情開(kāi)始了螞蟻金服的實(shí)習(xí)。八月闪彼,又經(jīng)歷了兩輪面試甜孤,總算拿到轉(zhuǎn)正offer协饲。到此為止,我總算可以盡情地享受最后的校園時(shí)光了缴川。
希望我的經(jīng)歷與感悟能幫助到大家茉稠。
我的讀研經(jīng)歷
阿里是我讀研階段的一個(gè)重要目標(biāo),剛上研一的時(shí)候我便立下Flag把夸,計(jì)劃了讀研三年要做的事情而线、要學(xué)的東西。翻翻我的博客恋日,居然還能找到當(dāng)時(shí)寫(xiě)的讀研計(jì)劃(想想時(shí)間過(guò)的真的好快呀)膀篮。阿里在我心中一直是技術(shù)者的朝圣地,聚集了一群技術(shù)狂熱分子岂膳,為了提升一點(diǎn)點(diǎn)的性能可以廢寢忘食誓竿。在立下這個(gè)flag后,我便把我要去阿里的想法告訴了身邊的所有人闷营。我不想給自己留有后路烤黍,既然牛逼吹出去了,那就得落實(shí)到行動(dòng)上傻盟。
我當(dāng)時(shí)的計(jì)劃是這樣的速蕊,研一玩命做項(xiàng)目,畢竟寫(xiě)代碼是一項(xiàng)孰能生巧的技術(shù)娘赴,多寫(xiě)代碼自然能加深對(duì)技術(shù)的理解规哲。事實(shí)也確實(shí)證明了這一點(diǎn)。我大四畢業(yè)的那個(gè)暑假诽表,第一次接觸《深入理解JVM虛擬機(jī)》唉锌,當(dāng)時(shí)看完之后是一臉懵逼的,所有的漢字都認(rèn)識(shí)竿奏,但連成一條句子后咋就不明白呢袄简?然后懷著這種一臉懵逼的狀態(tài),強(qiáng)行把這本書(shū)看完了泛啸,但由于理解的不夠深刻绿语,很快就忘記了。然后經(jīng)過(guò)一年瘋狂做項(xiàng)目候址,當(dāng)我再抱起這本書(shū)時(shí)吕粹,我對(duì)這本書(shū)的感覺(jué)有了180度的轉(zhuǎn)變,通俗易懂啊岗仑。我懷疑自己當(dāng)時(shí)為什么這么傻匹耕。而在這一年之內(nèi),我一共做了四個(gè)項(xiàng)目荠雕。所以說(shuō)稳其,寫(xiě)代碼能潛移默化地提升你對(duì)技術(shù)的理解程度驶赏。
記得我們學(xué)校考研結(jié)果公布是在三月底欢际,得知我錄取了母市,短暫的高興了一下矾兜,第二天便去了導(dǎo)師實(shí)驗(yàn)室损趋,參與到項(xiàng)目中去。因?yàn)槲倚睦砗芮宄嗡拢业哪繕?biāo)是阿里浑槽。
剛?cè)?shí)驗(yàn)室的時(shí)候感覺(jué)自己完全是一只小白,師兄們開(kāi)會(huì)討論的東西我竟然一個(gè)字都聽(tīng)不懂返帕,剛開(kāi)始分到的工作也很難順利的完成桐玻。但我是一個(gè)天生不服的人,我越是不懂荆萤,我越是要征服镊靴。(PS:追女生也一樣,當(dāng)時(shí)看上了一個(gè)高冷型女神链韭。越是高冷偏竟,我越要拿下……省略一萬(wàn)字……最后成功了)。我漸漸跟上了師兄們的步伐敞峭,從第二個(gè)項(xiàng)目開(kāi)始踊谋,我一直是項(xiàng)目負(fù)責(zé)人了。
我給自己定的方向是Java旋讹,而實(shí)驗(yàn)室的項(xiàng)目五花八門(mén)殖蚕,Qt、C++沉迹、圖像圖形……睦疫,但我心里清楚,這些項(xiàng)目可以拓寬我的視野鞭呕,可以鍛煉我的學(xué)習(xí)能力蛤育、思維方式,但要深入理解的技術(shù)還是Java琅拌。所以我利用項(xiàng)目空窗期缨伊,看了很多Java方面的書(shū)籍,文末我列了一份清單供大家參考进宝。
研一做了一年項(xiàng)目之后刻坊,感覺(jué)自己解決問(wèn)題的能力、快速上手新技術(shù)的能力有所提升党晋,但做項(xiàng)目一味求快谭胚、一味趕時(shí)間徐块,我對(duì)很多技術(shù)的理解僅停留表面。所以更多時(shí)候我感覺(jué)自己是在搬磚灾而,很難寫(xiě)出高質(zhì)量的代碼胡控。當(dāng)時(shí)我決定,研二的上半學(xué)期一定要好好穩(wěn)固基礎(chǔ)旁趟,深入理解技術(shù)背后的原理昼激,放慢做項(xiàng)目的節(jié)奏,不一味地盲目求快锡搜。
然而研二因?yàn)榉N種原因橙困,我去了一家創(chuàng)業(yè)公司實(shí)習(xí)。既然我無(wú)法選擇耕餐,那我就擁抱變化凡傅。既來(lái)之則安之,我希望自己所花的時(shí)間都有所收獲肠缔。所以我全身心投入到工作中去夏跷。公司安排我做前端,雖然這并不是我想干的事情明未,但當(dāng)前別無(wú)選擇槽华,既然做那就得做好。我花了一個(gè)月的時(shí)間怒刷前端知識(shí)亚隅,學(xué)習(xí)Angular硼莽、React,了解它們的設(shè)計(jì)思想煮纵,學(xué)習(xí)JS背后的原理懂鸵,也看到了前端目前的發(fā)展?fàn)顩r。前端的技術(shù)迭代速度很快行疏,但技術(shù)背后的原理都是類似的匆光,所以抓住技術(shù)背后的本質(zhì)才是最重要的。
這段實(shí)習(xí)一直持續(xù)到了今年一月酿联,我心理清楚终息,二月底三月初阿里的實(shí)習(xí)招聘就要開(kāi)始,所以我擠出中午休息時(shí)間贞让、晚上下班后的時(shí)間周崭、周末的時(shí)間,復(fù)習(xí)我之前積累的東西喳张。
三月三號(hào)续镇,人生的第一次面試,在看到杭州的電話時(shí)销部,那一刻的心情既忐忑又興奮摸航。在此之前制跟,我并不清楚自己的水平在所有應(yīng)屆生中處于一個(gè)怎樣的層次,在電話接通之前我已經(jīng)做好了充分的心理準(zhǔn)備酱虎,想象了各種被面試官吊打的畫(huà)面雨膨。第一次面試持續(xù)了54分鐘,面試官似乎破有耐心读串,整個(gè)面試過(guò)程相談甚歡聊记。那一次的面試給了我巨大的信心,因?yàn)槲仪宄粒译x我的目標(biāo)更近了一步甥雕。
在接下來(lái)的一個(gè)月中,我陸陸續(xù)續(xù)接到了五次面試電話胀茵,每一次面試都是一次學(xué)習(xí)的機(jī)會(huì),能發(fā)現(xiàn)自己的不足挟阻,在與面試官交流的過(guò)程中也能了解到最新的技術(shù)琼娘、最佳的實(shí)現(xiàn)方法。
四月十四附鸽,記得那天剛替導(dǎo)師給本科生上完算法課脱拼,晚飯過(guò)后便收到的阿里的offer。當(dāng)時(shí)的喜悅之情溢于言表坷备,這么久的努力沒(méi)有白費(fèi)熄浓。但我心里也清楚,阿里的實(shí)習(xí)轉(zhuǎn)正率向來(lái)很低省撑,要想通過(guò)實(shí)習(xí)留下來(lái)也不是一件容易的事赌蔑。所以在收到阿里offer之后的那晚,我重新規(guī)劃了接下來(lái)的學(xué)習(xí)計(jì)劃竟秫,將我的短期目標(biāo)更新成:拿下阿里轉(zhuǎn)正offer娃惯。
5.20,一個(gè)美好的日子肥败,我懷著憧憬趾浅、忐忑、興奮的心情走進(jìn)了支付寶大樓馒稍,開(kāi)始了我三個(gè)月的實(shí)習(xí)生涯皿哨。這三個(gè)月的實(shí)習(xí)讓我學(xué)到了很多,我看到了每天的進(jìn)步,也看到了自己的不足寥假。這100天經(jīng)歷了太多的事情骄噪,有太多的體會(huì),有空我再單獨(dú)寫(xiě)一篇實(shí)習(xí)期間的感悟與大家分享椎例。
9.1晚上11點(diǎn)挨决,我的狀態(tài)從『面試中』變成了『待跟進(jìn)offer』,我會(huì)心一笑订歪,我達(dá)成了人生第一階段的目標(biāo)脖祈。那一刻我沒(méi)有太多的激動(dòng),在經(jīng)過(guò)了2017年8個(gè)月的持久作戰(zhàn)之后刷晋,這個(gè)offer早已在我的意料之中盖高。
第二天是周六,這個(gè)周末我給自己放了兩天的假眼虱。雖然在杭州已經(jīng)呆了102天喻奥,雖然支付寶大樓就在西湖邊,但每天兩點(diǎn)一線的工作捏悬,我并沒(méi)有去過(guò)西湖撞蚕。那一晚我的基友(帥氣的天哥,文末附有征婚啟示)得知我收到offer后便立即買(mǎi)票过牙,坐了一夜的火車(chē)來(lái)杭州為我慶祝甥厦。也托他的福,在這個(gè)周末我第一次游覽了這座美麗的城市寇钉。
最后的校園時(shí)光刀疙,我給自己定了一個(gè)新的目標(biāo),這個(gè)目標(biāo)也許充滿了挑戰(zhàn)扫倡、充滿了艱辛與困難谦秧,但我想如果能達(dá)成,我的人生將會(huì)有很大的改變撵溃。在人生的路上疚鲤,我還在奮斗。希望與各位共勉征懈。
一些建議
養(yǎng)成寫(xiě)博客的習(xí)慣
在面試阿里的過(guò)程中石咬,博客幫了我很大的忙。并不是說(shuō)有博客在面試中會(huì)加分卖哎,而是寫(xiě)博客的過(guò)程能加深你對(duì)知識(shí)的理解鬼悠,而且回顧起來(lái)也特別高效(畢竟是自己寫(xiě)的東西)。
我從研一開(kāi)始便養(yǎng)成了寫(xiě)博客的習(xí)慣亏娜,現(xiàn)在先過(guò)頭來(lái)焕窝,這兩年我一共寫(xiě)了185篇文章,有22W的訪問(wèn)量维贺,也很榮幸稱為專家博主它掂。我的博客現(xiàn)在已經(jīng)成為我一筆最寶貴的財(cái)富,記錄了我技術(shù)的整個(gè)體系結(jié)構(gòu),也記錄了學(xué)習(xí)技術(shù)的心路歷程虐秋。
可能很多同學(xué)都有寫(xiě)博客的經(jīng)歷榕茧,但能長(zhǎng)期堅(jiān)持的少之又少。我想告訴大家客给,任何事情都貴在堅(jiān)持用押。只要堅(jiān)持21天就能養(yǎng)成習(xí)慣。有的時(shí)候?qū)@件事缺乏興趣了很難再持續(xù)下去靶剑,但想想自己的目標(biāo)蜻拨,咬咬牙堅(jiān)持下去,養(yǎng)成習(xí)慣你就贏了桩引。
我的博客一般都是看完一本書(shū)后的總結(jié)缎讼,我會(huì)把一本書(shū)中最核心的東西,按照我的理解把它們記錄下來(lái)坑匠。每一本書(shū)我都會(huì)看三遍血崭,第一遍是快速瀏覽,了解整本書(shū)的體系結(jié)構(gòu)笛辟、作者的行文思路功氨,知道書(shū)中重要的、不重要的內(nèi)容手幢,也就是要建立起全局觀。第二遍我會(huì)精讀忱详,把那些我認(rèn)為重要的內(nèi)容挑選出來(lái)著重閱讀围来、反復(fù)理解、吃透匈睁。第三遍閱讀监透,往往會(huì)冒出新的理解,我時(shí)常有這種『書(shū)讀百遍航唆,其義自見(jiàn)』的感覺(jué)胀蛮。三遍讀完后,我便按照自己的理解糯钙,把核心內(nèi)容寫(xiě)成博客粪狼。由于是自己的寫(xiě)的東西,所以在復(fù)習(xí)的時(shí)候只要花上三五分鐘通讀一遍任岸,所有的知識(shí)點(diǎn)又被喚醒再榄。
Java體系結(jié)構(gòu)整理
Java相關(guān)
Java集合框架
Java并發(fā)編程
Java并發(fā)編程的藝術(shù)(一)——并發(fā)編程需要注意的問(wèn)題
Java并發(fā)編程的藝術(shù)(三)——volatile
Java并發(fā)編程的藝術(shù)(四)——線程的狀態(tài)
Java并發(fā)編程的藝術(shù)(六)——線程間的通信
Java并發(fā)編程的藝術(shù)(八)——閉鎖、同步屏障享潜、信號(hào)量詳解
Java并發(fā)編程的藝術(shù)(七)——Executors
Java并發(fā)編程的藝術(shù)(九)——批量獲取多條線程的執(zhí)行結(jié)果
Java并發(fā)編程的藝術(shù)(十)——線程池(1)
Java并發(fā)編程的藝術(shù)(十一)——線程池(2)
Java并發(fā)編程的藝術(shù)(十二)——線程安全
Java并發(fā)編程的藝術(shù)(十三)——鎖優(yōu)化
Java并發(fā)容器
Java虛擬機(jī)
深入理解JVM(二)——揭開(kāi)HotSpot對(duì)象創(chuàng)建的奧秘
深入理解JVM(四)——對(duì)象內(nèi)存的分配策略
深入理解JVM(六)——JVM性能調(diào)優(yōu)實(shí)戰(zhàn)
深入理解JVM(七)——Class文件結(jié)構(gòu)
設(shè)計(jì)模式
Spring核心思想
深入剖析Spring(一)——IoC的基本概念(從面向?qū)ο蠼嵌冉榻B)
深入剖析Spring(二)——IoC容器的實(shí)現(xiàn)
面向?qū)ο蟮乃枷?/h3>Java8新特性
計(jì)算機(jī)基礎(chǔ)
算法
數(shù)據(jù)結(jié)構(gòu)與算法-大閑人柴毛毛的博客
數(shù)據(jù)結(jié)構(gòu)
操作系統(tǒng)
計(jì)算機(jī)網(wǎng)絡(luò)
計(jì)算機(jī)網(wǎng)絡(luò)傳輸層知識(shí)點(diǎn)全覆蓋
數(shù)據(jù)庫(kù)
Linux
架構(gòu)高性能網(wǎng)站
架構(gòu)高性能網(wǎng)站秘笈(一)——了解衡量網(wǎng)站性能的指標(biāo)
架構(gòu)高性能網(wǎng)站秘笈(二)——?jiǎng)討B(tài)內(nèi)容緩存
架構(gòu)高性能網(wǎng)站秘笈(三)——瀏覽器緩存
架構(gòu)高性能網(wǎng)站秘笈(四)——反向代理緩存
架構(gòu)高性能網(wǎng)站秘笈(五)——Web組件分離