CÂU CHUYỆN ĐẬU TIKTOK CỦA ANH NGUYỄN BẢO NGUYÊN KHI DỰ ÁN AI CÁ NHÂN TẠO KHÁC BIỆT
Trong cộng đồng Engineer Pro, anh Nguyễn Bảo Nguyên là một trong những học viên khóa DSA 2 và 3 để lại nhiều dấu ấn đặc biệt. Không chỉ từng trải qua nhiều vòng phỏng vấn khắt khe tại các công ty công nghệ lớn, anh còn chính thức nhận được offer từ TikTok sau ba lần thử sức, đồng thời đang phát triển một dự án AI extension cá nhân với tầm nhìn rất rõ ràng và thực tế.
Trong buổi phỏng vấn này, anh Nguyên đã chia sẻ chi tiết toàn bộ hành trình học tập, quá trình ôn luyện, kinh nghiệm phỏng vấn TikTok, những lần thất bại đến thành công, cũng như góc nhìn rất thật của một engineer đã đi làm nhiều năm về con đường phát triển sự nghiệp, giá trị của side project và AI trong tương lai.
Điểm đặc biệt trong câu chuyện của anh Nguyên không chỉ nằm ở kết quả cuối cùng, mà còn ở cách anh chọn xây dựng năng lực của mình song song với việc đi làm, thông qua một dự án AI cá nhân mà chính anh cũng không ngờ lại trở thành “chìa khóa” quan trọng trong các vòng phỏng vấn.
Anh có thể chia sẻ một chút về bản thân và công việc hiện tại của mình được không ạ?
Hiện tại anh đang làm Frontend Developer tại một công ty nhỏ ở Singapore. Công việc chính của anh xoay quanh web frontend và mobile app với React Native. Trước đó, anh từng làm Frontend UI cho Shopee Singapore, ngoài ra cũng có một vài trải nghiệm internship ở Việt Nam.
Về cơ bản, công việc hằng ngày của anh không quá khác so với nhiều frontend engineer khác. Nhưng điểm khác biệt là trong thời gian rảnh, anh khá thích tự mày mò làm thêm những dự án riêng, chủ yếu để học thêm và thử những thứ mới mà trong công việc chính đôi khi không có cơ hội làm.
Được biết anh đã nhận offer từ TikTok. Thời điểm nào anh sẽ chính thức onboard ạ?
Anh đã nhận offer rồi, nhưng hiện tại vẫn đang chờ work visa, nên chưa nghỉ việc ở công ty hiện tại. Khi mọi thủ tục xong thì anh mới chuyển sang TikTok.
Cơ duyên nào đã đưa anh đến với cơ hội phỏng vấn TikTok lần này?
Anh quen anh Lâm từ khá lâu trước đó, chủ yếu là kết bạn Facebook chứ cũng không nói chuyện nhiều. Gần đây có dịp nói chuyện lại thì anh Lâm hỏi anh có muốn thử phỏng vấn TikTok không.
Thật ra lúc đó anh cũng khá ngại. Trước đó anh đã hai lần rớt TikTok, mà cả hai lần đều rớt ở vòng cuối, nên tâm lý cũng hơi nản. Nhưng nghĩ lại thì thấy nếu không thử thêm lần nữa thì cũng sẽ không bao giờ biết được mình đang thiếu điều gì, nên anh quyết định gửi hồ sơ để anh Lâm refer, xem như cho bản thân thêm một cơ hội.
Anh đã chuẩn bị cho lần phỏng vấn này như thế nào?
Khó nhất với anh vẫn là thuật toán. Hai lần trước anh ôn chưa đủ sâu, vì những công ty trước đó không yêu cầu quá nặng. Nhưng TikTok thì khác, nên lần này anh dành khoảng 4–5 ngày chỉ để ôn lại thuật toán, chủ yếu là để lấy lại tư duy và phản xạ.
Những phần còn lại như kiến thức frontend, system design, kinh nghiệm thực tế thì anh chỉ cần ôn lại trong khoảng 1–2 ngày, vì đó là những thứ anh làm gần như mỗi ngày trong công việc.
DỰ ÁN AI CÁ NHÂN – CÂU CHUYỆN ANH NGUYÊN MANG VÀO PHỎNG VẤN
Trong các vòng phỏng vấn, dự án AI cá nhân của anh được nhắc đến khá nhiều. Anh có thể chia sẻ rõ hơn về dự án này không?
Dự án anh đang làm là một AI extension chạy trực tiếp trên trình duyệt web. Ý tưởng ban đầu của anh khá đơn giản: anh nhận ra rằng khi làm việc, học tập hay giải trí, mình phải liên tục chuyển qua lại giữa rất nhiều tab – tab đang làm việc, tab chat AI, tab Google, tab tài liệu…
Anh tự hỏi: “Tại sao AI không thể xuất hiện ngay trên màn hình mình đang nhìn?”
Từ đó anh bắt đầu xây dựng một extension cho phép AI hiểu trực tiếp nội dung trên màn hình, từ văn bản, hình ảnh cho đến âm thanh của tab đang mở. Người dùng không cần copy – paste hay chuyển sang ứng dụng khác, mà có thể hỏi và nhận câu trả lời ngay tại chỗ.
Trong thực tế sử dụng, anh dùng extension này khá nhiều cho công việc hằng ngày. Khi đọc documentation mà gặp khái niệm khó, anh bật AI lên để giải thích ngay tại đoạn đang đọc. Khi xem thiết kế trên Figma, anh để AI nhìn layout và hỗ trợ generate code React/TypeScript ở mức cơ bản, giúp tiết kiệm rất nhiều thời gian. Khi xem video, podcast hoặc đọc tin tức, AI có thể tóm tắt, giải thích hoặc kiểm chứng thông tin, giúp anh hiểu nhanh hơn và tránh bị nhiễu thông tin.
Một điểm nữa mà anh khá tâm đắc là tính năng memory. AI có thể ghi nhớ những thông tin quan trọng về người dùng (và người dùng hoàn toàn có quyền chỉnh sửa hoặc xóa). Nhờ đó, các câu trả lời về sau mang tính cá nhân hoá hơn, sát với nhu cầu thực tế hơn.
Dự án này đã mang lại những đánh giá như thế nào trong buổi phỏng vấn TikTok của anh?
Trong ba vòng kỹ thuật, có hai interviewer tỏ ra rất hứng thú với dự án này và hỏi khá sâu. Họ không chỉ hỏi anh làm cái gì, mà hỏi vì sao anh làm, anh gặp khó khăn gì, anh tư duy thế nào khi xây dựng sản phẩm.
Thật ra project này không liên quan trực tiếp quá nhiều đến frontend web hay mobile mà anh đang làm, nhưng nó giúp anh có một câu chuyện thật để kể. Nó cho thấy rằng ngoài giờ làm, anh vẫn chủ động học hỏi, thử nghiệm AI và giải quyết những vấn đề rất thực tế trong đời sống và công việc của chính mình.
Anh có thể chia sẻ chi tiết quy trình phỏng vấn vị trí Frontend tại TikTok không ạ?
Quy trình gồm 5 vòng.
Vòng 1 là nói chuyện với HR, khá nhẹ nhàng: giới thiệu bản thân, lý do muốn rời công ty hiện tại, động lực tìm công việc mới.
Vòng 2, 3 và 4 là các vòng kỹ thuật.
Ở vòng kỹ thuật đầu tiên, interviewer hỏi khá sâu về side project AI extension của anh. Họ hỏi về cách xử lý dữ liệu người dùng, các thách thức khi xây dựng ứng dụng AI, những vấn đề lớn nhất cần vượt qua. Sau đó là câu hỏi về cách tổ chức và lưu trữ mã nguồn, so sánh giữa monorepo và việc publish package riêng, phân tích ưu – nhược điểm của từng cách.
Tiếp theo là một bài thuật toán mức medium, tương đương bài Course Schedule II trên LeetCode. Anh giải bằng DFS, trong quá trình làm có bug nhưng debug trực tiếp, in log ra và sửa dần cho đến khi chạy đúng.
Vòng kỹ thuật thứ hai tiếp tục đào sâu vào những gì anh nói trong CV, kiểm tra xem có nói quá hay không. Lần này interviewer hỏi kỹ hơn về TypeScript, yêu cầu viết lại một số utility type cơ bản. Phần này anh không chuẩn bị trước nên thẳng thắn xin bỏ qua, và interviewer cũng chấp nhận.
Sau đó là các câu hỏi rất cơ bản về JavaScript như closure, call stack, microtask – macrotask queue.
Vòng kỹ thuật cuối cùng là với tech lead của team lớn. Anh được yêu cầu thiết kế màn hình TikTok Home hiển thị 1000 video, làm sao để tối ưu việc play video mượt mà, giảm render, tối ưu trạng thái video player. Anh phân tích và đề xuất giải pháp dùng ref để tránh re-render không cần thiết.
Cuối vòng này, interviewer bất ngờ hỏi một bài thuật toán hard, tương tự Serialize and Deserialize Binary Tree. Do chỉ còn 15 phút và không ôn bài hard, anh tập trung trình bày rõ ý tưởng, giải thích từng bước để interviewer hiểu, dù không kịp hoàn thiện code. Interviewer đánh giá cao cách trình bày và kết luận rằng nếu có thêm thời gian thì anh hoàn toàn có thể làm được.
Vòng 5 là vòng HR cuối, diễn ra ngay ngày hôm sau. Nội dung chủ yếu là behavioral questions và deal lương. Anh chuẩn bị trước rất kỹ về mức lương, đưa ra một khoảng mà mức thấp nhất vẫn khiến bản thân hài lòng. Cuối cùng, offer nhận được cao hơn một chút so với kỳ vọng, kèm thêm cổ phiếu.
So với hai lần fail trước, anh thấy điều gì là khác biệt lớn nhất trong lần thành công này?
Nếu nói về trình độ kỹ thuật thì anh thấy không khác quá nhiều. Điểm khác biệt lớn nhất là lần này anh có refer, và quan trọng hơn là có một side project đủ lớn để interviewer đào sâu.
Hai lần trước, anh trả lời câu hỏi kỹ thuật ổn, nhưng thiếu một câu chuyện để tạo dấu ấn. Lần này thì dự án AI chính là câu chuyện đó.
Anh có lời khuyên nào dành cho các bạn khác không?
Theo anh quan sát, TikTok hiện tại không tuyển nhiều junior, đặc biệt là với người nước ngoài. Với frontend, anh nghĩ nên có từ 3–4 năm kinh nghiệm trở lên thì hồ sơ mới dễ được cân nhắc.
Nếu chưa đủ năm kinh nghiệm, thì cách tốt nhất là xây dựng thứ gì đó cho riêng mình, ví dụ như một sản phẩm cá nhân, một dự án AI, hoặc bất cứ thứ gì tạo ra giá trị thật. Khi đó, số năm kinh nghiệm không còn là yếu tố quyết định duy nhất nữa.
Với anh, đi làm chỉ là một phần. Việc xây dựng sản phẩm riêng giúp anh học nhanh hơn, hiểu sâu hơn, và không cần phải chờ đủ 7–8 năm kinh nghiệm mới có thể bước lên những nấc tiếp theo.
Câu chuyện của anh Nguyễn Bảo Nguyên không chỉ là hành trình chinh phục TikTok sau nhiều lần thất bại, mà còn là minh chứng rõ ràng cho một điều: khi bạn có kỹ năng, có tư duy và có một câu chuyện thật từ chính sản phẩm mình làm ra, cơ hội sẽ đến vào đúng thời điểm.
Với tinh thần không bỏ cuộc và định hướng xây dựng giá trị lâu dài thông qua dự án AI cá nhân, anh Nguyên là hình ảnh rất gần gũi của một học viên Engineer Pro đang từng bước đi lên bằng chính con đường của mình.
_____________________________
EngineerPro 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, … EngineerPro đả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ệ:
- Website: https://engineerprogurus.com/
- Fanpage: https://www.facebook.com/EngineerPro.Official
- Youtube: https://www.youtube.com/@EngineerPro-Official




