Thư giãn—một bảng gian lận không thực sự là gian lận. Đó là một danh sách kiểm tra để đảm bảo bạn luôn tập trung trước, trong và sau cuộc phỏng vấn. Tạo một cheat sheet sẽ giúp bạn cảm thấy chuẩn bị và tự tin hơn. Bạn không nên ghi nhớ những gì trên trang tính hoặc đánh dấu nó trong cuộc phỏng vấn. Bạn nên sử dụng cheat sheet của mình để nhắc nhở bạn về các sự kiện chính. Dưới đây là một số gợi ý cho những gì bạn nên bao gồm trên đó
Trong những ngày trước cuộc phỏng vấn
- Vẽ một đường thẳng xuống giữa một tờ giấy. Ở phía bên trái, hãy lập danh sách gạch đầu dòng về những gì nhà tuyển dụng đang tìm kiếm dựa trên tin tuyển dụng. Ở phía bên phải, hãy liệt kê những phẩm chất mà bạn sở hữu phù hợp với những yêu cầu đó
- Nghiên cứu công ty, ngành và đối thủ cạnh tranh
- Chuẩn bị tuyên bố cá nhân 60 giây của bạn
- Viết ít nhất năm câu chuyện thành công để trả lời các câu hỏi phỏng vấn về hành vi ["Hãy kể cho tôi nghe về một thời điểm khi. " hoặc "Hãy cho tôi một ví dụ về thời gian. "]
- Liệt kê năm câu hỏi để hỏi người phỏng vấn về công việc, công ty và ngành
- Nghiên cứu mức lương để xác định giá trị của bạn
- Xác định nhu cầu tiền lương của bạn dựa trên chi phí sinh hoạt của bạn
- Xin phép từ các tài liệu tham khảo của bạn để sử dụng tên của họ
Chuẩn bị câu trả lời phỏng vấn của bạn
Hãy sẵn sàng để trả lời các câu hỏi phỏng vấn phổ biến như thế này
- Cho tôi biết về bản thân của bạn
- Tại sao bạn rời khỏi vị trí trước đây của bạn, hoặc tại sao bạn lại rời khỏi vị trí hiện tại của mình?
- Bạn biết gì về công ty này?
- Mục tiêu của bạn là gì?
- Điểm mạnh và điểm yếu của bạn là gì?
- Tại sao bạn muốn làm việc ở đây?
- Thành tựu quan trọng nhất của bạn là gì?
- Sếp cuối cùng và đồng nghiệp của bạn sẽ mô tả bạn như thế nào?
- Tại sao chúng tôi nên tuyển dụng bạn?
- Mức lương bạn mong muốn là bao nhiêu?
Trước khi bạn đi phỏng vấn
Bạn có trông chuyên nghiệp không?
Mang những vật dụng này đến cuộc phỏng vấn
- Một số bản sao sơ yếu lý lịch của bạn trên giấy chất lượng
- Một bản sao tài liệu tham khảo của bạn
- Một tập giấy để ghi chú, mặc dù ghi chú là tùy chọn
- Hướng dẫn đến địa điểm phỏng vấn
khi đến nơi
- Đến sớm—vào tòa nhà 10 phút trước cuộc hẹn của bạn
- Xem lại những câu chuyện và câu trả lời đã chuẩn bị của bạn
- Vào nhà vệ sinh và kiểm tra ngoại hình lần cuối
- Giới thiệu bản thân với lễ tân một cách chuyên nghiệp
- Đứng và chào đón người phỏng vấn của bạn bằng một cái bắt tay nồng nhiệt—không quá thô bạo—
- Mỉm cười và duy trì giao tiếp bằng mắt
Trong cuộc phỏng vấn
- Cố gắng tập trung vào những điểm bạn đã chuẩn bị mà không có vẻ như đã được luyện tập hoặc cứng nhắc
- Thư giãn và tận hưởng cuộc trò chuyện
- Tìm hiểu những gì bạn có thể về công ty
- Đặt câu hỏi và lắng nghe;
- Khi kết thúc, hãy cảm ơn người phỏng vấn và xác định các bước tiếp theo
- Yêu cầu danh thiếp của người phỏng vấn để bạn có thể gửi thư tiếp theo
Sau cuộc phỏng vấn
- Càng sớm càng tốt, hãy viết ra những gì bạn đang nghĩ và cảm nhận
- Cuối ngày, xem lại những gì bạn đã viết và đánh giá bạn đã làm như thế nào
- Viết một lá thư cảm ơn phỏng vấn, nhắc nhở người phỏng vấn về phẩm chất của bạn
Giữ bình tĩnh trong suốt quá trình tìm kiếm
Ngay cả với tất cả những lời khuyên này, thực sự không có chuyện "gian lận" trong cuộc phỏng vấn xin việc—hoặc bất kỳ phần nào của quá trình tìm kiếm việc làm, thực sự. Nhưng chắc chắn có những cách bạn có thể thiết lập một chiến lược và chuẩn bị cho mình nhiều bước liên quan đến việc nhận một công việc mới. Tò mò về những gì đang có? . Là thành viên, bạn sẽ nhận được thông tin chi tiết về cuộc phỏng vấn, lời khuyên nghề nghiệp và mẹo tìm kiếm việc làm được gửi trực tiếp vào hộp thư đến của bạn. Bạn sẽ biết cách trả lời các câu hỏi phỏng vấn hóc búa, cách thương lượng lời mời làm việc tốt nhất, v.v. Không có lối tắt nào, nhưng ít nhất bạn không phải một mình điều hướng con đường sự nghiệp của mình
Các câu hỏi phỏng vấn cấu trúc dữ liệu là một phần cốt lõi của các cuộc phỏng vấn kỹ sư phần mềm tại các công ty như Facebook, Google hoặc Amazon
Đó là lý do tại sao chúng tôi đã biên soạn một danh sách toàn diện gồm 73 câu hỏi điển hình được nhóm theo loại [mảng, chuỗi, danh sách liên kết, v.v. ] và bao gồm liên kết đến các giải pháp chất lượng cao
Chúng tôi cũng đã bao gồm bảng gian lận cuối cùng, cung cấp cho bạn thông tin chính về độ phức tạp của không-thời gian cho từng cấu trúc dữ liệu trong nháy mắt
Dưới đây là tóm tắt về những gì bạn sẽ tìm thấy bên dưới
Hãy đi vào nó
1. Bảng cheat cấu trúc dữ liệu cuối cùng
Khi bạn đang chuẩn bị cho các cuộc phỏng vấn viết mã, bạn nên có ít nhất một số thông tin chính ở một nơi. Chúng tôi đã tạo một bảng gian lận dài 8 trang mà bạn có thể sử dụng làm điểm tham chiếu hữu ích cho 8 cấu trúc dữ liệu chính
Chỉ cần nhập email của bạn vào biểu mẫu bên dưới và chúng tôi sẽ gửi thẳng cho bạn [đừng lo lắng, chúng tôi sẽ không tấn công bạn bằng vô số email đâu]
Đúng rồi, chúng ta hãy xem một số câu hỏi cấu trúc dữ liệu điển hình
2. Mảng
Mảng là một trong những cấu trúc dữ liệu cơ bản nhất trong lập trình và khoa học máy tính, và nhiều cấu trúc dữ liệu phức tạp hơn được xây dựng bằng cách sử dụng mảng.
2. 1 Câu hỏi mảng dễ
2. 1. 1 Hợp nhất hai mảng đã sắp xếp
- Hướng dẫn văn bản [GeeksforGeeks]
- Hướng dẫn bằng video [LIỀU LƯỢNG CÔNG NGHỆ]
- Video hướng dẫn [Kevin Naughton Jr. ]
- Văn bản hướng dẫn [W3Schools]
- [Javarevisited]
- Mã ví dụ [LeetCode]
- Hướng dẫn văn bản [GeeksforGeeks]
- Video hướng dẫn [SDET]
2. 2 câu hỏi mảng trung bình
2. 2. 1 Di chuyển tất cả các số 0 về đầu/cuối mảng
- Hướng dẫn bằng văn bản [Hướng dẫn]
- Video hướng dẫn [Hướng dẫn lập trình]
- Mã ví dụ [LeetCode]
- Văn bản hướng dẫn [Học viện Khan]
- Video hướng dẫn [HackerRank]
- Mã ví dụ [LeetCode]
- Hướng dẫn văn bản [GeeksforGeeks]
- Video hướng dẫn [Nick White]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [TutorialCup]
- Hướng dẫn văn bản [Akhilpokle]
- Video hướng dẫn [Nick White]
2. 3 câu hỏi về mảng khó
2. 3. 1 Xoay mảng 2D
- Hướng dẫn bằng văn bản [Jack]
- Hướng dẫn bằng văn bản [GeeksforGeeks]
- Video hướng dẫn [Nick White]
- Hướng dẫn bằng văn bản [Hướng dẫn]
- Video hướng dẫn [SWE Back to Back]
- Hướng dẫn bằng văn bản [Sau học viện]
- Video hướng dẫn [Jessica Lin]
Sao mà bạn vào được?
3. Dây
Một chuỗi là một chuỗi hoặc chuỗi ký tự được sắp xếp theo thứ tự. Nó thường được coi là một kiểu dữ liệu và thường được bao gồm như một phần của ngôn ngữ nguyên thủy. Trong hầu hết các ngôn ngữ, các chuỗi được triển khai bằng cách sử dụng một mảng byte. Các byte được mã hóa bằng cách sử dụng một số mã hóa ký tự. Các hệ thống trước đó sử dụng mã hóa ASCII, với mã hóa Unicode được sử dụng trong các hệ thống sau này.
3. 1 câu hỏi chuỗi đơn giản
3. 1. 1 Xóa nguyên âm khỏi chuỗi
- Hướng dẫn văn bản [GeeksforGeeks]
- Video hướng dẫn [Kevin Naughton Jr. ]
- Hướng dẫn văn bản [GeeksforGeeks]
- Video hướng dẫn [Kevin Naughton Jr. ]
- Mã ví dụ [LeetCode]
- Hướng dẫn văn bản [Bộ nhớ]
- Video hướng dẫn [Kevin Naughton Jr. ]
- Mã ví dụ [LeetCode]
3. 2 Câu hỏi chuỗi trung bình
3. 2. 1 Xâu con dài nhất không lặp ký tự
- Hướng dẫn bằng văn bản [Trung bình/Mọt sách dành cho công nghệ]
- Video hướng dẫn [Michael Muinos]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [RedQuark]
- Video hướng dẫn [NeetCode]
- Video hướng dẫn [Errichto]
- Hướng dẫn bằng văn bản [Trung bình/Hary]
- Hướng dẫn bằng video [LIỀU LƯỢNG CÔNG NGHỆ]
- Mã ví dụ [LeetCode]
3. 3 Câu hỏi chuỗi cứng
3. 3. 1 Kết hợp biểu thức chính quy
- Hướng dẫn bằng văn bản [RedQuark]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [Techie Delight]
- Video hướng dẫn [Tushar Roy]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [Trục trung bình/Algo]
- Video hướng dẫn [SWE Back to Back]
- Mã ví dụ [LeetCode]
Quan tâm để làm việc thông qua một số chi tiết? . Điều đó sẽ giữ cho bạn bận rộn trong một thời gian
4. danh sách liên kết
Danh sách được liên kết là một cấu trúc dữ liệu được sử dụng để lưu trữ một tập hợp các thành phần dữ liệu. Theo cách này, nó tương tự như một mảng. Tuy nhiên, khác với mảng, các phần tử dữ liệu trong danh sách liên kết không cần phải được lưu trữ liên tục trong bộ nhớ. Thay vào đó, mỗi nút trong danh sách được liên kết có một con trỏ hoặc tham chiếu đến vị trí bộ nhớ của nút tiếp theo trong danh sách. Điều này có nghĩa là danh sách được liên kết không có kích thước cố định như mảng và có thể dễ dàng phát triển và thu nhỏ khi các phần tử được thêm vào hoặc xóa đi. .
4. 1 câu hỏi danh sách liên kết dễ dàng
4. 1. 1 Hợp nhất hai danh sách đã sắp xếp
- Hướng dẫn bằng văn bản [RedQuark]
- Video hướng dẫn [Kevin Naughton Jr. ]
- Mã ví dụ [LeetCode]
- Hướng dẫn văn bản [GeeksforGeeks]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode]
- Hướng dẫn văn bản [Nhà phát triển. đến/Seanpgallivan]
- Video hướng dẫn [Nick White]
- Mã ví dụ [LeetCode]
4. 2 câu hỏi về danh sách liên kết trung bình
4. 2. 1 Cộng hai số
- Hướng dẫn bằng văn bản [RedQuark]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [RedQuark]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode]
- Hướng dẫn văn bản [GeeksforGeeks]
- Video hướng dẫn [SWE Back to Back]
- Mã ví dụ [LeetCode]
4. 3 câu hỏi về danh sách liên kết cứng
4. 3. 1 Thiết kế danh sách liên kết
- Hướng dẫn bằng văn bản [Trung bình/ Len Chen]
- Video hướng dẫn [Simon Schueller]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [Sau học viện]
- Video hướng dẫn [Kevin Naughton Jr. ]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [RedQuark]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode]
Để biết thêm các câu hỏi như thế này, hãy xem danh sách hơn 40 câu hỏi và giải pháp về danh sách liên kết của chúng tôi
5. Ngăn xếp và hàng đợi
Ngăn xếp và hàng đợi giống nhau và bổ sung theo nhiều cách. Cả hai đều là một tập hợp các phần tử được sắp xếp theo thứ tự thường được truy cập một phần tử tại một thời điểm và chúng được triển khai bằng cách sử dụng các cấu trúc dữ liệu tương tự.
5. 1 Câu hỏi xếp hàng và xếp hàng đơn giản
5. 1. 1 dấu ngoặc đơn hợp lệ
- Hướng dẫn bằng văn bản [RedQuark]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [Sau học viện]
- Video hướng dẫn [NeetCode]
- Video hướng dẫn [Nick White]
- Mã ví dụ [LeetCode]
- Hướng dẫn văn bản [LeetCode]
- Hướng dẫn bằng video [LIỀU LƯỢNG CÔNG NGHỆ]
- Mã ví dụ [LeetCode]
5. 2 câu hỏi về ngăn xếp trung bình và hàng đợi
5. 2. 1 Đường dẫn đơn giản hóa
- Hướng dẫn văn bản [LeetCode]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode]
- Hướng dẫn văn bản [Nhà phát triển. đến/Rohith V]
- Video hướng dẫn [SWE Back to Back]
- Mã ví dụ [LeetCode]
- Văn bản hướng dẫn [Calvin Chan]
- Video hướng dẫn [happygirlzt]
- Mã ví dụ [LeetCode]
5. 3 câu hỏi về ngăn xếp và hàng đợi khó
5. 3. 1 dấu ngoặc đơn hợp lệ dài nhất
- Hướng dẫn văn bản [Nhà phát triển. đến/Seanpgallivan]
- Hướng dẫn bằng video [Độ phức tạp của thời gian vô hạn]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [Sau học viện]
- Hướng dẫn bằng văn bản [LeetCode]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [GeeksForGeeks]
- Hướng dẫn bằng video [LIỀU LƯỢNG CÔNG NGHỆ]
- Mã ví dụ [LeetCode]
Cần thêm một số câu hỏi về ngăn xếp và hàng đợi để thực hành? . Hơn 50 câu hỏi và giải pháp về ngăn xếp và hàng đợi
6. Cây
Cây là một cấu trúc dữ liệu phân cấp trừu tượng. Nó được đại diện bởi một nhóm các nút được liên kết với một nút gốc duy nhất. Mỗi nút có thể có 0 hoặc nhiều nút con. Một chiếc lá là một nút không có con.
6. 1 câu hỏi cây dễ dàng
6. 1. 1 Cây nhị phân theo thứ tự duyệt
- Hướng dẫn văn bản [LeetCode]
- Video hướng dẫn [Nick White]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [GeeksForGeeks]
- Video hướng dẫn [Kevin Naughton Jr. ]
- Video hướng dẫn [SWE Back to Back]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [Trung bình/Sara]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode ]
6. 2 câu hỏi cây trung bình
6. 2. 1 Xác thực cây tìm kiếm nhị phân
- Hướng dẫn bằng văn bản [Baeldung]
- Video hướng dẫn [Kevin Naughton Jr. ]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [Hướng dẫn. io]
- Video hướng dẫn [NeetCode]
- Video hướng dẫn [SWE Back to Back]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [Trung bình/Hary]
- Video hướng dẫn [Trung tâm kiến thức]
- Mã ví dụ [LeetCode]
6. 3 câu hỏi khó về cây
6. 3. 1 Tổng đường dẫn tối đa của cây nhị phân
- Hướng dẫn văn bản [LeetCode]
- Hướng dẫn bằng văn bản [Sau học viện]
- Video hướng dẫn [Michael Muinos]
- Mã ví dụ [GeeksForGeeks]
- Hướng dẫn bằng văn bản [Hướng dẫn. io]
- Video hướng dẫn [SWE Back to Back]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode]
- Hướng dẫn văn bản [Nhà phát triển. đến/Seanpgallivan]
- Hướng dẫn bằng video [Thuật toán dễ thực hiện]
- Video hướng dẫn [happygirlzt]
- Mã ví dụ [LeetCode]
Xem thêm nhiều câu hỏi về cây tại đây. Hơn 50 câu hỏi và giải pháp về cây
7. đồ thị
Biểu đồ là một cấu trúc dữ liệu trừu tượng được biểu thị bằng các đỉnh được kết nối bởi các cạnh. Các đỉnh còn được gọi là các nút. Các đỉnh có chung một cạnh được gọi là kề nhau.
7. 1 câu hỏi đồ thị dễ dàng
7. 1. 1 Tìm thẩm phán thị trấn
- Hướng dẫn bằng văn bản [Trung bình/Omar Faroque]
- Video hướng dẫn [Nick White]
- Hướng dẫn bằng video [LIỀU LƯỢNG CÔNG NGHỆ]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [GeeksForGeeks]
- Video hướng dẫn [CodeClips]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [GoodTeacher]
- Hướng dẫn bằng video [Mã hóa Cherry]
- Mã ví dụ [LeetCode]
7. 2 câu hỏi đồ thị trung bình
7. 2. 1 Lịch học II
- Hướng dẫn văn bản [LeetCode]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode]
- Văn bản hướng dẫn [Medium/Zhuozhuo Liu]
- Video hướng dẫn [Kevin Naughton Jr. ]
- Mã ví dụ [Zirui]
- Hướng dẫn bằng văn bản [Trung bình/Deeksha Sharma]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode]
7. 3 câu hỏi đồ thị cứng
7. 3. 1 Đường đi tăng dài nhất trong ma trận
- Hướng dẫn văn bản [Nhà phát triển. đến/Seanpgallivan]
- Video hướng dẫn [Michael Muinos]
- Mã ví dụ [LeetCode]
- Văn bản hướng dẫn [Medium/Feng Wang]
- Video hướng dẫn [NeetCode]
- Video hướng dẫn [happygirlzt]
- Ví dụ về mã [Tenderleo]
- Hướng dẫn bằng văn bản [Seanforfun]
- Video hướng dẫn [happygirlzt]
- Mã ví dụ [LeetCode]
Để biết thêm nhiều câu hỏi về đồ thị, hãy xem hơn 50 câu hỏi phỏng vấn về đồ thị
8. bản đồ
Bản đồ là một cấu trúc dữ liệu cho phép chúng ta truy cập một giá trị theo khóa. Điều này trái ngược với một mảng cho phép chúng ta truy cập một giá trị theo chỉ số . Một loại bản đồ phổ biến là bản đồ băm [còn được gọi là bảng băm], lưu trữ các khóa cùng với các giá trị được liên kết [ví dụ: danh bạ điện thoại liên kết số điện thoại với tên].
8. 1 câu hỏi bản đồ dễ dàng
8. 1. 1 Hai tổng
- Hướng dẫn bằng văn bản [Trung bình/Hyewon Cho]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [Trung bình/Mọt sách dành cho công nghệ]
- Video hướng dẫn [Java Brains]
- Mã ví dụ [LeetCode]
- Hướng dẫn văn bản [LeetCode]
- Video hướng dẫn [Kevin Naughton Jr. ]
- Hướng dẫn bằng video [đưa bạn về phía trước]
- Mã ví dụ [LeetCode]
số 8. 2 câu hỏi bản đồ trung bình
8. 2. 1 Chuỗi con dài nhất không lặp lại ký tự
- Hướng dẫn bằng văn bản [RedQuark]
- Video hướng dẫn [Michael Muinos]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [GeeksForGeeks]
- Video hướng dẫn [Nick White]
- Mã ví dụ [LeetCode]
- Hướng dẫn văn bản [Nhà phát triển. tới/Justin Bermudez]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode]
8. 3 câu hỏi bản đồ cứng
8. 3. 1 Chuỗi con cửa sổ tối thiểu
- Hướng dẫn bằng văn bản [Trục trung bình/Algo]
- Video hướng dẫn [NeetCode]
- Video hướng dẫn [Michael Muinos]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [GeeksForGeeks]
- Video hướng dẫn [NeetCode]
- Video hướng dẫn [Nick White]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [Hướng dẫn. io]
- Video hướng dẫn [babybear4812]
- Mã ví dụ [LeetCode]
Bạn có thể tìm thêm nhiều câu hỏi về bản đồ để luyện tập ngay tại đây. Hơn 50 câu hỏi phỏng vấn bản đồ
9. đống
Đống là cấu trúc dữ liệu dựa trên cây thực hiện hàng đợi ưu tiên. Hàng đợi ưu tiên hoạt động giống như một ngăn xếp hoặc hàng đợi thông thường, ngoại trừ mỗi phần tử có một mức độ ưu tiên. Chính mức độ ưu tiên này sẽ xác định phần tử nào được trả về khi xếp hàng khỏi hàng đợi ưu tiên, chứ không phải thứ tự phần tử được thêm vào. Điều này hữu ích cho các ứng dụng như xếp hàng bệnh viện nơi chúng tôi muốn phục vụ bệnh nhân với mức độ ưu tiên cao nhất trước tiên. .
9. 1 câu hỏi đống dễ
9. 1. 1 Phần tử lớn thứ K trong luồng
- Hướng dẫn văn bản [LeetCode]
- Hướng dẫn văn bản [OpenGenus]
- Hướng dẫn bằng video [Đơn giản hóa mã hóa]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [Cúp hướng dẫn]
- Video hướng dẫn [Kevin Naughton Jr. ]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode]
- Hướng dẫn văn bản [Nhà phát triển. to/seanpgallivan]
- Hướng dẫn bằng video [Thuật toán dễ thực hiện]
- Mã ví dụ [LeetCode]
9. 2 câu hỏi đống trung bình
9. 2. 1 Phần tử lớn thứ k trong mảng
- Hướng dẫn bằng văn bản [GeeksForGeeks]
- Video hướng dẫn [SWE Back to Back]
- Video hướng dẫn [Kevin Naughton Jr. ]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [Zirui]
- Video hướng dẫn [NeetCode]
- Video hướng dẫn [Kevin Naughton Jr. ]
- Mã ví dụ [Seanforfun]
- Hướng dẫn văn bản [LeetCode]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode]
9. 3 câu hỏi hóc búa
9. 3. 1 Phần tử lớn thứ k trong mảng
- Hướng dẫn bằng văn bản [GeeksForGeeks]
- Video hướng dẫn [SWE Back to Back]
- Video hướng dẫn [Kevin Naughton Jr. ]
- Mã ví dụ [LeetCode]
- Hướng dẫn bằng văn bản [Zirui]
- Video hướng dẫn [NeetCode]
- Video hướng dẫn [Kevin Naughton Jr. ]
- Mã ví dụ [Seanforfun]
- Hướng dẫn văn bản [LeetCode]
- Video hướng dẫn [NeetCode]
- Mã ví dụ [LeetCode]
Để biết thêm nhiều câu hỏi về heap, hãy xem bài viết của chúng tôi Hơn 50 câu hỏi phỏng vấn heap và cheat sheet
10. Làm thế nào để chuẩn bị cho một cuộc phỏng vấn mã hóa
Nếu bạn đang đọc bài viết này, điều đó có nghĩa là bạn đã sẵn sàng và đang thực hiện bước quan trọng nhất để chuẩn bị vượt qua cuộc phỏng vấn lập trình tại Facebook, Google, Amazon, Microsoft, LinkedIn, Airbnb hoặc một công ty công nghệ khác. thực hành rất nhiều câu hỏi
Tuy nhiên, đó không phải là tất cả những gì bạn cần để tự tin vượt qua mọi tình huống phỏng vấn. Để chắc chắn rằng bạn đã thực sự, thực sự chuẩn bị, chúng tôi khuyên bạn nên làm theo ba bước dưới đây. Để biết thêm mẹo, hãy xem danh sách 21 mẹo mã hóa của chúng tôi từ những người từng phỏng vấn
10. 1 Làm mới kiến thức của bạn
Để làm mới kiến thức của bạn và để xem lại các thuật toán và cấu trúc dữ liệu có liên quan, hãy xem các hướng dẫn cụ thể của chúng tôi
Cấu trúc dữ liệu
- Mảng
- Dây
- danh sách liên kết
- Ngăn xếp và hàng đợi
- Cây
- đồ thị
- bản đồ
- đống
thuật toán
Để xem lại ký hiệu big-O nhằm đánh giá các yêu cầu về thời gian và không gian của các thuật toán của bạn, hãy nghiên cứu hướng dẫn đầy đủ của chúng tôi về ký hiệu big-O và phân tích độ phức tạp
10. 2 Tìm hiểu một khuôn khổ
Chúng tôi khuyên bạn nên làm quen với cách tiếp cận từng bước được giải thích trong video bên dưới. Video do Amazon thực hiện, nhưng nó phù hợp cho các cuộc phỏng vấn mã hóa tại bất kỳ công ty công nghệ nào
Dưới đây là tóm tắt về cách tiếp cận
- Bước 1. Làm rõ
- Đặt câu hỏi làm rõ để loại bỏ sự mơ hồ về vấn đề
- Khám phá các cạnh của vấn đề
- Bước 2. Kế hoạch
- Thảo luận về các phương pháp tiềm năng mà bạn có thể thực hiện
- Chọn một cách tiếp cận và sắp xếp các bước cấp cao
- Bước 3. Triển khai thực hiện
- Viết mã sạch, không phải mã giả
- Nhận xét về mã của bạn khi bạn đi
- Bước 4. Bài kiểm tra
- Bắt đầu bằng cách thử nghiệm với một ví dụ đơn giản
- Hãy thử phá mã của bạn với các trường hợp cạnh và góc
- Bước 5. Tối ưu hóa
- Tính độ phức tạp thời gian
- Thảo luận về cách bạn có thể tối ưu hóa giải pháp của mình
Để biết chi tiết đầy đủ về khung này và câu trả lời ví dụ đầy đủ, hãy xem hướng dẫn của chúng tôi về cách trả lời các câu hỏi phỏng vấn viết mã
Khi bạn cảm thấy thoải mái với một khung, bạn sẽ muốn bắt đầu áp dụng nó vào thực tế. Điều này đưa chúng ta đến bước tiếp theo
10. 3 Tự luyện tập
Để thực hành các câu hỏi về cấu trúc dữ liệu, chúng tôi khuyên bạn nên xem qua các câu hỏi mà chúng tôi đã liệt kê ở trên và cố gắng giải từng câu hỏi. Nếu bạn thấy mình cần thêm câu hỏi về bất kỳ chủ đề nào, chỉ cần nhấp vào liên kết chúng tôi đã cung cấp
Đối với các câu hỏi về thuật toán, chúng tôi khuyên bạn nên sử dụng bài viết 71 câu hỏi phỏng vấn về thuật toán của chúng tôi, có liên kết đến các câu trả lời chất lượng cao cho từng vấn đề. Nó được tổ chức theo loại thuật toán và mức độ khó khăn. Đừng quên thực hành các câu hỏi trên bảng trắng hoặc trình soạn thảo văn bản đơn giản thay vì IDE
10. 4 Thực hành với người khác
Tự mình thực hành giải quyết các vấn đề viết mã là một cách tuyệt vời để chuẩn bị, nhưng vẫn chưa đủ. Nếu bạn lọt vào giai đoạn phỏng vấn tại chỗ, bạn sẽ phải viết mã trên bảng trắng [hoặc tương đương ảo] và nói về cách tiếp cận của bạn khi bạn viết mã. Điều này có thể thực sự phức tạp nếu bạn không quen với nó
Đó là lý do tại sao chúng tôi khuyên bạn nên luyện tập với các chuyên gia, những người có thể cung cấp cho bạn phản hồi sâu sắc. Nếu bạn biết một kỹ sư phần mềm hoặc tương tự có kinh nghiệm điều hành các cuộc phỏng vấn tại công ty mà bạn đang phỏng vấn, thì điều đó thật tuyệt vời. Nhưng đối với hầu hết chúng ta, thật khó để tìm ra những kết nối phù hợp để biến điều này thành hiện thực. Và cũng có thể khó thực hành nhiều giờ với người đó trừ khi bạn thực sự hiểu rõ về họ.
Đây là tin tốt. Chúng tôi đã tạo kết nối cho bạn. Chúng tôi đã tạo một dịch vụ huấn luyện để bạn có thể thực hành trực tiếp với những người từng phỏng vấn từ các công ty công nghệ hàng đầu như Facebook, Google và Amazon. Tìm hiểu thêm và bắt đầu lên lịch các phiên ngay hôm nay.
Bất kỳ câu hỏi về các cuộc phỏng vấn mã hóa?
Nếu bạn có bất kỳ câu hỏi nào về các cuộc phỏng vấn mã hóa, đừng ngần ngại hỏi họ trong phần bình luận bên dưới. Tất cả các câu hỏi đều là những câu hỏi hay, vì vậy hãy tiếp tục