Bảng cheat cho cuộc phỏng vấn google

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 đó

Show

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Ệ)
2. 1. 2  Xóa các giá trị trùng lặp khỏi một mảng
  • Video hướng dẫn (Kevin Naughton Jr. )
  • Văn bản hướng dẫn (W3Schools)
  • (Javarevisited)
  • Mã ví dụ (LeetCode)
2. 1. 3 Đếm tần suất xuất hiện của một phần tử trong mảng
  • 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) 
2. 2. 2 Tìm xem một phần tử đã cho có nằm trong một mảng đã sắp xếp hay không (tìm kiếm nhị phân)
  • Văn bản hướng dẫn (Học viện Khan)
  • Video hướng dẫn (HackerRank)
  • Mã ví dụ (LeetCode) 
2. 2. 3 Xoay một mảng
  • Hướng dẫn văn bản (GeeksforGeeks)
  • Video hướng dẫn (Nick White)
  • Mã ví dụ (LeetCode) 
2. 2. 4 câu đố về mảng sản phẩm
  • 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) 
2. 3. 2 Tạo tiền lẻ bằng tiền xu (lập trình động)
  • Hướng dẫn bằng văn bản (Hướng dẫn) 
  • Video hướng dẫn (SWE Back to Back) 
2. 3. 3 Cửa sổ trượt tối đa
  • 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. )
3. 1. 2 Định nghĩa lại địa chỉ IP
  • Hướng dẫn văn bản (GeeksforGeeks)
  • Video hướng dẫn (Kevin Naughton Jr. )
  • Mã ví dụ (LeetCode)
3. 1. 3 Ngọc và đá
  • 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)
3. 2. 2 Xâu con palindromic dài nhất
  • Hướng dẫn bằng văn bản (RedQuark)
  • Video hướng dẫn (NeetCode)
  • Video hướng dẫn (Errichto)
3. 2. 3 Chuỗi thành số nguyên (atoi)
  • 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)
3. 3. 2 Kết hợp ký tự đại diện
  • Hướng dẫn bằng văn bản (Techie Delight)
  • Video hướng dẫn (Tushar Roy) 
  • Mã ví dụ (LeetCode)
3. 3. 3 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 (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)
4. 1. 2 Chu trình danh sách liên kết
  • Hướng dẫn văn bản (GeeksforGeeks)
  • Video hướng dẫn (NeetCode)
  • Mã ví dụ (LeetCode)
4. 1. 3  Giao của hai danh sách liên kết
  • 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)
4. 2. 2 Xóa nút thứ N khỏi danh sách
  • Hướng dẫn bằng văn bản (RedQuark)
  • Video hướng dẫn (NeetCode)
  • Mã ví dụ (LeetCode)
4. 2. 3 Sao chép danh sách với con trỏ ngẫu nhiên
  • 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)
4. 3. 2 Hợp nhất k danh sách được sắp xếp
  • 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)
4. 3. 3 Các nút đảo ngược trong nhóm k
  • 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)
5. 1. 2 ngăn xếp tối thiểu
  • 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)
5. 1. 3 Triển khai ngăn xếp bằng hàng đợi
  • 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)
5. 2. 2 Đánh giá ký hiệu đánh bóng ngược
  • 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)
5. 2. 3 Máy tính cơ bản II
  • 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)
5. 3. 2 Bẫy nước mưa
  • 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)
5. 3. 3 Hình chữ nhật lớn nhất trong biểu đồ
  • 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)
6. 1. 2 Cây đối xứng
  • 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)
6. 1. 3 Độ sâu tối đa của cây nhị phân
  • 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)
6. 2. 2 Duyệt theo thứ tự mức cây nhị phân
  • 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)
6. 2. 3 Cây nhị phân đi ngang theo thứ tự cấp độ ngoằn ngoèo
  • 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)
6. 3. 2 Tuần tự hóa và giải tuần tự hóa cây nhị phân
  • 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)
