## 前言 - 背景 - 台大文組學、電資碩,沒有實習經驗 - 農曆新年後開始投履歷,投了近百封履歷,面試了 22 家公司,職缺皆為 Firmware or Software Engineer,有幸拿到 8 個 offer - 在準備的過程中受惠於網路良多,不管是 Dcard or ptt,或是 blog,因此整理了相關資源,希望這篇文章對正在看這篇文章的你有所幫助 ## 面試前的準備與相關資源整理 - 刷題 - 策略 - leetcode 用 C & C++ 總共刷了 600 題,medium x 370、hard x 100,每題 2 ~ 3 遍,有用類似 Anki 的工具(Space Repetition)來定期複習之前做過的題目。 - weekly contest 通常都只解出三題,第四題 Hard 要看運氣 - 前 300 題左右都是不會直接看解答,然後把解答背起來以建立各個主題的常見 pattern,以及熟悉 C++ STL、Container 的使用,後 300 題則會自己想出解答(除了 Hard)。 - useful resources - [neetcode roadmap](https://neetcode.io/roadmap) - [Grind 169](https://www.techinterviewhandbook.org/grind75?weeks=28&hours=6) - [lee215 - good medium problems for interview and for practice](https://leetcode.com/discuss/feedback/4518909/(Replied)-Happy-New-Year-2024/) - [Tech Interview Handbook's algorithm study cheatsheets.](https://www.techinterviewhandbook.org/algorithms/study-cheatsheet/) - [wisdom peak](https://www.youtube.com/user/wisdompeak) - [Solved all dynamic programming (dp) problems in 7 months](https://leetcode.com/discuss/general-discussion/1000929/solved-all-dynamic-programming-dp-problems-in-7-months) - [Powerful Ultimate Binary Search Template. Solved many problems](https://leetcode.com/discuss/general-discussion/786126/Python-Powerful-Ultimate-Binary-Search-Template.-Solved-many-problems) - [Binary Search 101](https://leetcode.com/problems/binary-search/solutions/423162/Binary-Search-101-The-Ultimate-Binary-Search-Handbook/) - [Graph algorithms + problems to practice](https://leetcode.com/discuss/study-guide/1326900/graph-algorithms-problems-to-practice) - [A summary about how to solve Linked List problem, C++](https://leetcode.com/problems/add-two-numbers/solutions/1340/a-summary-about-how-to-solve-linked-list-problem-c/?orderBy=most_votes) - [POWER UP C++ WITH THE STANDARD TEMPLATE LIBRARY PART ONE](https://www.topcoder.com/thrive/articles/Power%20up%20C++%20with%20the%20Standard%20Template%20Library%20Part%20One) - [awesome-competitive-programming](https://github.com/lnishan/awesome-competitive-programming) - [演算法筆記](https://web.ntnu.edu.tw/~algo/) - [Algorithms for Competitive Programming](https://github.com/cp-algorithms/cp-algorithms) - Codeforces - leetcode 刷到後期發現 leetcode hard 還是常常解不出來,所以開始刷 Codeforces,可惜到面試前 hard 還是常常解不出來,看來是刷的還不夠多 - 照著 difficulty 刷,只要當前難度可以秒解後就提升 100,面試之前只刷到 1800 - Codeforces 除了提升解題能力之外,還會訓練到自己處理 input output 的能力(leetcode 只需要寫演算法相關的 code) - C - 策略 - Jserv 教的東西念好念滿 - useful resources - [「你所不知道的 C 語言」系列講座](https://hackmd.io/@sysprog/c-programming) - [Linux 核心設計/實作 (Linux Kernel Internals)](https://wiki.csie.ncku.edu.tw/linux/schedule) - [The Linux Kernel Module Programming Guide](https://sysprog21.github.io/lkmpg/) - [Linux Kernel Teaching](https://linux-kernel-labs.github.io/refs/heads/master/) - [「Linux 核心設計」系列講座](https://hackmd.io/@sysprog/linux-kernel-internal) - 準備面試的過程中自行整理的:[C 語言考古題](https://hackmd.io/@JJJJJJ/Sk4s24gIT) - C++ - 策略 - 先看完 C++ Primer,把 C++ 基本功打好,再利用 CppCon (尤其是 back to Basics 系列) 系列去熟悉 Modern C++ (C++11 以後)的相關知識 - useful resources - C++ Primer Plus, 6/e - [CppCon: Back to Basics](https://www.youtube.com/watch?v=Bt3zcJZIalk&list=PLHTh1InhhwT4TJaHBVWzvBOYhp27UO7mI&pp=iAQB) - [C++ Weekly With Jason Turner](https://www.youtube.com/@cppweekly) - Python - [The Python Tutorial](https://docs.python.org/3/tutorial/index.html) - Miscellaneous - [Pro Git](https://git-scm.com/book/zh-tw/v2) - [鳥哥](https://linux.vbird.org/) - [GNU Make](https://www.gnu.org/software/make/manual/make.html) - 程序員的自我修養:鏈接、裝載與庫 - Linux System Programming, 2nd Edition - Behavior Questions - [常見 Behavior questions 問題蒐集 - 面試官想知道什麼和如何回答的提示](https://hackmd.io/@6PPVul2mS7OX2GuGXlUCDA/behavior_questions) - 薪水參考 - [台灣純軟薪資統計 ](https://docs.google.com/spreadsheets/d/1IpY5nyMxoHMvTtumy1f7LELxn-KGrk4b_0ApcUtuJUM/edit#gid=622908817) - [矽谷輕鬆談薪水資訊](https://docs.google.com/spreadsheets/d/1woaGveprl4eS-UNUvbt8JD8mSSgqad2tq3JzM9TU_cw/edit#gid=1373227723) - [純軟](https://docs.google.com/spreadsheets/d/1GMYKVBxRlMv6oNVNzpXYoLUSyT8ZnLEjGcRbn0b4KsA/edit#gid=788239997) - [系統廠](https://docs.google.com/spreadsheets/d/1nTXqW-PyFl6AZUYbDDQwru_iAYVnpDWd_02WkRqigCg/edit#gid=1092767069) - [Design House](https://docs.google.com/spreadsheets/d/1nacH5Sq9_1MhPxJUxOjE-VqPJwxdGyrqk4DVhULuXmg/edit#gid=56632926) - [科技業 剛畢業新鮮人起薪 分享](https://tech-fresh-salary.netlify.app/) - [畢業薪資分享](https://docs.google.com/spreadsheets/d/1hjvg6Rcy2aI90jT11yuI3MYD6DVow0CuJLuqtz4-IeU/edit#gid=1044743989) - 談薪水 - [Ten Rules for Negotiating a Job Offer](https://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/) - [求職如何跟公司討價還價](https://www.1point3acres.com/bbs/thread-286214-1-1.html) - [其他 疫情期間只有一個offer的畢業生如何討論談判工資](https://www.1point3acres.com/bbs/thread-681938-1-1.html) - [offer negotiation:求職如何跟公司討價還價](https://blog.1point3acres.com/how-to-negotiate-salary) ## 面試 - 職缺 - Product Developer - 狀態 - Offer Get - 一面(視訊) - 第一關 - 自我介紹 - 問 OS 相關的問題 - leetcode easy x 1 - 面試官介紹部門的工作內容 - 第二關 - 自我介紹 - 問 OS 相關的問題 - Modern C++ - leetcode medium x 1 - 面試官介紹部門的工作內容 - 二面(現場) - 第三關 - 自我介紹 - 問 OS 相關的問題 - Modern C++ - System Design x 1,會不斷地加上各種 constraint 作為 follow-up - 面試官介紹部門的工作內容 - 第四關 - 自我介紹 - HR 專業問題,常見 BQ - 第五關 - 自我介紹 - 問碩論細節 - 介紹部門工作內容 - 大主管當場發口頭 offer,然後閒聊 system design - 心得 - 在與每個面試官對談的過程中,感受到他們每個人實力都很強,也都很親切,會和面試者積極溝通,一起討論出問題的解方,而不是上對下的在考試。不愧是號稱亞東谷歌、資工系聖杯的公司。 - 在聽到大主管的口頭 offer 的當下,我腦中只有一個畫面(大主管就像是教父): - <iframe src="https://giphy.com/embed/l0Iy5Wa8fkAewhfW0" width="480" height="267" frameBorder="0" class="giphy-embed" allowFullScreen></iframe><p><a href="https://giphy.com/gifs/movie-the-godfather-francis-ford-coppola-l0Iy5Wa8fkAewhfW0">via GIPHY</a></p> ## 心得與總結 - Jserv 教的東西唸得滾瓜爛熟,作業好好寫準沒錯,不管面試官問你什麼 OS 相關的問題,Linux Kernel 裡一定都有對應的解答 - 以戰養戰,面試經驗(被拒絕的經驗)多了就不會緊張了 - 放在履歷上的東西很大機率就是會被面試官問的東西,所以要慎選 - 拿到 offer 努力和運氣缺一不可 - 要感謝的人太多了,就謝天吧
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.