校招前幾個月,如何高效地進行復習?

校招前幾個月,如何高效地進行復習?距離明年春招還有三個多月的時間,不少想找實習和想參加補招的同窗應該也都在忙着複習。今年的春招已結束,我在開始準備秋招了,也就是從4月份到7月份這段時間,我完成了一次比較系統的複習。因此把一些經驗分享給你們,總歸會有一些參考價值的。程序員

面試

平時的積累和沉澱redis

研究生期間我有一件事情一直在堅持,那就是作筆記和寫博客。算法

作筆記,就是記錄學習中大大小小的事情,多是面試問題,多是一週的學習計劃,也可能知識一個知識點,總歸都是值得記錄的東西,對我來講,就是一種積累。而對於博客,我從一開始只用於記錄項目,到後來作轉載,再到後來寫原創,整理系列文章,則更像是一種沉澱。編程

可是在春招剛剛結束的這段時間,我發現一個問題,以前學過的東西忘記了不少,特別是那些理解的不夠深的知識點,老是特別容易忘記。另外我發現,雖然我在筆記中記錄了不少的知識點和麪試題,可是每每我只看過一次,不會再去看第二次。後端

這也意味着,雖然記錄的內容不少,可是真正消化吸取的內容不多,腦子裏充斥着老是那些零碎的知識點和麪試問題,對於完整的知識體系知之甚少。這些問題在春招期間也不斷地暴露出來,讓我思考了好久。設計模式

面對如此窘境,我想作出改變,趁着如今時間充裕,我想要爲這些內容作一次減法,而且藉此機會,推翻本身原有的知識體系,重建新的知識框架。簡單說來,就是從新開始學習Java後端,此次我要用一種更高效的方式,避免走以前走的彎路,要用最高效,最合理的方式去複習。因爲我以前已經有基礎,因此我對完成這一目標有信心,相應地我也爲此作出了明確且詳細的學習計劃。微信

具體怎麼重建知識體系,我後面會單獨寫一篇文章探討,一言以蔽之,就是從新梳理知識點,讓本身對每一個知識點都能有較深刻理解,這樣在面試中才可以作到成竹在胸。多線程

我把秋招前幾個月的複習過程總結爲一下幾個關鍵詞,每一個部分的複習內容都是針對我以前的一些短板,加以完善和補充。架構

作計劃,也寫博客
「具體可靠的學習計劃」

在三個月的時間裏,我首先按照Java後端路線圖安排好複習計劃,每一個知識點都會對應安排一段時間,好比我可能花一天時間複習「Java反射」,兩天時間複習「設計模式」,一週的時間用於複習"JVM虛擬機」。我通常會在月初作好整個月的計劃,而後根據進度作一些微調,可是基本上我均可以跟上進度,而且是在複習到位的前提下。

因此我以爲,對於秋招這一場苦戰,指定計劃尤其重要,一旦計劃定下來,戰略目標清晰,對應的戰術制定也會變得清晰,執行力也會隨之變強。

「寫博客整合知識點」

至於複習方法,我主要經過看高質量博客,而且結合代碼實踐的方式鞏固這部分知識點,好比今天學習「concurrenthashmap」,我會去找兩三篇比較好的博客先看看,主要是源碼解讀方面的,而後我會把它們進行整合,若是有遺漏的知識點我會再進行補充,有時候我還會本身去看看JDK源碼,以便更好地理解博客內容,完成知識整合以後,我就會對應地整理出一篇博客出來,發在個人我的博客上。

除此以外,當我完成了一整個專題的複習以後,我會把這些文章整理成一個專題,好比上面說的「concurrenthashmap」,實際上屬於Java併發包,因此我會專門作一個博客專欄,用來完成Java併發系列的文章專題。對於每個文章專題,我都會先理清這個專題一共有哪些內容,而後再開始整理。好比對於Java併發包,我會先寫Java多線程基礎的文章,再寫JMM內存模型的文章,接着一步步着手寫Java線程池,阻塞隊列,工具類,原子類等等。這樣一來這部份內容就複習完畢了,寫系列文章的好處就在於,我能夠從頭至尾理清脈絡,而且對於每一部分的知識點都作了比較好的總結。

