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

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

Một tuần sau, mình vẫn không nhận được thông tin gì mới. Mình gửi mail hỏi chị nhân sự. Chị bảo bữa giờ chị hơi bận nên có gì để bây giờ chị sắp xếp gọi cho mình để báo kết quả luôn.

Rồi 2 chị em gọi cho nhau, chị nói là anh kia rất thích buổi phỏng vấn của mình và ảnh nghĩ mình sẽ là một ứng viên tiềm năng. Chị chúc mừng mình đã vượt qua vòng 2 và giờ sẽ tiến hành tới vòng phỏng vấn trực tiếp (onsite).

Rồi chị giới thiệu mình cho một chị nhân sự khác ở Menlo Park (trụ sở chính của Facebook). Chị đó sẽ hướng dẫn mình thực hiện các thủ tục giấy tờ cho vòng phỏng vấn onsite tiếp theo.

“Nếu em có thắc mắc gì thì cứ hỏi chị nha, lúc nào cũng được. Nhưng mà từ giờ thì em sẽ làm việc với chị nhân sự bên Menlo Park. Chúc em may mắn trong buổi phỏng vấn tới”, chị nói.

Hai chị em chào tạm biệt nhau rồi kết thúc cuộc gọi.

“Giờ thì mình sẽ được làm việc với một chị nhân sự khác ở trụ sở chính. Cũng có vẻ thú vị đây.”, mình nghĩ.

Hôm sau, mình nhận được một cuộc gọi Skype từ chị nhân sự bên Menlo Park. Chị giới thiệu bản thân rồi bắt đầu giải thích về quy trình phỏng vấn onsite.

“Thường thì Facebook sẽ mời ứng viên bay sang trụ sở chính ở Mỹ để phỏng vấn. Tuy nhiên, theo chị thấy thì có nhiều bạn thể hiện không tốt lắm trong buổi phỏng vấn ở Mỹ do bị ảnh hưởng của jet lag (rối loạn giờ giấc khi bay qua một nước có chênh lệch múi giờ lớn, khi người ta ngủ thì mình thức, khi người ta thức thì mình ngủ). Chị muốn tránh trường hợp này bởi bọn chị muốn ứng viên phải ở trong trạng thái tinh thần tốt nhất để buổi phỏng vấn trở nên hiệu quả hơn.

Cũng may là trong năm nay, bên chị có tổ chức phỏng vấn onsite ở Hồng-công và Singapore nữa, và chỉ dành cho ứng viên người châu Á. Em có quyền chọn phỏng vấn ở Hồng-công, hoặc Singapore, hoặc thậm chí là Mỹ (nếu em thấy okay với jet lag). Bọn chị sẽ lo vé máy bay và khách sạn cho em. À chị quên nói, nếu em chọn Hồng-công hoặc Singapore thì em sẽ phỏng vấn vào tháng 2. Còn nếu em chọn phỏng vấn ở Mỹ, thì bọn chị có thể mời em bay qua bất cứ lúc nào.”, chị cố tình nói thật chậm để mình nghe cho rõ.

Mặc dù mình luôn muốn ghé thăm trụ sở chính của Facebook một lần trong đời cho biết, nhưng mình nghĩ nó cũng không đáng bởi vì mình chưa bị jet lag bao giờ nên mình không tự tin là sẽ kiểm soát được nó. Ngoài ra thì mình cũng cần thêm thời gian để ôn luyện cho buổi phỏng vấn onsite, tầm 2 tháng tính từ thời điểm đó cho tới tháng 2.

Bởi vậy, mình quyết định chọn phỏng vấn ở Singapore.

“Được rồi, vậy chị sẽ lên lịch phỏng vấn cho em ở văn phòng Facebook Singapore vào tháng 2. Còn về vé máy bay và khách sạn thì có người bên chị sẽ liên lạc với em vào tháng 1 và sắp xếp ổn thoả mọi thứ. Ngoài ra, chị cũng sẽ gửi cho em một email nói về cách chuẩn bị cho vòng phỏng vấn onsite sắp tới.”, chị nói.

Mình cám ơn rồi 2 chị em cúp máy.

Vài tiếng sau, chị gửi cho mình một email với một file pdf đính kèm, có tên là “iOS Onsite Prep” (tài liệu ôn phỏng vấn onsite về iOS). Mình mở ra đọc kỹ từng chữ rồi tóm tắt lại như sau:

