陣雨:
在每日一題 Leetcode 的日常中,看到 LinkedIn 上來自 LinkedIn 自己工程師的建議,一語驚醒夢中人,於是記錄下來,警醒自己:
作者
- Nikita Kothari
- Software Engineer @ LinkedIn
- The University of Texas at Dallas
正文
Nikita:
Recently I interviewed and got 7 offers within two months of preparation and accepted Senior Software Engineer position at LinkedIn. I want to share some useful resources which might help you to land your dream job.
最近,我在兩個月內準備了面試並錄取了七個職位,且最終且接收了 LinkedIn 的高級軟體工程師一職。我想要分享一些有用的資源,這些資源可能可以幫助你找到你夢寐以求的工作。
1. 自信
Confidence is the key. Don’t jump into the interview process when you are not fully prepared.
信心是關鍵。當你還沒有做好充分準備前,不要貿然的進入面試階段。
2. 刷題
Rather than doing 1000s of leetcode (https://lnkd.in/gyRnXuHQ), do few examples and understand the patterns which will help you to crack any problem. Also, think about all edge cases and test cases.
比起刷 1000 題 leetcode,做幾個經典例題並瞭解其模式(pattern),這將會有助於你破解任何問題。同時,請充分考慮邊際條件(edge cases)與測資(test cases)。
3. 複雜度
At the end, spend some time thinking about time and space complexity. It gets tricky with graph and tree problems.
在解題的最後,花點時間思考時間複雜度與空間複雜度。特別在棘手的圖形與樹問題。
4. 應用
Think about the possible use cases of the given problem, for example, flood fill is nothing but the paint app and try to explain that to the interviewer.
思考題目可能應用的實況,舉例來說,flood-fill 只不過是繪畫應用程式,並嘗試向面試官解釋。
5. 專案
Create a Google doc and list down all recent/interesting project you worked on. Start with design, implementation, testing, monitoring, your contribution and ask yourself what questions a person can ask if he/she doesn’t have any idea about the project. This will also help you during the system design interview.
創建一個 Google 文件並列出所有你最近正在著手或有趣的專案。從設計、實作、測試、監控、你的貢獻開始,並問自己,如果一個人對此專案毫無概念時,他/她可以問什麼問題。
6. STAR
Also, create a Google doc for behavior questions (https://lnkd.in/gPp8iE_x) and write down what was the situation, what was your task, what action you took and what was the result. Read more about the STAR approach. Companies like Amazon, pays more attention to these questions so be well-prepared.
此外,為行為問題創建一個 Google 文件,並寫下情況,你的任務是什麼,你採取了什麼行動,結果是什麼。閱讀更多有關 STAR 的方法。像亞馬遜這類的公司,更在乎這類的問題,所以需要做好充分準備。 註:情境/任務/動作/結果 Situation/Task/Action/Result
7. 模擬面試
Do practice interviews with your friends and peers, and take feedback seriously.
與你的朋友、同儕練習面試,並且認真的對待他們的回饋。
8. 記錄面試
At the end of an onsite interview, make a list of what went well and where you need to put more attention and work on it.
在現場面試後,列出哪些方面進展順利,哪些需要投入更多的注意力與力氣。
9. 連結經驗
While practicing system design, try to relate things with your current or past experience. Like how server side configuration has been set up or how APIs are implemented in your current project. This way you will remember things easily.
在練習系統設計時,試著與你現在或以前的經驗聯繫起來。例如伺服器端配置的方法、API 在你當前的專案中是怎麼被實現的。這些方法會讓你更容易記得這些事。
10. 參考
Before your onsite interview, visit Glassdoor (https://lnkd.in/gwKXeYQA) and read about other’s experiences. That will give you an idea on what to expect.
在現場面試前,參考並閱讀其他人的經驗,這將給你多一點面試時的想法。
11. 保持正向
Lastly, don’t get dejected by rejections. Sometimes it looks difficult, but with enough practice and hard work, you will get your dream job.
最後,不要因為被拒絕而沮喪。有時候,看起很困難的事情,在經過足夠的練習與努力後,都可以迎刃而解的。
All the very best, and feel free to reach out to me if you need any help on anything.
其他資源
- Grokking the Object Oriented Design Interview
- 系統設計入門 (https://lnkd.in/g6jQaM6e)
- 軟體結構 (https://lnkd.in/gM8WgW3S)
- 系統設計 (https://lnkd.in/gYF5saRb)
#work #softwareengineer #interviewskills #design #job