Java小白如何秋招翻身 收獲BAT等大廠offer(1)

前言

讀過(guò)許多秋招總結(jié),在這里總結(jié)一篇自認(rèn)為最完整的總結(jié)。秋招是大家工作生涯中重要的開(kāi)端,希望通過(guò)這篇文章,幫助即將、正在面臨秋招,或者已經(jīng)經(jīng)歷過(guò)秋招的朋友們。不忘初心,方得始終。

本人是普通本科生,經(jīng)歷四年的學(xué)習(xí)積累,有幸于2019秋季招聘中拿到幾個(gè)公司的研發(fā)崗offer,其中包括百度,阿里,騰訊,今日頭條,網(wǎng)易,華為等。一路走來(lái)遇到很多困難,踩了很多坑,自己也通過(guò)對(duì)校園招聘研究和相應(yīng)的準(zhǔn)備探索了很多的學(xué)習(xí)方法,總結(jié)了很多心得體會(huì)。19年秋季招聘結(jié)束后,決定把這些東西全部都寫(xiě)成文字,做成專(zhuān)題,希望可以幫助到今年要參加校招的同學(xué)。

秋招前的積累與沉淀

“具體可靠的學(xué)習(xí)計(jì)劃”

在三個(gè)月的時(shí)間里,我首先按照J(rèn)ava后端路線圖安排好復(fù)習(xí)計(jì)劃,每個(gè)知識(shí)點(diǎn)都會(huì)對(duì)應(yīng)安排一段時(shí)間,比如我可能花一天時(shí)間復(fù)習(xí)“Java反射”,兩天時(shí)間復(fù)習(xí)“設(shè)計(jì)模式”,一周的時(shí)間用于復(fù)習(xí)"JVM虛擬機(jī)”。我一般會(huì)在月初做好整個(gè)月的計(jì)劃,然后根據(jù)進(jìn)度做一些微調(diào),但是基本上我都可以跟上進(jìn)度,并且是在復(fù)習(xí)到位的前提下。

所以,對(duì)于秋招這一場(chǎng)苦戰(zhàn),指定計(jì)劃尤為重要,一旦計(jì)劃定下來(lái),戰(zhàn)略目標(biāo)清晰,對(duì)應(yīng)的戰(zhàn)術(shù)制定也會(huì)變得清晰,執(zhí)行力也會(huì)隨之變強(qiáng)。

“寫(xiě)博客整合知識(shí)點(diǎn)”

至于復(fù)習(xí)方法,我主要通過(guò)看高質(zhì)量博客,并且結(jié)合代碼實(shí)踐的方式鞏固這部分知識(shí)點(diǎn),比如今天學(xué)習(xí)“concurrenthashmap”,我會(huì)去找兩三篇比較好的博客先看看,主要是源碼解讀方面的,然后我會(huì)把它們進(jìn)行整合,如果有遺漏的知識(shí)點(diǎn)我會(huì)再進(jìn)行補(bǔ)充,有時(shí)候我還會(huì)自己去看看JDK源碼,以便更好地理解博客內(nèi)容,完成知識(shí)整合之后,我就會(huì)對(duì)應(yīng)地整理出一篇博客出來(lái),發(fā)在我的個(gè)人博客上。

除此之外,當(dāng)我完成了一整個(gè)專(zhuān)題的復(fù)習(xí)之后,我會(huì)把這些文章整理成一個(gè)專(zhuān)題,比如上面說(shuō)的“concurrenthashmap”,實(shí)際上屬于Java并發(fā)包,所以我會(huì)專(zhuān)門(mén)做一個(gè)博客專(zhuān)欄,用來(lái)完成Java并發(fā)系列的文章專(zhuān)題。對(duì)于每一個(gè)文章專(zhuān)題,我都會(huì)先理清這個(gè)專(zhuān)題一共有哪些內(nèi)容,然后再開(kāi)始整理。比如對(duì)于Java并發(fā)包,我會(huì)先寫(xiě)Java多線程基礎(chǔ)的文章,再寫(xiě)JMM內(nèi)存模型的文章,接著一步步著手寫(xiě)Java線程池,阻塞隊(duì)列,工具類(lèi),原子類(lèi)等等。這樣一來(lái)這部分內(nèi)容就復(fù)習(xí)完畢了,寫(xiě)系列文章的好處就在于,我可以從頭到尾理清脈絡(luò),并且對(duì)于每一部分的知識(shí)點(diǎn)都做了比較好的總結(jié)。

