Các vấn để hay gặp của kỹ sư Việt trong 1 buổi phỏng vấn kỹ thuật ở FANG+

Henry Huy Pham
Viet Tech Pros
Published in
7 min readJan 17, 2020

Trong quá trình hỗ trợ một số bạn kỹ sư Việt để nâng cao khả năng phỏng vấn cũng như cải thiện resume gần đây, mình đã ghi chú lại những vấn đề chung mà nhiều bạn gặp phải trong 1 buổi phỏng vấn kỹ thuật. Chúng ta hãy điểm qua các vấn đề này, cùng với đó là một số lời khuyên từ kinh nghiệm bản thân mình. Hy vọng những điều này sẽ giúp các bạn ý thức được các khuyết điểm hay gặp và có thể khắc phục chúng.

Tổng quan về 1 đợt phỏng vấn kỹ thuật ở FANG+

Khi phỏng vấn ở 1 công ty FANG+ cho vị trí kỹ sư phần mềm, các bạn sẽ phải trải qua khoảng 6–7 đợt phỏng vấn. Các đợt phỏng vấn bao gồm: phỏng vấn kỹ thuật, phỏng vấn thiết kế hệ thống và phỏng vấn “culture fit” (nôm na là để bảo đảm các bạn là 1 người thích hợp với văn hoá của công ty). Mình chỉ xin bàn về phỏng vấn kỹ thuật ở đây.

1 đợt phỏng vấn kỹ thuật dài khoảng 45 phút đến 1 tiếng (tuỳ công ty). Trong đợt phỏng vấn này, các bạn sẽ phải trả lời 1 hoặc 2 câu hỏi liên quan đến thuật toán và cấu trúc dữ liệu. Hình thức phỏng vấn là trực tiếp (face-to-face) với 1 kỹ sư đang làm việc tại công ty nếu là vòng onsite, hoặc thông qua video-call nếu là vòng phone screen.

Sau đợt phỏng vấn, kỹ sư tiến hành phỏng vấn với bạn sẽ viết 1 bản đánh giá về quá trình và kết quả phỏng vấn của bạn. 1 hội đồng sẽ tổng hợp các đánh giá về bạn trong tất cả các đợt phỏng vấn và đưa ra kết quả cuối cùng.

Các vấn đề ngoài chuyên môn hay gặp của kỹ sư Việt

Một trong các nhận định sai lầm hay gặp nhất khi nghĩ đến phỏng vấn kỹ thuật ở FANG+ là chỉ cần trả lời đúng câu hỏi là đạt yêu cầu. Điều này là hoàn toàn không chính xác. Sự tương tác của bạn với người phỏng vấn cũng quan trọng không kém câu trả lời của bạn, và nó là một tiêu chí quan trọng trong bản đánh giá về đợt phỏng vấn của bạn.

Quá trình phỏng vấn kỹ thuật không chỉ là để các bạn thể hiện khả năng tư duy của mình, mà còn là để các bạn thể hiện khả năng làm việc với người khác và khả năng thể hiện ý kiến của bản thân. Người kỹ sư tiến hành phỏng vấn không chỉ có nhiệm vụ đưa ra câu hỏi và chờ đợi câu trả lời từ bạn, mà còn đóng vai trò như 1 đồng nghiệp trong suốt buổi phỏng vấn đó. Họ sẽ đặt câu hỏi khi bạn diễn tả ý kiến của mình, hoặc sẽ cố gắng đưa bạn trở lại vấn đề chính khi bạn bị lạc hướng quá xa. Chính vì vậy, mình nghĩ rằng các bạn nên chú ý khắc phục các vấn đề ngoài kỹ thuật trước khi tiến hành phỏng vấn.

Khả năng giao tiếp tiếng Anh

Đây là vấn đề khá căn bản nhưng không nên xem nhẹ. Theo kinh nghiệm của mình, đa số các bạn mình đã tiếp xúc có thể trình bày ý tưởng bằng tiếng Anh ở mức có thể hiểu được trong tình thế không áp lực. Tuy nhiên, trong 1 buổi phỏng vấn mà bạn vừa phải tư duy vừa phải trình bày bằng tiếng Anh, rất nhiều lúc các bạn diễn đạt cực kỳ khó hiểu, đặc biệt là khi giải thích 1 giải thuật phức tạp. Điều này có thể dẫn đến việc người phỏng vấn hiểu sai ý của bạn, hoặc phải tốn thời gian hỏi đi hỏi lại để đảm bảo họ hiểu đúng ý. Những điều này sẽ đem lại cho bạn những bất lợi không đáng có.

Không giao tiếp hoặc giao tiếp quá ít với người phỏng vấn

Khá nhiều bạn, đặc biệt là các bạn chưa quen với quy trình phỏng vấn này thường hay tập trung hoàn toàn vào giải quyết bài toán được đặt ra và không hề giao tiếp hoặc chỉ giao tiếp khi người phỏng vấn đưa ra câu hỏi. Điều này là vô cùng tai hại, bởi vì nhiều lý do:

  • Người phỏng vấn không thể biết được ý tưởng của bạn nếu bạn không nói ra, và hoàn toàn không thể giúp bạn quay lại vấn đề chính nếu bạn đi sai hướng
  • Người phỏng vấn chỉ có thể dựa vào lượng code mà bạn viết để đánh giá câu trả lời của bạn, mà không thể đánh giá được quá trình tư duy của bạn. Quá trình tư duy là một điểm cộng lớn, đặc biệt là khi lời giải của bạn đúng hướng nhưng cho ra kết quả sai
  • Bạn sẽ tạo ra 1 khoảng lặng trong buổi phỏng vấn, và nó sẽ khiến bạn căng thẳng hơn
  • Đây là 1 trong những yếu tố để đánh giá kết quả cuối cùng, và khiếm khuyết ở mặt giao tiếp này là rất nghiêm trọng

