Series sẽ gồm 5 phần:
- Phần 1: Tôi đã bị reject sml như thế nào
- Phần 2: Tôi đã phải làm test sml như thế nào
- Phần 3: Phỏng vấn châu Âu có gì dzui?
- Phần 4: 20 ngày, 5 quốc gia, 6 lần phỏng vấn, 5 offer
- Phần 5: Lựa chọn và một hành trình mới
Ở phần trước, mình đã kể các bạn nghe về kinh nghiệm tìm việc, rải CV và chuyện mình đã bị reject sml như thế nào.
Bên cạnh những email reject, một số công ty cũng tạo điều kiện cho mình bằng cách cho làm bài test, hoặc phỏng vấn với nhân sự trước.
Các công ty châu Âu cho làm bài test lập trình như thế nào? Các bạn đọc bài viết để biết nhé ;).
Test, test nữa, test mãi
Quy trình chung của các công ty thường là:
- Bài test lập trình 60-120 phút (trên hackerrank hoặc các trang tương tự).
- Phỏng vấn kĩ thuật/nhân sự 60 phút qua Skype
- Qua tận nơi phỏng vấn, nói chuyện trực tiếp với sếp và HR

Nếu đợt trước mình từng bị reject sml, thì đợt này mình cũng phải lo làm test sml. Mình chia sẻ sơ sơ về những bài test mà mình đã từng làm nhé:
- myCS Gmbh: Test 10 câu JavaScript khoảng 60 phút. Chỉ có một câu khó dùng đệ qui, còn lại toàn mấy câu đơn giản chỉ 4,5 dòng code. Vòng sau có pair-programming, vừa code vừa giải thích.
- Fiellman Venture: Một trong những bài test có cái đề chó má nhất mình từng gặp! 1 tiếng rưỡi với 3 câu trắc nghiệm, 2 câu code dài và 5 câu tự luận. Vâng, là năm câu tự luận đấy các bạn ạ! Bắt ngồi trả lời database transaction là gì, tìm lỗi sai trong REST Design v…v
- Optiver: Bài test 90 phút gồm 3 câu code (1 câu fix bug) và 5 câu trắc nghiệm. Đề cũng khá vừa sức, chỉ thử về OOP và ít thuật toán. Câu cuối khó nhất thì phải dùng cây nhị phân mới làm được.
- eVision: Có anh HR gặp qua Skype, nói chuyện 15 phút trước rồi giao bài test. Đề cho sẵn back-end, ta chỉ làm front-end cho 1 ứng dụng nho nhỏ. Cũng không khó lắm, mất khoảng 2-3 tiếng trau chuốt cái UI là ok.
- Evolution Gaming: Bài test khó kinh khủng. Vì bọn nó là công ty gaming và cá độ nên đề của bọn nó là code front-end cho một hệ thống game nho nhỏ. Đề có 3 tiếng mà phải xử lý websocket, xử lý failure event, fallback. May mà mình dùng React Redux nên cũng tạm làm xong.
Khác
- Canva (Úc): Đề có 2 vòng. Vòng đầu là 1 bài test JavaScript 1 câu 60 phút. Mình làm xong mất có 15 phút, nhưng tận phút 40 mới nộp vì fix hoài mới xong bug. Sau đó bạn HR gửi thêm 1 bài nữa, thiết kế architect và viết code front-end theo đề đã cho. Nó cho 1 tuần, mình làm 6-7 tiếng mới xong.
- bwin.party (Áo): Đề khá vui vì khá thực tế. Vị trí tuyển người biết JS và C#. Câu đầu 90 phút, cho một ứng dụng back-end C# và front-end Angular2, ta code thêm chức năng và fix bug để ứng dụng chạy được. Câu 2 là cho 20 phút để review code cho 1 đoạn code nho nhỏ.
- Agoda (Thái Lan): Đề 6 câu, 90 phút trên hackerrank. Nói chung cũng không quá khoai, có vài câu về thread và stack này nọ. Mỗi tội là test case không rõ ràng nên hơi khó làm. Câu khó nhất mình làm tà tà cũng pass gần hết test case, may mà cũng đậu.
Kinh nghiệm làm bài test
Thật ra, chắc do các công ty mình ứng tuyển chưa phải tầm như Google, Amazon nên những bài test cũng như câu hỏi phỏng vấn của họ không xoáy nhiều vào thuật toán cho lắm.
Không cần đến vét cạn, qui hoạch động, tham lam, đồ thị hoặc tìm đường ngắn nhất. Chỉ cần biết dùng Array, Queue, Stack, HashMap, Hastable là các bạn cũng đủ vượt qua mấy vòng này rồi.
Mình cũng không chuẩn bị gì nhiều, chủ yếu là ôn lại kiến thức cơ bản, đọc sách về technical interview, lên các trang như hackerrank, codefight để làm thử thôi.

