昨天不小心超車跳過一天,忘記講之前說在〈什麼是技術面試〉中說好的「如何準備技術面試」。
今天就來好好談談,那個讓人緊張胃痛的技術面試,該如何準備。
既然是準備面試,那就要以「面試」為目標來準備。這句話聽起來很像廢話,打個比方大家可能會更清楚一點:
你各位身為看得懂中文的人,應該都很清楚,在填鴨教育下的大家是怎麼被訓練考試技巧,大家常常也會說「真正學東西」和「準備考試」是有很大的不同。
學東西若是學興趣,學身體健康,你可以慢慢學,每天讀大部頭經典書,談輪一些根本性的理論問題。
但如果你只有三週可以準備一個你沒經驗的考試,那你最有效的準備策略,不是在看什麼大部頭的經典書了,而是應該要熟悉考試制度、大量練習這個考試的常見考題,熟悉考試時的壓力和節奏,增加自己的穩定度。
我還遇過學生,在準備面試的階段,技術能力擺一邊在那邊給我練英文。這不就跟我寫論文的時候每天都在練煮菜一樣嗎。考試雖然很痛苦,但該面對的還是要面對。
你可能會對於這種「考試導向」嗤之以鼻,感到不以為然,覺得這些都是術不是道,都是花拳繡腿不是真內功。
通常會不以為然的人,都是平常內功練很深的人。內功是平常每天就要蹲馬步的,但這邊說的是要上戰場前的準備。
倘若你是個菜雞,就不要亂學大師的招式。
更何況,你沒有花拳繡腿,空有一身內功,出招就打歪,也沒正中目標,還想讓人把你當一回事嗎?
然後面試官也不是笨蛋,有些東西是基本題,是在測水深的,如果你答題顯示你是個內功強大的人,他自然會拿出一些壓箱寶對付你。但你若是連基本題都沒答好,甚至沒有很突出。憑什麼要人家來苦心挖掘你這塊璞玉呢?
面試就是把自己擦亮準備好呈現給別人看的過程。你連自己都懶得打摩擦亮,憑什麼要人家花時間來欣賞你呢?
面試多半是一次決勝負的單淘賽的東西,沒時間跟你反覆捉模打個7局冠軍戰,你若是對自己有要求,對目標有追求,就應該拿出衝刺的精神來準備。
準備考試的時候要大量複習重點觀念,準備面試的時候也是。
沒有賣面試參考書,那你就要手腳勤勞一點自己去找各種面試考古題。然後也要知道,你要應徵的位置,通常會有哪些位置。
例如一個有競爭力的 Junior 前端要求可能是:
那這三者,你分別都夠有把握了沒?JS 的常見面試題都能有把握用「口說」的方式回答好嗎?框架的特性呢?切版相關的問題和實務常見的作法呢?
就算你都不知道,也至少要有 sense 會去問人,就算不敢問人,也要拿出工程師查資料的精神,讓自己反覆熟悉技術面試常見問題。
網路上也有很多佛心人士整理的技術考題大全,這點小功課真的要自己動手做。你現在做多少事,就決定了你未來可以去到什麼樣的地方。
it幫上同樣有很多資源,我去年的鐵人賽隊友 Gary 曾經寫過【前端三十 - 成為更好的前端工程師】,這系列的文章沒讀完,別說你要去面試前端。
自己跟自己練習是這樣的,因為面試經常是口語表達的過程,因此你除了要有知識的吸收 (input) 之外,也需要自己「講出來」練習(output)。很多時候你會發現,讀都讀得懂,講出來就超卡。甚至連自我介紹都會超卡。
倘若你不是個表達能力極好的人,請都一定要自我練習,而且練習的時候最後對著鏡子或是開個視訊鏡頭把自己的樣子錄起來,你才會知道自己也多大的進步空間看起來有多菜。
接著上一點我們說到 output 的重要性,找人模擬面試可能又更多了「臨場感」和「未知感」。自己練習的時候你已經知道題目了,但模擬面試的時候,請盡量讓幫你的人以盡量真實的情境來進行。
我看過平常表現很好的學生,前幾個問題被問倒,後面就兵敗如山倒,氣勢只剩 8%,又或是遇到比較嚴肅(臭臉)的面試官,就緊張到不行,講話又卡又結巴。
這樣真的不行,面試經驗太少了,空有一身優秀,結果上場在發抖。
有練習也要有回饋,可以的話,也請幫你模擬面試的人針對你的表現給你回饋,祝他好人一生平安。最好找到工作的時候也別忘了跟一路幫助你的人分享你的結果。
以上幾點,是我認為工程師在準備技術練習,幾個很重要的準備心態和練習。其實都是些老生常談,但我真的不想再看到有人當伸手牌問我要怎麼準備面試(但問了卻不行動)。
很多時候的不知道,問題都是出在你的懶惰,而不是你的無知。
本篇文章為 2020 鐵人賽系列文章第 15 篇。我在〈半路出家轉職工程師?你該知道的 30 件事〉 系列文中,會連續 30 天發文分享我在過去兩年輔導百位學生轉職「網頁工程師」(web developer)的經驗出發,轉職軟體工程師,應該要知道、注意、準備好的 30 件事。
歡迎訂閱和留言討論~
除非是真的很有名氣的工程師,基本上面試都一定要特別準備,越大的公司越要求基礎,可是進去之後真的碰的到這些東西嗎?很難說,但是他一定會考。
欸發現這四點真的都很實用耶!(趕快學起來)
哈哈,說的真好,「進去一定會用的到嗎?很難說,但是他一定會考」