Theo mình, việc vừa suy nghĩ vừa diễn đạt bằng tiếng Anh cần một chút luyện tập nhưng không quá khó. Các bạn có thể khắc phục bằng cách tự tìm 1 bài toán và vừa giải vừa diễn đạt nó, hoặc tốt hơn là tập với 1 người bạn.

Các vấn đề hay gặp liên quan trực tiếp đến bài toán được hỏi

Tiếp theo chúng ta sẽ đến với phần chính: những vấn đề hay gặp liên quan trực tiếp đến câu hỏi được đưa ra trong các đợt phỏng vấn kỹ thuật. Đây là những vấn đề mấu chốt cần chú ý để có được kết quả tốt hơn trong các đợt phỏng vấn này.

Không đặt câu hỏi để hiểu rõ đề bài

Đôi khi, các câu hỏi sẽ không có đủ dữ liệu để đưa ra câu trả lời hoặc câu hỏi quá rộng dẫn đến việc không thể tìm được 1 lời giải khả thi. Những lúc như vậy, các bạn cần hỏi người phỏng vấn để có thêm thông tin nhằm thu hẹp phạm vi bài toán và không được giả định bất kỳ thông tin gì. Việc này sẽ đảm bảo các bạn không hiểu sai đề hoặc đi lạc đề.

Phức tạp hoá bài toán

Theo kinh nghiệm cá nhân của mình, các bạn đang/đã học Thạc Sĩ hoặc Tiến Sĩ dễ mắc phải lỗi này hơn, do các bạn đã qua môi trường giải quyết các vấn đề hóc búa. Hệ quả của nó là các bạn sẽ sử dụng những kiến thức khá hàn lâm hoặc các thuật giải rất phức tạp (và không cần thiết) để giải quyết bài toán. Nó cũng thường hay xảy ra khi các bạn không đặt câu hỏi để có thêm dữ liệu mà giả định phạm vi của câu hỏi quá rộng so với ý người phỏng phấn muốn hỏi. Đây là những bất lợi không đáng có và hoàn toàn tránh được nếu bạn hiểu rõ đề bài.

Không canh thời gian cho câu trả lời của mình

Khi các bạn phát hiện 1 lỗ hổng hoặc 1 trường hợp đặc biệt mà lời giải của mình không tính đến, các bạn thường dành quá nhiều thời gian để khắc phục các ngoại lệ này mà không để ý mình mất bao nhiêu thời gian cho nó. Hệ quả là khi các bạn xử lý xong ngoại lệ đó thì đã không còn thời gian để chạy thử hoặc kiểm tra toàn bộ câu trả lời của mình nữa. Tai hại hơn, nếu nó xảy ra ở câu hỏi đầu tiên (trong trường hợp các bạn được hỏi 2 câu), các bạn sẽ không còn đủ thời gian để làm câu 2, và sẽ rất đáng tiếc nếu câu 2 dễ hơn câu 1.

Không kiểm tra các ngoại lệ và không chạy thử câu trả lời

Trong nhiều trường hợp các bạn phải xử lý một số ngoại lệ cho thuật giải của mình. Rất nhiều bạn bỏ qua các ngoại lệ này và chỉ để ý khi bị người phỏng vấn hỏi. Ngoài ra, các bạn nên chạy thử bằng tay thuật giải của mình với input mẫu (và input phức tạp hơn/ngoại lệ nếu có thời gian). Nên chú ý phần diễn đạt để đảm bảo người phỏng vấn hiểu được quy trình kiểm tra của bạn.

Chất lượng code thấp dưới áp lực thời gian

Code các bạn có thể khá xấu khi vừa bị áp lực về mặt thời gian vừa phải tư duy để giải quyết bài toán. Do tính chất của buổi phỏng vấn, code của các bạn không nhất thiết phải hoàn toàn chuẩn chỉ và tỷ trọng của code đẹp trong kết quả cuối cùng cũng chỉ tương đối; nhưng những lỗi rất cơ bản như: đặt tên biến/tên hàm hoàn toàn không có ý nghĩ (vd như “v”, “m”, “cal()”,…) , hoặc viết tất cả giải thuật trong 1 hàm rất to, … thì hoàn toàn có thể tránh được.

Bỏ qua những gợi ý từ người phỏng vấn

Trong quá trình phỏng vấn, người phỏng vấn có thể gợi ý để giúp các bạn quay lại đúng hướng khi các bạn sa đà vào 1 hướng đi không dẫn đến kết quả. Đôi khi những gợi ý đến từ những câu hỏi nhỏ. Khi các bạn bị kẹt với lời giải của mình, cần chú ý các câu hỏi của người phỏng vấn để nắm bắt các gợi ý kịp lúc.

Lời kết

Đó là toàn bộ những vấn đề mà mình để ý được sau đợt đầu hướng dẫn một số bạn kỹ sư. Hy vọng những vấn đề nêu trên sẽ giúp các bạn tự khắc phục được các khuyết điểm của mình trong quá trình chuẩn bị cho 1 kỳ phỏng vấn và đạt được kết quả tốt hơn. Mình sẽ bổ sung thêm nếu mình đúc kết được thêm điều gì mới trong đợt hướng dẫn tiếp theo.

--

--