6. 3. 3 camera cây nhị phân
  • 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)
7. 1. 2 Tìm nếu đường dẫn tồn tại trong biểu đồ
  • Hướng dẫn bằng văn bản (GeeksForGeeks)
  • Video hướng dẫn (CodeClips)
  • Mã ví dụ (LeetCode)
7. 1. 3 Tìm tâm đồ thị sao
  • 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)
7. 2. 2 Tìm người nổi tiếng
  • Văn bản hướng dẫn (Medium/Zhuozhuo Liu)
  • Video hướng dẫn (Kevin Naughton Jr. )
  • Mã ví dụ (Zirui)
7. 2. 3 Biểu đồ nhân bản
  • 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)
7. 3. 2 Từ điển người ngoài hành tinh
  • 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)
7. 3. 3 Kết nối dự phòng II
  • 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)
8. 1. 2 Roman sang số nguyên
  • 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)
8. 1. 3 Yếu tố đa số
  • 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)
8. 2. 2 Sudoku hợp lệ
  • Hướng dẫn bằng văn bản (GeeksForGeeks)
  • Video hướng dẫn (Nick White)
  • Mã ví dụ (LeetCode)
8. 2. 3 đảo ngữ nhóm
  • 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)
8. 3. thang 2 từ
  • 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)
8. 3. 3 Ngắt từ II
  • 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)
9. 1. 2 Trọng lượng đá cuối cùng
  • 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)
9. 1. 3 K hàng yếu nhất trong ma trận
  • 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)
9. 2. 2 Phòng họp II
  • 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)
9. 2. 3 phần tử phổ biến hàng đầu K
  • 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)
9. 3. 2 Phòng họp II
  • 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)
9. 3. 3 phần tử phổ biến hàng đầu K
  • 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

  1. Mảng
  2. Dây
  3. danh sách liên kết
  4. Ngăn xếp và hàng đợi
  5. Cây
  6. đồ thị
  7. bản đồ
  8. đố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ảng cheat cho cuộc phỏng vấn google
Duyệt những người từng phỏng vấn FAANG

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

Có thể có một cheat sheet trong một cuộc phỏng vấn?

Thư giãn— bảng gian lận không thực sự 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 tờ giấy hoặc đánh dấu nó trong cuộc phỏng vấn.

Cách tốt nhất để chuẩn bị cho cuộc phỏng vấn Google là gì?

1) Tìm hiểu càng nhiều càng tốt về quy trình phỏng vấn của Google (ngày 1–2).
2) Tự đánh giá bản thân (ngày 3–5).
3) Lập danh sách học tập (ngày 3–5).
4) Thực hành thuật toán và cấu trúc dữ liệu hàng ngày (ngày 6–30).
5) Giải càng nhiều câu hỏi lập trình càng tốt (ngày 16–30).
6) Thư giãn và ngủ một giấc thật ngon (ngày 30)

Những gì nên được bao gồm trong một cuộc phỏng vấn gian lận?

Mánh gian lận cho câu trả lời phỏng vấn hay nhất của bạn .
Cho tôi biết về bản thân của bạn. .
Tại sao tôi sẽ thuê bạn?.
điểm mạnh của bạn là gì. .
Điểm yếu của bạn là gì?.
Điều quan trọng nhất đối với bạn trong công việc là gì?.
Mục tiêu nghề nghiệp của bạn là gì?.
bạn có câu hỏi nào cho tôi không?.
Tại sao bạn rời bỏ công việc cuối cùng của bạn?

Tôi nên học gì cho buổi phỏng vấn Google?

Các chủ đề sau đây là những lĩnh vực viết mã quan trọng cần có trong kế hoạch chuẩn bị cho cuộc phỏng vấn kỹ thuật của Google của bạn. .
Mảng
Dây
Danh sách liên kết
thuật toán sắp xếp
đệ quy
Cây
đồ thị
Lập trình năng động