Không phải ai cũng thành công trong lần đầu phỏng vấn vào các công ty công nghệ lớn. Nhưng có những người chọn cách học hỏi từ thất bại, tích lũy thêm kỹ năng và kiên trì tiến bước. Trong buổi phỏng vấn hôm nay, đội ngũ nội dung của Engineer Pro đã có dịp trò chuyện cùng một học viên giấu tên – người từng "fail" ở TikTok nhưng sau đó đã pass level middle tại ANT International. Bài chia sẻ không chỉ là câu chuyện đi xin việc mà còn là hành trình trưởng thành kỹ thuật, vượt ngưỡng bản thân, và những giá trị thực tế học được từ các khóa học tại Engineer Pro.
Anh có thể giới thiệu sơ lược về bản thân, background học tập và công việc hiện tại được không ạ?
Mình sinh năm 2001, từng theo học ngành Công nghệ Thông tin tại Đại học Bách Khoa. Sau khi tốt nghiệp, mình làm ở một công ty nhỏ, rồi chuyển sang làm tại Giao Hàng Tiết Kiệm khoảng 1 năm rưỡi. Trước đây, mình khá yếu về thuật toán và system design, nhưng rất may mắn khi biết đến các khóa học của Engineer Pro. Sau một thời gian ôn luyện, mình bắt đầu apply vào các công ty lớn như TikTok, Zalo, Chợ Tốt và gần đây nhất là ANT International thuộc ANT Group.
Quá trình apply vào các công ty đó diễn ra như thế nào? Anh có thể chia sẻ kết quả và trải nghiệm không?
Mình từng phỏng vấn TikTok nhưng không thành công. Sau đó, mình pass ở Zalo và Chợ Tốt nhưng từ chối offer vì cảm thấy không phù hợp. Gần đây nhất, mình apply vào ANT International – vốn là một chi nhánh quốc tế của Ant Group (Alipay Plus). Rất may mắn, mình được nhận vào vị trí Middle-level Engineer và đang chuẩn bị onboard.
Trước khi đến với Engineer Pro và sau khi tham gia các khóa học, anh đánh giá thế nào về lượng kiến thức mình đã tiếp thu? Các khóa học ở đây có đúng như anh kỳ vọng không?
Mình đã học 5 khóa: Backend Golang, DSA2, DSA3, System Design 1 và System Design 2.
Thực ra lúc đầu mình đăng ký cũng chỉ với hy vọng sẽ hình dung được toàn cảnh về những kiến thức cần ôn luyện, những kỹ năng cần học để chuẩn bị phỏng vấn. Và đúng là mình đã đạt được điều đó. Nhưng không chỉ dừng lại ở đó, sau khi học mình còn nhận được nhiều giá trị hơn mình tưởng tượng.
Điển hình nhất là khóa System Design 1. Khóa học không chỉ giúp mình nắm rõ kiến thức mà còn phát triển tư duy phản biện rất mạnh. Chúng mình còn có bài tập lớn, hay nói đúng hơn là một dự án thực tế. Điều mình thích nhất là được thực chiến và nhận feedback trực tiếp từ anh Lâm, được làm việc nhóm cùng các bạn khác. Nhờ đó, mình còn có cơ hội quen biết thêm nhiều anh em trong cộng đồng Engineer Pro, rất vui và bổ ích.
Sau System Design 1, mình tiếp tục học DSA3. Thực ra mình bắt đầu từ DSA1 nhưng thấy dễ quá vì trước đó mình đã học công nghệ thông tin, nên mình nhảy lên DSA2 rồi tiếp đến System Design 2. Khóa SD2 cũng khá ổn, cung cấp nhiều kiến thức mới, có những phần mình biết, có những phần mình chưa biết.
Nhưng DSA3 thì đúng là thách thức thật sự, khá hardcore. Hiện tại mình vẫn thường xuyên xem lại các dạng bài khó và các pattern giải quyết vấn đề mà các anh giảng, cảm thấy rất hay và đáng học.
Vậy Mentor nào tại Engineer Pro để lại cho anh ấn tượng sâu sắc nhất?
Có lẽ là anh Hòa và anh Lâm. Anh Hòa có kinh nghiệm làm việc thực tế rất nhiều nên khi hướng dẫn hay phản hồi, anh đưa ra cách diễn đạt dễ hiểu với cả những người còn thiếu kinh nghiệm như mình. Ngoài ra, mình cũng rất thích cách giảng của anh Quang Hoàng – logic, mạch lạc và luôn trả lời rõ ràng mọi thắc mắc.
Về quá trình phỏng vấn ở TikTok bao gồm những gì?
Mình được anh Lâm Đỗ – mentor của lớp System Design refer vào team Infra tại TikTok. Mình thấy khá áp lực vì team này làm việc với các hệ thống low-level, nên yêu cầu kiến thức sâu.
-
Vòng 1 là Online Assessment (OA): Mình làm 2 bài, một bài thiên về dynamic programming và một bài cần áp dụng binary search + greedy. Cả hai bài đều ở mức khó hơn Leetcode medium. Mình giải gần hết test case của bài 2 nhưng vẫn hơi tiếc vì không pass toàn bộ.
-
Vòng 2 là Technical Interview: Mình gặp một anh engineer người Việt. Anh ấy cho mình một bài về trie + backtracking, đề khó hơn đề mock interview mình từng làm. Sau đó là phần hỏi nhanh về kiến thức hệ thống như TCP handshake, thread-safe trong Golang, dùng mutex hay channel, và cách xử lý deadlock. Mình trả lời được nhưng vẫn còn hơi lúng túng ở vài phần về OS.
Nói thật, mình nghĩ mình không fail vì code mà fail vì thiếu chuẩn bị tâm lý cho một buổi phỏng vấn áp lực cao như vậy và trả lời chưa đủ sắc sảo trong phần hệ thống.
Còn quy trình ở ANT International thì sao? Anh có thể chia sẻ chi tiết hơn không?
Mình apply vào ANT thông qua một người quen trong cộng đồng backend ở Sài Gòn. Quy trình phỏng vấn gồm 3 vòng.
Vòng 1 – Technical Interview:
- Mình được yêu cầu giải bài toán xử lý transaction bất đồng bộ. Thiết kế một hệ thống gồm producer → queue → retry worker, có thêm circuit breaker để tránh spam khi service downstream bị down. Mình chủ động vẽ sơ đồ kiến trúc bằng tay rồi explain từng phần – cách này mình học được trong lớp System Design 2. Anh interviewer đánh giá cao khả năng trình bày và cách chia module rõ ràng.
Vòng 2 – System Design Deep Dive:
-
Đây là vòng mình thấy căng nhất nhưng cũng tự tin nhất vì giống với format ở lớp mock interview. Bài toán là thiết kế một hệ thống Payment Gateway đa quốc gia. Mình bắt đầu từ việc xác định các thành phần chính: payment router, fraud detection, transaction processor, và currency exchange service.
-
Họ hỏi sâu về:
-
Làm sao để đảm bảo idempotency khi user gửi lại request?
-
Nếu dùng Kafka, làm sao để guarantee at-least-once mà không double charge?
-
Xử lý thế nào khi một trong các bank endpoint bị timeout hoặc trả về trạng thái không đồng nhất?
-
-
Mình dùng pattern saga + outbox + retry để mô tả cách giữ eventual consistency. Em giải thích chi tiết cơ chế retry theo exponential backoff, cách chống mất message bằng DLQ, và cách log audit trail để trace toàn bộ transaction path.
Vòng 3 – Cultural Fit:
- Nhẹ nhàng hơn, hỏi về định hướng nghề nghiệp, cách mình làm việc nhóm, và một số câu hỏi tình huống như: “Nếu disagreed với tech lead thì mình sẽ làm gì?” Mình trả lời dựa trên trải nghiệm làm việc thực tế và cả những gì được mentor chia sẻ trong buổi Career Mindset.
Vậy anh cảm nhận quy trình phỏng vấn tại An International có gì khác biệt so với TikTok không?
Ở Ant, vòng OA được thay bằng một vòng khác, vẫn là OA nhưng không có deadline cụ thể, mà cho mình 2 ngày để làm. Trong quá trình làm có thể search thông tin, nhưng tư duy và kiến thức là quan trọng nhất.
Có khoảng 5 bài, trong đó có bài về xử lý parallel thread để đếm số từ trong file, bài thuật toán medium như Word Break, và một bài khá khó về thiết kế hệ thống payment với yêu cầu TPS 10 triệu một giây, độ trễ 3-5 ms, tính consistency cao, microservice hosting trên cloud, đảm bảo an toàn API.
Mình nghĩ cần kiến thức system design khá sâu, có thể đến System Design 2 mới đủ khả năng đưa ra giải pháp tối ưu cho bài này.
Cảm xúc của anh khi nhận được offer từ ANT là gì?
Mình vui nhưng cũng hơi bất ngờ, vì so với TikTok thì ANT không phải là cái tên hot trong cộng đồng Big Tech ở VN. Nhưng sau khi tìm hiểu kỹ, mình thấy họ là công ty con của Ant Group – team global, làm việc với các luồng thanh toán quốc tế, có codebase lớn, được training từ đầu. Mình chọn ANT thay vì Zalo vì muốn thử thách bản thân ở môi trường “đa quốc gia” hơn.
Anh có lời khuyên nào cho các bạn đang muốn apply các công ty lớn không?
Theo mình, việc học lý thuyết thôi chưa đủ, các bạn phải thực hành nhiều, tập thảo luận, review các case study thực tế để làm quen với các vấn đề thường gặp. Khóa học bài bản như System Design 1 và 2 sẽ giúp các bạn xây dựng nền tảng vững chắc. Ngoài ra, việc rèn luyện tư duy logic và kỹ năng giải quyết vấn đề nhanh cũng rất quan trọng. Tham gia cộng đồng, trao đổi với mentor, bạn bè để mở rộng góc nhìn cũng là điều không thể thiếu.
Từ một ứng viên từng thất bại ở TikTok vì thiếu chuẩn bị, đến khi tự tin vượt qua thử thách tại ANT International, hành trình của anh là minh chứng cho việc đầu tư nghiêm túc vào kiến thức nền tảng, cộng đồng học tập chất lượng và sự kiên trì sẽ đưa bạn đến đúng điểm đích. Và nếu bạn cũng đang loay hoay trên hành trình tìm việc ở các công ty công nghệ lớn, có lẽ đây là lúc để bắt đầu – như cách anh đã bắt đầu cùng Engineer Pro.
---------------------------------------------------------------------
Engineer Pro là một trung tâm đào tạo các khóa học chuyên sâu dành cho các software engineer. Với 100% giảng viên đến từ các Big Tech như Google, Amazon, Shopee, TikTok, … Engineer Pro đảm bảo chất lượng giảng dạy và lộ trình học tập rõ ràng, từ cơ bản đến nâng cao, giúp học viên tự tin ứng tuyển vào các vị trí software engineer trong ngành công nghệ này.
Thông tin liên hệ: