Re: [請益] Leetcode刷一輪到能面試的程度要多久?

看板Soft_Job (軟體人)作者 (Mr.東)時間6年前 (2018/12/22 07:35), 編輯推噓58(58031)
留言89則, 58人參與, 7年前最新討論串3/4 (看更多)
一個剛結束面試地獄的人來分享一下個人心得,不過可能不適用於台灣職場... 很多人都以為面試跟考試一樣,給你一個題目,寫出正確答案就拿滿分, 然後拼命地刷累積題數,深怕考試考到自己沒看過的題目就掛掉。 但其實面試結果的評量並不是只有一個面向,並不是說你寫對就過,寫錯就沒過, 而是分成好幾個訊號來做評分: 1. 溝通能力: 我很喜歡敝公司人資找我去面試前說的一句話,他說「不要把面試官當考官, 而是把他當同事。」,面試其實就是讓面試官來評量看看你適不適合當他的同事。 當有一個新的問題出現時,你要怎麼和你的組員一起解決那個問題?你是不是可以跟 同事保持專業的討論,包容新的想法,不讓個人情緒影響工作? 所以當白板題出來時,第一件事情不是寫code,而是先跟面試官討論想法,確定問題 是否是你理解的那樣,然後提出你想到的解法,分析優缺點,是否有corner case, 最後雙方都同意了之後才需要開始寫code。 2. 系統性地解決問題的能力: 工程師最有價值的地方其實是找出解決問題的方法,而且可以系統化地運用工具去解決。 考演算法白板題最大的好處就在於這些題目通常scope不大,45分鐘或1小時通常就可以 提出一些解法。演算法本身就是一種工具,他們的存在就是為了解決一些常見的問題。 系統設計的題目也是要看你如何解決問題,只是題目更加開放性,通常不可能在短時間 內就提出完美的作法(現實生活中也不會有完美的做法),但可以提出一個大方向, 並對其中幾個部分有更深度的了解。 3. 化抽象為具體的能力: 身為一個碼農,要能把code寫出來是非常重要的事情,當你提出了做法的時候,你還需要 把你的想法轉化成實際的程式碼才行,如果你講得一口好演算法卻寫不出來,就很容易被 當作只會說說的人。另外,概念和實作總會有一點差距,例如程式語言的限制,機器資源 的限制等等,這些都是在面試寫code中很好的觀察與討論的點。 4. 產出具有Industrial standard結果的能力 這個對剛畢業的人比較比較無法體會。雖然每一家公司都有自己的標準,但還是一些共同 的基準可以當參考。如果你是個軟體工程師,從你寫的code裡面多少可以看出來是否達到 低標。最簡單的就是變數命名是否有意義,程式碼是否足夠精簡,沒有不必要的code等等 ,現場考寫code的話可以讓面試官更快的得知這個訊息。 綜合來說,面試考現場寫code算是一個對公司來說CP值很高的作法,能獲得的訊號多,花 的時間又相對少,找進來的人又大多符合預期,所以很多公司還是會採取這樣的方式。至 於台灣的公司是不是只學半套就不知道了... 回到原文問的問題,刷leetcode的重點絕對不是刷了幾遍刷了幾題,而是你是否因為刷題 而改進你的“錄取我吧”的信號(第2和第3點)。比起題數,更應該注意的是你是否因為 這題而讓你對工具(演算法)的使用更加熟練,進而拿它來解決新問題。雖然目前題目數 已經增加到900題,但絕大多數題目都還是用常見的工具去處理,例如BFS, DFS, sort, hash, binary search等等。如何能夠將這些東西用在提出解法,並且熟練的實作出來, 才是寫leetcode更重要的意義。之前一畝三分地有個題霸各種刷好刷滿,面試幾乎全都 秒寫最佳解,卻一個offer都還沒拿到。反而有許多寫2.300題的人拿了不少offer。 不能否認的確有些人靠著刷題背答案再加上運氣好遇到只出題庫的面試官而拿到offer, 但是不該把這些特例當作常態。沒有一個面試的系統是完美的,其中有很多trade off, 但是只要錄取進來的能有80%是符合預期的就已經很不錯了,剩下的就是利用淘汰機制 來處理掉面試系統過濾不掉的人。 至於有些人說考這些不如考工作上會用到的東西,我個人認為這是很困難的事情,因為 不同公司、不同部門、甚至不同人用的工具就有可能差很多,而且沒有兩個職缺需要的 東西是一模一樣的。即使是同樣的framework來說,面試官可能隨手考一個他最近剛用到 的function但你可能從來沒看過,這樣一來就無法評斷一個人解決問題的能力,而只能 知道這個人有沒有用過某種特定的東西而已,這種結果對於找正確的人進來也不會有太大 的幫助。 最後還是聲明一下,以上是個人在北美面試的經驗,台灣職場可能不適用QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 104.132.51.89 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1545435337.A.B03.html

12/22 07:49, 6年前 , 1F
好文 收藏了
12/22 07:49, 1F

