軟體工程師求職: Code Interview 準備攻略|應徵技巧分享
無論你正面臨面試挑戰,或是在職場中努力站穩腳步,這裡整理了實用經驗與建議,協助你釐清方向、提升應對力,並在每個職涯轉折點做出更明智的選擇。


文章目錄



▲軟體工程師求職:Code Interview 準備攻略,圖片來源: freepik
文/CraftsmanHenry
一提到LeetCode(a.k.a 刷題)相信跟我一樣的軟體人對它肯定是又愛又恨,愛在「也許」可以幫你換更好的工作,恨在工作用不太到且無聊乏味,而且刷題時間一久不禁還會懷疑自己,因此不論大家認為刷題是洪水、猛獸還是那盞可以讓你許三個願望的神燈都好,我想我們該從「為什麼」這個問題開始思考,就跟我過往的文章一樣,我試著說明我自己的想法,或許大家不認同也沒關係,但請大家試著思考一下,「為什麼」自己會想接受這個無聊乏味的挑戰
推薦文章>>資工新手如何有效率的準備面試 (coding篇)?
我的為什麼
我想有些人也跟過去的我一樣認為,為什麼自己要刷LeetCode,明明自己就有能力處理得了公司面對的所有問題與需求,不需要透過這種與自己工作無關的技能來證明自己,但換位思考若今天我身為一個面試官,我該如何就面試者過去與自己公司無關的經驗來知道面試者能否解決我們公司的問題呢?況且還需要在短短的60分鐘內判斷,其實很困難甚至無法,因此
Code Interview(LeetCode)正是最簡單且快速的方式來試探一個人的分析問題思維
所以我無法否定它的用處,且若想改變這個制度,也需要我透過「走過這個過程深入其中並理解這個程序的問題後,再來尋求改善的方式」,因此Code Interview是改變這個制度的門票,更重要的是能避免被大家冠上「吃不到葡萄嫌葡萄酸」的臭名(也許我很在意這個 😂),但這些正是我的原因。
如果我的想法並不能說服正在看這篇文章的你,那也許讀者該想想自己做這件事的理由,或許這件事真的就無法協助你達成你的目標,那這篇文章或許不是屬於你的。甚或是你沒遠大的理想只是想利用Code Interview的技巧獲取進入大公司的機會,這些都很好,只要確定自己有足夠強的理由給自己動力支撐這整個乏味的過程,當自己失去動力時,記得回頭想想自己的初衷。
你是大神嗎?
來看這篇文章的人,我想會有人有這個疑問,想知道為什麼我有資格寫這篇文章,因此我在一開始就直說「我不是什麼大神」,也沒有在什麼很厲害的公司任職,只是最近又有重新刷題的需要,因此想回顧一下自己過去查的資料,並回想過去路上碰過的釘子,總結一些自己這次刷題時要把握的心法和原則,同時分享給看到這篇文章的讀者。在這篇文章中,我只會是個陪大家一起struggle、一起踩地雷的網友,並分享一些自己解的題目跟解法,希望大家不會太失望。
想跟大家分享的解題經驗
相信大家在網路上可以查到不少影片,而一些基本概念、心法與誤區像是
- 別背題,而是學會解決問題的思維
- 別海量亂刷題,而是有重點的刷
- 別用 IDE 尤其是有 auto complete 的那種,因為面試都 white board
這裡就簡單帶過,不過老實說這些誤區我都踩過,因此下面想與各位分享的是我如何建立一套練習的系統,這套系統最主要是能幫助我建立信心去面對白板題面試並培養我覺得最重要的能力
分析問題,並能由簡入深以漸進式的方式提出並改善解決方案,同時思考到解決方案的效能
而這套系統是由三個步驟所組成
- 選題
- 追蹤
- 答題方法
那就廢話不多說從重點選題的方法開始吧!
選題
為了避免胡亂寫題目,首先就是要從面試常會遇到的演算法和資料結構來選題,我統整以下一共有 14 種
上一篇: 2024 阿聯酋航空空服員面試經驗|面試經驗分享 下一篇: 面試準備指南:從刷題到溝通,打造機器學習工程師之路|應徵技巧分享你可能會喜歡的文章
