一直刷 Leetcode 卻沒上岸?你可能刷錯方法了
若目標是進入大公司或海外企業,Leetcode 刷題仍是不可或缺的準備方式。刷題建議:從前 200 題開始練熟、分類練習、避免死背、模擬真實面試環境,並強調觀念建立比考試分數更重要。


文章目錄



文/Jamie Chen
前言
相信各位軟體工程師都知道這幾年刷題的風潮,好像沒刷就不能去面試了,其實也不是,但如果你的目標是大公司或是國外的公司,那一定要刷題。
刷題技巧
我知道有些人蠻鄙視刷題的,但我覺得因為不想刷題,錯過一些好公司是非常可惜的。我個人都是以 Leetcode 這個網站來練習,這個網站不只把題目分類,還有題目出現的頻率,如果是想針對某些公司面試,是非常推薦再買 Premium 的,那到底要怎麼刷題呢?
- 先從前 200 題開始,前 200 題都是很經典的題目跟演算法,前 200 題一定要刷熟,我個人大概刷了 3 次,因為刷過一定會忘,一定要複習
- 按照 Tag 分類刷,array, binary search, binary tree…可以先從一些有意義的 easy 題目開始,把基本觀念好好複習一次
- 不要用 IDE,面試不是白板就是空白的 online coding,絕對沒有 autocomplete
- 不要死背答案,看過有些人是用背的,但如果面試遇到一點點變化的題目,很容易就被考倒
- 到討論區看最多 Vote 的答案。我自己習慣先想個10分鐘,大概寫一下 brute force 或是想一些這題應該用什麼演算法,寫不出來就會直接看答案,看別人怎麼寫的,怎麼寫出這麼酷跟乾淨的code,多學習別人的寫法是很重要的
- 不要把刷題想成考試。這點是我覺得最重要的,不要覺得這只是考試,其實很多東西平常都會用到。比如說 146. LRU Cache,Glide Library(The image loading and caching for Android)的cache 設計就是以 LRU 為基礎,所以刷題的時候不但可以練習基本的概念,也可以知道平常使用的 library 的設計方法,我在 system design 面試的時候真的有被問 Glide 是怎麼實作的。
建議
但其實我覺得 300 題就夠應付很多基本的題型跟大部分國外的公司了,但如果是以 FAANG 那 300 可能就真的不太夠,因為競爭激烈,水準也提高很多。刷題真的是靠累積,可以每天 1, 2 題練習,不要高估一天可以做的事,但也不要低估一年可以做的事。2020 真的變動很大,但我自己因為 2020 多刷了很多題,回頭一看,也是一個很大的收穫。祝大家找工作順利,拿到心目中滿意的offer!
本文經 Jamie Chen 授權
文章來源:面試到底要不要刷題?