Buổi phỏng vấn onsite bao gồm 4 vòng phỏng vấn, mỗi vòng kéo dài 45 phút, sẽ phỏng vấn với kỹ sư iOS hoặc manager.

  • Phỏng vấn giải thuật (Coding/Algorithms interview):
    • Số vòng phỏng vấn: 2.
    • Thời lượng: 45 phút.
    • Cũng giống vòng phỏng vấn kỹ thuật từ xa, chỉ có điều hỏi thêm vài câu về kiến thức lập trình iOS cơ bản và nâng cao.
    • Yêu cầu bạn phải viết code trên bảng trắng (viết bằng bút lông).
  • Phỏng vấn thiết kế hệ thống (Architecture design interview):
    • Số vòng phỏng vấn: 1.
    • Thời lượng: 45 phút.
    • Bạn sẽ được cho một câu hỏi và nó sẽ chiếm trọn thời gian của buổi phỏng vấn. Câu hỏi tập trung về cách thiết kế các hệ thống hoặc thư viện phức tạp. Ví dụ: Hãy thiết kế một ứng dụng chia sẻ ảnh với hơn 1 tỷ người dùng.
    • Yêu cầu bạn phải viết trên bảng trắng. Bạn có thể vẽ biểu đồ, khai báo một số interface cơ bản, hoặc là viết bất cứ thứ gì, miễn sao là trình bày được thiết kế của mình cho người ta hiểu.
    • Giao tiếp chính là chìa khoá thành công trong vòng này.
      • Bạn sẽ là người dẫn dắt buổi phỏng vấn.
      • Bạn phải chủ động hỏi kỹ yêu cầu để chắc là mình hiểu đề.
      • Bạn phải thảo luận được về các ràng buộc (constraints) của hệ thống và cách đánh đổi (tradeoffs) sao cho phù hợp.
    • Vòng này thì không có câu trả lời nào là đúng tuyệt đối cả, cho nên hãy sáng tạo và nhớ là phải nói to suy nghĩ của mình trong lúc làm.
    • Một vài chủ đề: (dành cho những bạn làm iOS, mình sẽ ghi nguyên gốc tiếng Anh chứ không dịch)
      • iOS SDK.
      • Views, Layout, and Animation.
      • Concurrency (GCD, threads, deadlock, starvation, consistency, coherence).
      • Networking.
      • Coupling, Software Design, and Handling Complexity.
      • Abstraction (including how OS, filesystem, and database work).
      • Real-world performance (Graphics, Interaction, RAM, Disk, Network).
      • Durability and Reliability (Understanding how things can fail).
      • Data storage (Memory vs. Persisted, State management).
  • Phỏng vấn văn hoá và sự nghiệp (Career & Culture), có cả code nữa:
    • Số vòng phỏng vấn: 1.
    • Thời lượng: 1 tiếng.
    • Phỏng vấn với một manager.
    • Có 2 phần: nói chuyện và code.
    • Chủ yếu nói về kinh nghiệm làm việc của bạn, định hướng sự nghiệp, bạn muốn đạt được gì ở Facebook, và lý do bạn sẽ hoà nhập vào Facebook tốt hơn so với các công ty khác.
    • Hãy đặt câu hỏi cho người phỏng vấn. Đây cũng là dịp để bạn tìm hiểu về công ty chứ không chỉ là công ty tìm hiểu bạn.
    • Một vài chủ đề:
      • Hãy kể về những dự án mà bạn đã làm trong vài năm trở lại đây.
      • Bạn thích dự án nào nhất? Hãy kể về một dự án mà bạn đã thể hiện tốt nhất.
      • Hãy nói về một khó khăn mà bạn gặp phải gần đây. Bạn vượt qua nó như thế nào? Bạn học được gì từ trải nghiệm đó?
      • Tại sao bạn muốn làm việc ở Facebook? Bạn nghĩ mình sẽ đạt được thành tựu gì ở đây?
    • Phần code thì cũng giống như các vòng giải thuật khác.

Và một loạt link:

“Wow, quá trời thứ để học luôn. Hấp dẫn đây.”, mình nghĩ.

Rồi mình điều chỉnh kế hoạch học tập lại 1 chút.

  • Dành thời gian đọc hết đống dữ liệu ở trên.
  • Thay vì lập trình trên máy tính, mình mua một cái bảng trắng về treo ở nhà và thực hành viết code lên bảng, vừa viết vừa nói to lên suy nghĩ của mình.
  • Đôi khi, mình cũng thử giải một bài “Hard” trên Leetcode, thường sẽ mất từ 1-2 ngày để giải cho đúng.
  • Mình tập giải một số bài về thiết kế hệ thống (architecture design), nhưng mà cũng không nhiều lắm vì mình không biết đáp án như thế nào mới là tốt.
  • Mình xem lại kinh nghiệm làm việc trước đây và chuẩn bị sẵn câu trả lời cho các câu hỏi tình huống.

Hai tháng trôi qua nhanh chóng, mình bay qua Singapore và sẵn sàng đón nhận thử thách cuối cùng.

[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 5)

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