12/22 07:54, 6年前 , 2F
從上面一串推文就知道 還是一堆死讀書的思維 不懂溝通
12/22 07:54, 2F

12/22 08:11, 6年前 , 3F
好文推推
12/22 08:11, 3F

12/22 08:17, 6年前 , 4F
12/22 08:17, 4F

12/22 08:19, 6年前 , 5F
推~當同事來談那句很不錯
12/22 08:19, 5F

12/22 08:25, 6年前 , 6F
其實這邊把奧義講出來了 心態對了 offer跟著來
12/22 08:25, 6F

12/22 08:50, 6年前 , 7F
12/22 08:50, 7F

12/22 08:51, 6年前 , 8F
好文 給推
12/22 08:51, 8F

12/22 08:57, 6年前 , 9F
12/22 08:57, 9F

12/22 09:19, 6年前 , 10F
還要刷兩三百題才拿得到offer 這邊會說刷三百題浪費時間
12/22 09:19, 10F

12/22 09:21, 6年前 , 11F
真的要刷三百題 full time也要1~3個月 這邊只會說工作用
12/22 09:21, 11F

12/22 09:21, 6年前 , 12F
不到浪費時間 對寫code沒幫助
12/22 09:21, 12F

12/22 09:24, 6年前 , 13F
https://goo.gl/14vAP8 full time 八百題 半年 這個太
12/22 09:24, 13F

12/22 09:26, 6年前 , 14F
狂 照著做很難 所以我覺得刷三百題起碼要半年
12/22 09:26, 14F

12/22 09:26, 6年前 , 15F
整天說刷題浪費時間的不可能叫他去刷半年三百題
12/22 09:26, 15F

12/22 09:31, 6年前 , 16F
這邊的風向是 面試只能問過去工作經驗 聊聊天就拿offer
12/22 09:31, 16F

12/22 09:32, 6年前 , 17F
面試前刷三十題easy就堪用 考超過這些範圍的公司就是自
12/22 09:32, 17F

12/22 09:32, 6年前 , 18F
以為是+浪費考生時間
12/22 09:32, 18F

12/22 09:34, 6年前 , 19F
"我資深工程師耶 居然問我BST怎麼實作 API call一下就好
12/22 09:34, 19F

12/22 09:34, 6年前 , 20F
原理google找一下就有的東西 問我這個浪費時間"
12/22 09:34, 20F

12/22 09:35, 6年前 , 21F
"現實工作中有誰會真的自己實作BST 工作又用不到" 這樣
12/22 09:35, 21F

12/22 09:45, 6年前 , 22F
因為是兩個世界的人啊,樓上寫韌體、驅動、演算法的,
12/22 09:45, 22F

12/22 09:45, 6年前 , 23F
考這些本來就很正常,App、Web前端應用的真的很少用到
12/22 09:45, 23F

12/22 09:45, 6年前 , 24F
12/22 09:45, 24F

12/22 09:48, 6年前 , 25F
後者更加注重對框架的熟悉程度、程式碼撰寫風格、可維
12/22 09:48, 25F

12/22 09:48, 6年前 , 26F
護性和設計模式,這些都用不到演算法
12/22 09:48, 26F

12/22 09:50, 6年前 , 27F
推第三點,個人覺得這一點很重要。十年前還是大學生時
12/22 09:50, 27F

12/22 09:51, 6年前 , 28F
有的人資料結構考試都80、90以上。剛好那時數獨剛流行
12/22 09:51, 28F

12/22 09:54, 6年前 , 29F
老師出作業,叫大家寫程式來解數獨(低難易度題目)
12/22 09:54, 29F

12/22 10:02, 6年前 , 30F
所以我說這篇刷三百題還是太多 現在風向是刷超過三十題
12/22 10:02, 30F

12/22 10:02, 6年前 , 31F
就是浪費時間
12/22 10:02, 31F

12/22 10:04, 6年前 , 32F
結果大概只有五個人寫得出來,其它人都寫不出來用抄的
12/22 10:04, 32F

12/22 10:04, 6年前 , 33F
推這篇, 建議m起來
12/22 10:04, 33F

12/22 10:04, 6年前 , 34F
用抄的還被助教抓包XD
12/22 10:04, 34F

12/22 10:22, 6年前 , 35F
實用推~
12/22 10:22, 35F

12/22 10:32, 6年前 , 36F
前端被考BST的路過
12/22 10:32, 36F

12/22 10:45, 6年前 , 37F
推~
12/22 10:45, 37F

12/22 11:26, 6年前 , 38F
前端跟app人多 帶出來風向當然是不刷題啊XD
12/22 11:26, 38F

12/22 11:41, 6年前 , 39F
推大神 然後某樓幹嘛那麼激憤 被嘴喔
12/22 11:41, 39F

12/22 11:46, 6年前 , 40F
跟中學生問說算這麼多數學幹嘛 不是都計算機就好了?
12/22 11:46, 40F

12/22 11:47, 6年前 , 41F
有幾分神似. 其實就是有地方用的到. 不想做且確定不
12/22 11:47, 41F