對(duì)于博客的選擇,我吸取了之前的教訓(xùn),寧愿花半小時(shí)看一篇高質(zhì)量文章,也不花10分鐘看5篇爛文章。深度閱讀的好處,就是可以讓這部分內(nèi)容更好地融入你腦內(nèi)的知識(shí)體系,而不是像其他快餐文章一樣轉(zhuǎn)瞬即逝。

“做項(xiàng)目鞏固實(shí)踐能力”

由于之前在實(shí)習(xí)期間參加的項(xiàng)目都比較大,我接觸的模塊也比較單一,沒(méi)有對(duì)整體項(xiàng)目有一個(gè)很好的把握,所以我決定趁這段時(shí)間再鞏固一下我的項(xiàng)目實(shí)踐能力,這里的能力主要是指的是對(duì)項(xiàng)目架構(gòu)的把握能力,以及對(duì)業(yè)務(wù)開(kāi)發(fā)的熟練度,當(dāng)然也包括對(duì)各種常用后端技術(shù)的熟悉程度。

我花了大概一個(gè)月的時(shí)間完成了兩個(gè)項(xiàng)目的開(kāi)發(fā),當(dāng)然主要也是模仿兩個(gè)開(kāi)源項(xiàng)目,這兩個(gè)項(xiàng)目都使用SpringBoot快速開(kāi)發(fā),并且用到一些常用的后端技術(shù)比如redis,云存儲(chǔ),以及一些常見(jiàn)Web框架,除此之外還涉及到了solr,爬蟲(chóng)等技術(shù)。雖然項(xiàng)目不算很難,但是我在這段時(shí)間里很快地熟悉了完整項(xiàng)目開(kāi)發(fā)的流程,并且每天做迭代,通過(guò)Git來(lái)跟進(jìn)版本,每個(gè)版本都會(huì)寫(xiě)清所做的內(nèi)容,這也讓我對(duì)項(xiàng)目的架構(gòu)非常熟悉。

在項(xiàng)目之余,我也找一些常用的后端組件來(lái)跑一跑demo,以便讓我對(duì)這些技術(shù)有一個(gè)直觀的了解,比如面試常問(wèn)的dubbo,zookeeper,消息隊(duì)列等組件。這些嘗試也讓我在理解它們的原理時(shí)更加得心應(yīng)手了。

“堅(jiān)持刷題,注重方法”

算法題是秋招筆試面試中的重頭戲,每個(gè)研發(fā)同學(xué)都免不了經(jīng)歷算法題的摧殘,對(duì)我這么一個(gè)非科班同學(xué)來(lái)說(shuō),更是讓人頭大。正因?yàn)槿绱?,我放棄了刷大量LeetCode題目的方法,選擇了更加行之有效的刷題方式。

首先我重新刷了一遍劍指offer,并且對(duì)每道題目進(jìn)行總結(jié),盡量保證每一道題都可以記在腦子里,眾所周知?jiǎng)χ竜ffer中的題是面試時(shí)非常喜歡考的,所以先搞定這部分題目是最為關(guān)鍵的。

搞定劍指offer之后,當(dāng)然還要刷LeetCode了,LeetCode題目這么多,怎么選擇呢,我沒(méi)有按照tag刷,也沒(méi)有按照順序刷,而是參考當(dāng)時(shí)一個(gè)大佬的LeetCode刷題指南來(lái)進(jìn)行刷題的,他把每個(gè)類(lèi)型的題目都做了歸納,每部分只放一些比較經(jīng)典的題目。所以我前后大概刷了100多道LeetCode的題目,并且在第二遍刷題復(fù)習(xí)的時(shí)候,我也對(duì)這些題目做了一份總結(jié)。

除了上面兩個(gè)經(jīng)典題庫(kù),我還著重刷了大廠的歷年真題,這部分我主要是通過(guò)??途W(wǎng)的歷年真題題庫(kù)來(lái)完成刷題的。說(shuō)實(shí)話,真題是非常重要的,因?yàn)楣境龅念}目不像平時(shí)的那些算法題,可能會(huì)出得非常奇葩,所以你如果不提前適應(yīng)的話會(huì)比較吃虧。完成這部分題目之后,我對(duì)算法題的復(fù)習(xí)也基本告一段落了。

當(dāng)我完成所有內(nèi)容的復(fù)習(xí)時(shí),提前批已經(jīng)開(kāi)始了。終于要上戰(zhàn)場(chǎng)了,因?yàn)閼?zhàn)前準(zhǔn)備比較充分,所以我對(duì)秋招還是比較樂(lè)觀的,但事實(shí)上,秋招不僅是攻堅(jiān)戰(zhàn),而且是持久戰(zhàn),要笑到最后,確實(shí)也不是那么容易的事情。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容