Lúc làm bài thì chỉ cần bình tĩnh đọc đề kĩ một tí, chạy các test case nếu có để xem thử input, output thế nào. Đọc hết một lượt đế xem câu nào khó thì để lại sau, dễ thì lấy làm trước.
Phần lớn các trang này không cấm việc copy code, chỉ cấm copy đề bài. Do vậy, nếu được thì có thể bỏ vào IDE để được nhắc lệnh và debug code dễ hơn, sau đó cóp lại vào bài làm sau.
Đa phần những câu này Google không có lời giải đâu, nhưng cũng sẽ có 1 số câu tương tự để các bạn tham khảo đấy.
Kết
Sau khi làm bài test, mình chỉ cần nằm chổng mông chờ kết quả thôi. Do ngẫu nhiên, đương nhiên và hiển nhiên, mình vượt qua toàn bộ vòng test đầu tiên. Sau màn test sml là tới màn phỏng vấn sml. Mình bắt đầu chuẩn bị và sắp xếp lịch phỏng vấn với các công ty này thôi!
Qui trình phỏng vấn ra sao, họ hỏi về những vấn đề gì? Các bạn chịu khó đón xem phần sau để biết nhé!
test như thế này cũng sml thật a ạ :v
LikeLike
Sao nó ngắn vậy:( chờ sáng h đọc 5p xong roài -_-
LikeLike
Ở Optiver anh phải giải thuật toán bằng ngôn ngữ lập trình j? E chưa hề biết javascript chạy dc đệ quy luôn
LikeLike
Ở Optiver a dùng C# rồi tự viết binary tree thôi e 😉
LikeLike
Ban oi nhung bai test the nay, khi lam ban co cau ki trinh bay gi khong ?
Thanks
LikeLike
Chạy pass hết các test case là được bạn nhé 😀
LikeLike
Xem ra các bài test không làm khó được chủ thớt của chúng ta 🙂
có ví dụ minh họa thì tốt hơn kkk
LikeLike
đang lên đỉnh cái chờ phần sau tuột cả hứng ))
LikeLike
Theo anh nhìn chung thì khi ứng tuyển với vị trí Full Stack thì người ta thường xoáy mạnh vào front-end không? Thường thì yêu cầu Full stack nắm front-end ở mức cơ bản, nhưng như ở Evolution Gaming với eVision thì lại test front-end (hay a ứng tuyển front-end ở đó @@ hay là do yêu cầu ở nước ngoài cao hơn?)
LikeLike
Tuỳ công ty em. Có công ty a ứng tuyển front-end, có cty a ứng tuyển full-stack.
LikeLike
Anh có thể cho một ít ví dụ và cách giải được không? Em đang sv năm 3 mà đọc xong thấy khó vãi.
LikeLike
“Nó cho 1 tuần, mình làm 6-7 tiếng mới xong” :))
LikeLike
Thì nó tính mấy người đi làm, tối về chỉ có 1-2 tiếng rảnh mỗi ngày nên làm cả tuần mới xong đó bạn 😀
LikeLike
Sao mà mấy công ty game lại cho test khó vậy anh
LikeLike
test nhu the nay thi kho hon bon toi test H1B ngay xua nhieu
LikeLike
Cám ơn bạn đã truyền cảm hứng cho già. Năm nay già đã 80t rồi và đang làm trưởng bản ở sóc bombo. Tuy vậy già vẫn luôn hy vọng có 1 ngày được đi nước ngoài bằng con đường xuất khẩu lao động
LikeLike