12/22 11:48, 6年前 , 42F
會用到 自然不碰也還行
12/22 11:48, 42F

12/22 12:06, 6年前 , 43F
12/22 12:06, 43F

12/22 12:27, 6年前 , 44F
好文
12/22 12:27, 44F

12/22 12:33, 6年前 , 45F
推這篇。其實很多鄉民就是喜歡自身經驗套到所有人,阿不就
12/22 12:33, 45F

12/22 12:33, 6年前 , 46F
有些公司/職位這樣考有其意義,有些確實不恰當
12/22 12:33, 46F

12/22 12:45, 6年前 , 47F
適性問題...唉
12/22 12:45, 47F

12/22 12:48, 6年前 , 48F
某人崩潰什麼,要刷就去刷,祝你刷到一飛沖天
12/22 12:48, 48F

12/22 13:16, 6年前 , 49F
這篇正解
12/22 13:16, 49F

12/22 13:39, 6年前 , 50F
這篇算可以 可惜沒寫到主要是會考量你的思維方式
12/22 13:39, 50F

12/22 13:39, 6年前 , 51F
刷題說真的對我們這懂頂尖人士來說真的不難
12/22 13:39, 51F

12/22 13:39, 6年前 , 52F
可是差別就在於當下思維的方式 有時候第一時間出來的
12/22 13:39, 52F

12/22 13:40, 6年前 , 53F
思維可能會影響整個公司的運作或是讓這服務多百E盈餘
12/22 13:40, 53F

12/22 13:40, 6年前 , 54F
不過老話一句 如果沒有想要到頂尖的公司去上班或是當個
12/22 13:40, 54F

12/22 13:41, 6年前 , 55F
4.5萬低階碼農的話 就直接pass這種刷題文章吧
12/22 13:41, 55F

12/22 14:21, 6年前 , 56F
這篇說的沒錯啊 刷題重要的本來就不是死背吧
12/22 14:21, 56F

12/22 14:23, 6年前 , 57F
推推
12/22 14:23, 57F

12/22 14:26, 6年前 , 58F
12/22 14:26, 58F

12/22 15:04, 6年前 , 59F
12/22 15:04, 59F

12/22 15:27, 6年前 , 60F
<<北美職場>> ...QQ
12/22 15:27, 60F

12/22 16:13, 6年前 , 61F
可以M起來+1
12/22 16:13, 61F

12/22 17:58, 6年前 , 62F
生命會找到出路,碰到要刷題的面試躲也躲不過,不如摸摸鼻
12/22 17:58, 62F

12/22 17:58, 6年前 , 63F
子想辦法克服。
12/22 17:58, 63F

12/22 18:54, 6年前 , 64F
完全同意!
12/22 18:54, 64F

12/22 19:10, 6年前 , 65F
12/22 19:10, 65F

12/22 19:37, 6年前 , 66F
12/22 19:37, 66F

12/22 20:20, 6年前 , 67F
好文推推
12/22 20:20, 67F

12/22 20:24, 6年前 , 68F
12/22 20:24, 68F

12/22 23:42, 6年前 , 69F
12/22 23:42, 69F

12/22 23:53, 6年前 , 70F
12/22 23:53, 70F

12/23 01:34, 6年前 , 71F
好!!
12/23 01:34, 71F

12/23 08:51, 6年前 , 72F
本篇正解 別用考試那套來面
12/23 08:51, 72F

12/23 10:46, 6年前 , 73F
好文
12/23 10:46, 73F

12/23 11:22, 6年前 , 74F
這篇中肯 很多人都以為刷題重點式題目本身而言
12/23 11:22, 74F

12/23 12:46, 6年前 , 75F
12/23 12:46, 75F

12/23 14:55, 6年前 , 76F
推推
12/23 14:55, 76F

12/23 15:52, 6年前 , 77F
推薦這篇文章
12/23 15:52, 77F

12/23 17:08, 6年前 , 78F
太正向了
12/23 17:08, 78F

12/23 17:11, 6年前 , 79F
台灣有台灣的玩法
12/23 17:11, 79F

12/23 19:54, 6年前 , 80F
12/23 19:54, 80F

12/23 22:35, 6年前 , 81F
12/23 22:35, 81F

12/23 23:06, 6年前 , 82F
App不刷題? 我遇過算法融入框架叫你coding的
12/23 23:06, 82F

12/24 00:57, 6年前 , 83F
12/24 00:57, 83F

12/24 01:15, 6年前 , 84F
GOOD
12/24 01:15, 84F

12/24 14:04, 6年前 , 85F
12/24 14:04, 85F

12/25 13:05, 6年前 , 86F
push!!
12/25 13:05, 86F

12/26 00:01, 6年前 , 87F
12/26 00:01, 87F

12/27 08:32, 6年前 , 88F
Push收藏
12/27 08:32, 88F

01/12 16:52, 7年前 , 89F
刷題就是for面試
01/12 16:52, 89F
文章代碼(AID): #1S7NZ9i3 (Soft_Job)
文章代碼(AID): #1S7NZ9i3 (Soft_Job)