微信公衆號【程序員江湖】
作者陸小鳳,985 軟件碩士,阿里 Java 研發工程師,在技術校園招聘、自學編程、計算機考研等方面有豐富經驗和獨到見解,目前致力於分享程序員乾貨和學習經驗,同時熱衷於分享作爲程序員的一些成長心得和生活感悟。
關注後在後臺回覆“資料”即可領取3T免費技術學習資料(包含作者的原創文章合集)
校園招聘往往有一道邁不過的坎,就是筆試,相對於面試來說,筆試顯得更呆板和殘酷。
不論你各方面能力如何,只要筆試不過,就沒有面試機會,特別是有些筆試只考算法題,做對就有分,做錯可能一分都得不到。往往成績是按答對題數來算,而不是分數。
簡單來說,筆試是最粗暴且成本最低的刷人方式,因爲公司人力有限,應聘人數往往卻很多,不可能都安排面試,所以筆試和簡歷篩選就可以刷掉大部分人,有一些人可能是偶爾發揮不好,但公司不在乎。
供求關係擺在這裏,筆試顯然是不可避免的。雖然有一些提前批面試不需要經過筆試,但大部分的公司都需要經歷筆試環節。
俗話說的好,上有政策下有對策,我們學生也會有相應的方式去準備筆試。大概講一些方法吧。
1 打好算法和數據結構基礎
在做題之前,你需要學會數據結構與算法的基礎知識。推薦看一些算法和數據結構入門書籍,同時使用你擅長的語言自己寫一遍。熟能生巧,直到你真正掌握。
2 劍指offer
劍指offer是一本經典的算法書籍,不僅適用於面試,有些公司的筆試題也會參考劍指offer。
3 LeetCode
刷完劍指offer並且真正掌握以後,可以開始刷LeetCode了,LeetCode的題目往往被直接搬到筆試題中考察。建議大家按照一定順序進行刷題,主刷medium和easy。
4 公司真題
有些公司筆試題喜歡自己出,有時候題型很奇怪,出題形式也不盡相同,結果經常讓人猝不及防,只能放棄。所以提前刷一些公司的筆試真題也是非常重要的一步,等你刷多了,就會感覺碰到什麼樣的題都能寫一點。
5 熟悉自己使用的語言
這裏主要指的是要了解編程語言中數據結構的使用,比如棧,隊列,鏈表,哈希表等等,還要會使用一些排序方法,比較器。除此之外,還得會寫基本的輸入輸出,因爲很多在線筆試的網站都要求自己完成輸入輸出。
6 科學答題
這裏說一個小技巧,就是實在想不出來的話,可以直接輸出測試用例。
7 檢查錯誤
另外,有些題目可能會超時,原因是複雜度太大,可以考慮空間換時間。
而有些題報內存問題,此時要檢查一下數組大小是不是超過規定的空間複雜度了。
如果是遞歸棧溢出,則可能要考慮剪枝或者使用非遞歸做法。
另外,記得要檢查你的變量類型是否正確,有時候可能需要用long但你卻用了int,也會導致白白丟分。
8 本地調試
很多筆試題都支持本地編輯器提交處理,所以你可以先在本地進行測試,如果有問題的話可以考慮斷點調試,更容易發現錯誤在哪裏。
更多專題