Chuyện phỏng vấn với một công ty ở Mỹ (phần 3)

[Tiếp theo của phần 2]

Hôm sau, mình nhận được email của chị nhân sự bày về cách ôn luyện phỏng vấn cho vòng kỹ thuật sắp tới. Mình mở mail ra đọc rất kỹ. Đại loại là gồm những thông tin sau:

  • Những kỹ năng phỏng vấn của tác giả nổi tiếng Gayle Laakmann McDowell:
    • Sách “Cracking the coding interview”. (Cách ôn và vượt qua vòng phỏng vấn giải thuật)
    • Slide “Cracking the soft skills”. (Cách sử dụng kỹ năng mềm trong phỏng vấn)
    • Một vé xem tác giả Galye chia sẻ trực tiếp online. Họ tổ chức những buổi ôn luyện phỏng vấn như này tại trụ sở Facebook cứ 2 lần mỗi tuần.
  • Một vài bài blog và video về các mẹo phỏng vấn từ Google và Facebook.
  • Một số website để tập giải đề:

Mình dành ra nhiều ngày để đọc hết đống tài liệu đó (blog, video, sách). Lúc đầu mình tưởng nội dung của chúng sẽ rất chán, ai ngờ đọc vào thấy vô cùng thú vị. Mình học được rất nhiều về các phong cách phỏng vấn và những điều mình phải làm để thể hiện tốt nhất. Sau khi xem qua hết thì mình nhận thấy nguồn thông tin hữu ích nhất chính là cuốn sách “Cracking the coding interview”. Trong đó viết về tất cả mọi thứ mà mình cần biết khi phỏng vấn ở các công ty công nghệ lớn, đặc biệt là ở Mỹ.

Giờ thì mình cần lên một kế hoạch để luyện giải đề càng nhiều càng tốt.

Ở thời điểm này mình vẫn còn đi làm nên mình chỉ có thể học vào buổi tối và cuối tuần. Mình lên kế hoạch như này:

  • Mình chọn https://leetcode.com/ làm kho đề thi chính.
    • Mình đăng ký tài khoản premium để lọc được câu hỏi theo từng công ty.
    • Mình chỉ chọn giải những câu hỏi từ công ty Facebook.
    • Có 3 kiểu câu hỏi trên Leetcode: Easy, Medium và Hard.
      • Mình chỉ chọn giải những câu “Easy” và “Medium” vì mình tin rằng sẽ không có đủ thời gian để giải một bài “Hard” trong buổi phỏng vấn 1 tiếng đồng hồ ngắn ngủi, chưa kể thời gian giới thiệu bản thân rồi chat chit linh tinh để khởi động nữa.
  • Mỗi buổi tối, mình cố giải cho được 1-2 câu hỏi “Easy”. (dưới đây mình sẽ ghi hơi kỹ thuật 1 tí nên chắc chỉ có mấy bạn học lập trình mới hiểu)
    • Mình không những cố gắng giải đề nhanh nhất có thể, mà còn tập nói to lên suy nghĩ của mình trong từng bước giải bài tập. Điều này cực kỳ quan trọng bởi vì nó giúp cho người phỏng vấn hiểu được mình đang nghĩ gì và muốn làm gì tiếp theo.
    • Sau khi giải xong bài, mình tập kiểm tra đáp án bằng cách cho một ví dụ cụ thể rồi chạy chương trình từng dòng code một để xem nó có cho ra kết quả đúng hay không.
    • Rồi mình nghĩ thêm về các trường hợp ngách, độ phức tạp (Big O) và cách tối ưu giải pháp hơn nữa.
    • Trên Leetcode có một phần họ trình bày về các cách tiếp cận từng câu hỏi và cách giải sao cho tối ưu nhất. Đó là những thông tin rất bổ ích.
    • Mình không tập viết code trên bảng trắng ở thời điểm này bởi vì nó cũng không giúp ích gì mấy cho buổi phỏng vấn qua Skype sắp tới.
  • Cuối tuần, mình giải những bài có độ khó “Medium”.
  • Những lúc rãnh ở ngoài đường thì mình hay dùng điện thoại để đọc các câu hỏi phỏng vấn của Facebook trên Glassdoor (một nền tảng chia sẻ ẩn danh về lương, các câu hỏi phỏng vấn, môi trường làm việc của nhiều công ty). Ở trên đó thì câu hỏi muôn trùng. Mình nhận ra rằng không có gì là bí mật ở cái thế giới này. Chuyện gì người ta cũng chia sẻ lên mạng. Bởi vậy vấn đề không phải là thiếu thông tin, mà vấn đề là bạn có chịu khó bỏ thời gian ra để tìm thông tin và đọc hay không thôi.