對於博客的選擇,我吸收了以前的教訓,寧願花半小時看一篇高質量文章,也不花10分鐘看5篇爛文章。深度閱讀的好處,就是可讓這部份內容更好地融入你腦內的知識體系,而不是像其餘快餐文章同樣轉瞬即逝。

作項目,也刷算法

「作項目鞏固實踐能力」

因爲以前在實習期間參加的項目都比較大,我接觸的模塊也比較單一,沒有對總體項目有一個很好的把握,因此我決定趁這段時間再鞏固一下個人項目實踐能力,這裏的能力主要是指的是對項目架構的把握能力,以及對業務開發的熟練度,固然也包括對各類經常使用後端技術的熟悉程度。

我花了大概一個月的時間完成了兩個項目的開發,固然主要也是模仿兩個開源項目作了,這兩個項目都使用SpringBoot快速開發,而且用到一些經常使用的後端技術好比redis,雲存儲,以及一些常見Web框架,除此以外還涉及到了solr,爬蟲等技術。雖然項目不算很難,可是我在這段時間裏很快地熟悉了完整項目開發的流程,而且天天作迭代,經過Git來跟進版本,每一個版本都會寫清所作的內容,這也讓我對項目的架構很是熟悉。

在項目之餘,我也找一些經常使用的後端組件來跑一跑demo,以便讓我對這些技術有一個直觀的瞭解,好比面試常問的dubbo,zookeeper,消息隊列等組件。這些嘗試也讓我在理解它們的原理時更加駕輕就熟了。

「堅持刷題,注重方法」

算法題是秋招筆試面試中的重頭戲,每一個研發同窗都免不了經歷算法題的摧殘,對我這麼一個非科班同窗來講,更是讓人頭大。正由於如此,我放棄了刷大量LeetCode題目的方法,選擇了更加行之有效的刷題方式。

首先我從新刷了一遍劍指offer,而且對每道題目進行總結,儘可能保證每一道題均可以記在腦子裏,衆所周知劍指offer中的題是面試時很是喜歡考的,因此先搞定這部分題目是最爲關鍵的。

搞定劍指offer以後,固然還要刷LeetCode了,LeetCode題目這麼多,怎麼選擇呢,我沒有按照tag刷,也沒有按照順序刷,而是參考當時一個大佬的LeetCode刷題指南來進行刷題的,他把每一個類型的題目都作了概括,每部分只放一些比較經典的題目。因此我先後大概刷了100多道LeetCode的題目,而且在第二遍刷題複習的時候,我也對這些題目作了一份總結。

除了上面兩個經典題庫,我還着重刷了大廠的歷年真題,這部分我主要是經過牛客網的歷年真題題庫來完成刷題的。說實話,真題是很是重要的,由於公司出的題目不像平時的那些算法題,可能會出得很是奇葩,因此你若是不提早適應的話會比較吃虧。完成這部分題目以後,我對算法題的複習也基本告一段落了。

當我完成全部內容的複習時,提早批已經開始了。終於要上戰場了,由於戰前準備比較充分,因此我對秋招仍是比較樂觀的,但事實上,秋招不只是攻堅戰,並且是持久戰,要笑到最後,確實也不是那麼容易的事情。最終我仍是比較幸運地經過了幾家大公司的面試,包括BAT、頭條、網易,以及後面面試的滴滴和亞馬遜。

固然,研究生兩年時間的學習和積累是更重要的部分,可是臨考的這段時間,你仍是須要作一些比較科學的計劃,有選擇性地進行查缺補漏,對每一個知識點都要作到心中有數,只有這樣,你纔可以在校招的考場上笑到最後。

微信公衆號【程序員江湖】

做者黃小斜,斜槓青年,某985碩士,阿里研發工程師,於2018 年秋招拿到 BAT 頭條、網易、滴滴等 8 個大廠 offer

我的擅長領域 :自學編程、技術校園招聘、軟件工程考研(關注公衆號後回覆」資料「便可領取 3T 免費技術學習資源)

相關文章
相關標籤/搜索