Phỏng vấn wiki — Hướng dẫn dành cho kỹ sư phần mềm
Nói chung, Phỏng vấn Kỹ sư phần mềm có 4 loại vòng: -
- Vòng kỹ thuật
- Vòng Thiết Kế Cấp Cao (HLD)
- Vòng Thiết kế Cấp thấp (LLD)
- Vòng Ứng xử
Số vòng cho mỗi vai trò sẽ phụ thuộc vào công ty. Ví dụ như Amazon, họ thường có 4 vòng, trong đó 2 vòng đầu sẽ liên quan đến Cấu trúc dữ liệu (DS) và thuật toán, còn lại sẽ là vòng thiết kế nếu vai trò SDE2+. Đối với họ, họ không tổ chức một vòng thi ứng xử riêng biệt, thay vào đó, họ đặt một số câu hỏi về lãnh đạo trong mỗi vòng.
Mỗi vòng đều quan trọng và chúng ta nên dành thời gian cho mỗi vòng. Thông thường, những sinh viên mới ra trường sẽ không phải thi HLD và LLD. Nhưng thay vào đó, họ có thể mong đợi một vòng OO (Hướng đối tượng), nơi họ kiểm tra các kỹ năng Hướng đối tượng của bạn.
Ở đây trong wiki này, tôi sẽ chia sẻ tất cả nội dung mà tôi đã tìm thấy trong quá trình chuẩn bị cho cuộc phỏng vấn của mình. Tôi sẽ chia sẻ các khóa học, sách, blog và kho lưu trữ GitHub rất hữu ích cho tôi trong quá trình chuẩn bị phỏng vấn. Điều này không có nghĩa là bạn phải làm theo những điều tương tự cho các cuộc phỏng vấn của mình vì mọi người đều có phong cách học tập riêng. Nhưng bạn có thể sử dụng wiki này như một hướng dẫn hoặc tài liệu tham khảo để chuẩn bị. Cuối cùng, chính bạn là người tham dự cuộc phỏng vấn.
Tôi sẽ bao gồm từng vòng riêng biệt. Chúng ta hãy bắt đầu với vòng Kỹ thuật.
Vòng kỹ thuật
Một trong những vòng quan trọng nhất cho cả người mới và người có kinh nghiệm. Tại đây, họ kiểm tra kiến thức của bạn về Cấu trúc dữ liệu và Thuật toán. Các vòng này không kiểm tra kiến thức của bạn về các thuật toán nâng cao tồn tại để giải các bài toán phức tạp. Nhưng ít nhất bạn nên biết những cái phổ biến nhất. Tôi đã thấy mọi người gặp phải những vấn đề rất kỳ lạ và rác rưởi mà chỉ có thể giải quyết bằng một số thuật toán độc đáo. Nhưng điều đó rất hiếm. Tôi sẽ không đề nghị dành thời gian ở đó vì chúng ta nên tin vào xác suất cơ bản của việc đối mặt với nó. Nếu bạn muốn xem mẫu câu hỏi phỏng vấn phổ biến, bạn có thể truy cập trang web sau (https://algo.monster/problems/stats)
Những điều bạn không nên bỏ qua:
Cấu trúc dữ liệu,
Mảng, Danh sách được liên kết, Ngăn xếp, Hàng đợi, Đống, Bản đồ, Bộ, Trie, Cây, BST
thuật toán
Sắp xếp, Lập trình động, Tham lam, Tìm kiếm, Chia để trị và Thuật toán đồ thị.
![](https://post.nghiatu.com/assets/images/m/max/724/1*ewhvi-gVRuMX3cTIXx8__A.png)
Thiết kế cao cấp
Nó kiểm tra kiến thức của bạn về thiết kế kiến trúc tổng thể của một hệ thống. Nó bao gồm mô tả về kiến trúc hệ thống, thiết kế cơ sở dữ liệu và mô tả ngắn gọn về hệ thống, dịch vụ, nền tảng và mối quan hệ giữa các mô-đun. Các câu hỏi trước đây rất mơ hồ như thiết kế WhatsApp, thiết kế Redbus, v.v. Ở đây, bạn cần đưa ra một thiết kế trong vòng chưa đầy 30–45 phút tùy thuộc vào người phỏng vấn. Ở đây, người phỏng vấn không mong đợi bạn viết mã nhưng bạn sẽ có thể thiết kế cơ sở dữ liệu, API, v.v. nếu được yêu cầu.
Thiết kế cấp thấp
Nó mô tả chi tiết về mọi mô-đun, có nghĩa là nó bao gồm logic thực tế cho mọi thành phần hệ thống và nó đi sâu vào đặc điểm kỹ thuật của từng mô-đun. Ở đây bạn phải viết mã các lớp, giao diện, v.v. Bạn cũng phải có kiến thức rất tốt về các mẫu Thiết kế. Nếu bạn biết một ngôn ngữ hướng đối tượng thì đó sẽ là một điểm cộng.
![](https://post.nghiatu.com/assets/images/m/max/724/1*954kkAfuh92Lxq8HLgfoGw.png)
vòng ứng xử
Tôi tin rằng ở đây tôi không cần phải đưa ra bất kỳ lời giới thiệu nào. Đây là một trong những vòng mà mọi người thường bỏ qua nhưng theo tôi, hãy dành ít nhất một ngày để chuẩn bị. Hầu hết những người phỏng vấn thực sự quan tâm đến những gì bạn nói trong vòng này. Amazon, Google, v.v. thực sự rất coi trọng các vòng này và bạn nên biết các câu hỏi được đặt ra cũng như chiến lược nào nên được tuân theo để trả lời những câu hỏi đó.
Tài nguyên:
vòng kỹ thuật
1.https://www.geeksforgeeks.org/top-algorithms-and-data-structures-for-competitive-programming/(Quan trọng nhất)
2.https://takeuforward.org/interviews/strivers-sde-sheet-top-coding-interview-problems/(Các vấn đề)
3.https://www.youtube.com/user/purpongie(Hướng dẫn)
4.https://cses.fi/problemset/list(Các vấn đề)
5.https://github.com/donnemartin/interactive-coding-challenges(Học hỏi)
6.https://leetcode.com/discuss/interview-question/2001789/Collections-of-Important-String-questions-Pattern(Các vấn đề)
7.https://github.com/jwasham/coding-interview-university(Học hỏi)
số 8.https://leetcode.com/discuss/interview-question/2069641/the-only-lists-you-need-for-your-interview-preparation(Học hỏi)
Vòng HLD
1.https://www.youtube.com/c/SystemDesignInterview/videos(Hướng dẫn)
2.https://www.youtube.com/watch?v=0163cssUxLA&list=PLA8lYuzFlBqAy6dkZHj5VxUAaqr4vwrka(Hướng dẫn)
3.https://www.youtube.com/watch?v=xpDnVSmNFX0&list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX(Hướng dẫn)
4.https://blog.bytebytego.com/?utm_source=linkedin_post(Blog)
5.https://leetcode.com/discuss/general-discussion/125038/system-design-interview-prep(Học hỏi)
6.https://www.educative.io/courses/grokking-modern-system-design-interview-for-engineers-managers(Khóa học trả phí)
7.https://github.com/donnemartin/system-design-primer(Học hỏi)
số 8.https://github.com/checkcheckzz/system-design-interview(Học hỏi)
Vòng LLD
1.https://workat.tech/machine-coding/practice(Sự cố mã hóa máy)
2.https://www.youtube.com/playlist?list=PL564gOx0bCLouDCUMtmj6hMEu1JS7QYEr(Hướng dẫn)
3.https://github.com/prasadgujar/low-level-design-primer/blob/master/questions.md(Các vấn đề)
4.https://betterprogramming.pub/how-to-ace-the-low-level-design-interview-3f1be6401070(Blog)
Vòng ứng xử
1.https://www.youtube.com/watch?v=RzlUQCy84rQ(Nguyên tắc lãnh đạo của Amazon)
2.https://leetcode.com/discuss/interview-question/1729926/a-guide-for-behavioral-round(hướng dẫn)
3.https://drive.google.com/file/d/1sb6Kll5enH3H70uaNwnjWPkN9pNtSu9-/view(pdf)
4.https://igotanoffer.com/blogs/product-manager/behavioral-interview-questions-tech-companies#techniques(Câu hỏi Facebook)
5.https://leetcode.com/discuss/interview-question/437082/Amazon-Behavioral-questions-or-Leadership-Principles-or-LP(Câu hỏi LP của Amazon)
6.https://www.techinterviewhandbook.org/behavioral-interview-questions/(Câu hỏi)
7.https://www.principle.cards/(Tự kiểm tra)
Để biết các bản cập nhật mới nhất của interview-wiki, bạn có thể theo dõi repo GitHub của tôihttps://github.com/aashan007/Interview-wiki