Sau vài tuần, mình cảm thấy rất sẵn sàng.

Rồi ngày phỏng vấn cũng đến, lần này thì nó diễn ra vào buổi sáng, lúc 6 giờ Việt Nam. Mình dậy sớm và ngồi vào bàn làm việc. Mình vẫn cảm thấy hơi hồi hộp, nhưng không nhiều như vòng trước.

Rồi đồng hồ vẫn tiếp tục đếm ngược, mình nhận được một lời mời kết bạn trên Skype. Sau đó cuộc gọi bắt đầu.

Lần này, mình phỏng vấn với một kỹ sư. Anh ta có bật webcam nên mình có thể nhìn thấy mặt. Ảnh là người Mỹ, đeo kính và có râu quai nón, tầm hơn 30 tuổi. Ảnh đang là quản lý của một team kỹ sư iOS ở Facebook. Hai anh em giới thiệu bản thân xong thì bắt đầu phỏng vấn thực sự.

Ảnh gửi cho mình một link tới một trang web hỗ trợ viết code online có tên là Coderpad. Sau đó ảnh gửi câu hỏi đầu tiên, đó là “làm sao để xoá các phần tử trùng lặp trong một mảng”.

Câu hỏi này thì tương đối dễ. Tuy nhiên, bởi vì đây là lần đầu tiên mình viết code trước mặt người khác trong một buổi phỏng vấn cho nên mình rất là run. Nói năng cũng không được trôi chảy lắm. Nhưng mình không quên các buổi tập trước đây. Mình bắt đầu nói to về các bước mà mình tính làm, vừa nói vừa gõ code. Mình có bị khựng và rối ở một số chỗ nhưng rồi sau đó mình cũng vượt qua được và hoàn thành trong vòng 10-15 phút. Sau đó mình cho một ví dụ cụ thể rồi kiểm tra lại code. Ảnh có vẻ okay với câu trả lời này và nhanh chóng gửi câu hỏi tiếp theo.

Lần này là câu hỏi về việc “di chuyển trong cây” (tree traversal), nhưng không phức tạp lắm. Mình vẫn làm theo các bước đã tập và đến được với đáp án khá nhanh. Sau đó ảnh nhìn code của mình vài phút rồi xác nhận là nó chính xác. Ảnh cười và khen mình về cách mà mình nói lên suy nghĩ trong lúc làm cũng như cách mà mình kiểm tra code khúc cuối. Nói chung là ảnh khá ấn tượng.

“Vòng phỏng vấn đến đây là kết thúc rồi. Em có câu hỏi gì không?, ảnh nói.

Có chứ, lúc nào cũng có hết. lần này mình chủ yếu hỏi về kỹ thuật như: cách deploy của một ứng dụng iOS lớn như Facebook, cách viết test tự động, cách phát hiện rò rỉ bộ nhớ, v.v.

Chỉ có một câu là không liên quan tới kỹ thuật.


Hỏi: Anh thấy cuộc sống ở Facebook như nào?

Đáp: Anh thích làm việc ở Facebook. Anh có nhiều cơ hội để chuyển team và thử thách bản thân chứ không bị cố định một chỗ mãi. Ở đây thì ai cũng thông minh cả, không chỉ kỹ sư mà cả những người thiết kế (designer) hay quản lý sản phẩm (product manager). Ai ai cũng tràn đầy nhiệt huyết với công việc và tầm ảnh hưởng mà họ có thể tạo ra. Đôi khi bọn anh cũng có cãi nhau về việc nên dùng kiến trúc hệ thống nào cho phù hợp, nhưng anh nghĩ những cuộc thảo luận đó là cần thiết và rất lành mạnh. Uh thì đó, nói chung là anh thích cuộc sống ở đây.


Cuộc gọi kết thúc.

“Yes, I did it”, mình la lớn lên.

Mặc dù vẫn còn phải chờ kết quả chính thức nhưng mình biết là ảnh thích buổi phỏng vấn đó. Mình có cơ hội rất cao để đi phỏng vấn trực tiếp (onsite) ở Mỹ. Mình không tả được là mình đã vui như thế nào, chỉ biết là mình cười suốt ngày hôm đó.

[Còn tiếp]

Đăng ký theo dõi blog

Nếu bạn cảm thấy blog mình có ích thì hãy đăng ký theo dõi để nhận email thông báo khi có bài viết mới nhé.

Các bài liên quan

Chuyện phỏng vấn với một công ty ở Mỹ (phần 4)

Chuyện phỏng vấn với một công ty ở Mỹ (phần 2)