Luyện tập, thất bại và thành công – Hành trình của anh Đạt (Học viên Engineer Pro) vào Shopee
Engineer Pro đã có buổi phỏng vấn với anh Đạt – cựu học viên Engineer Pro, hiện đang làm việc tại Shopee. Anh Đạt đã chia sẻ về quá trình học tập, ôn luyện và trải qua các vòng phỏng vấn để đạt được vị trí tại một trong những công ty công nghệ hàng đầu như hiện nay. Hãy cùng Engineer Pro theo dõi câu chuyện của anh nhé!
Chào anh Đạt! Trước tiên, anh có thể giới thiệu đôi nét về bản thân và công việc hiện tại không?
Chào Engineer Pro! Mình tốt nghiệp Đại học Bách Khoa và hiện tại đang làm việc tại Shopee với vai trò Frontend Engineer. Trước đó, mình có khoảng 2 năm kinh nghiệm làm việc tại các công ty công nghệ khác của Úc.
Mục tiêu của mình khi tham gia Engineer Pro là trau dồi thêm kỹ năng thuật toán, hệ thống và chuẩn bị tốt hơn cho quá trình phỏng vấn tại các công ty lớn như Shopee. Vì vậy mình đã tham gia hầu hết các khóa học tại EP như DSA1, DSA2, Backend, System Design, …
Điều gì đã thôi thúc anh tìm đến Engineer Pro? Anh có thể chia sẻ về trải nghiệm học tập của mình không?
Câu chuyện bắt đầu khá tình cờ. Một ngày đẹp trời, mình tự hỏi: "Bây giờ nếu muốn vào một công ty lớn thì mình phải làm gì nhỉ?" Mình hoàn toàn không biết bắt đầu từ đâu. Sau khi tìm kiếm thông tin trên mạng, mình phát hiện ra Engineer Pro. Thấy có nhiều bạn đã đỗ Microsoft, Shopee, Grab, mình bắt đầu tò mò về phương pháp họ học. Mình tìm hiểu kỹ hơn và nhận ra rằng các bạn ấy đều tập trung ôn tập thuật toán, system design và các kiến thức tổng quát về computer science.
Ban đầu, mình rất sợ thuật toán, cảm giác nó là một thứ gì đó rất đáng sợ. Ngày xưa học đại học, mình hay bị điểm thấp ở môn này nên luôn né tránh. Nhưng sau khi học tại Engineer Pro, mình nhận ra rằng càng sợ điều gì thì càng nên đối diện với nó. Mình quyết định "lao vào" thuật toán như con thiêu thân, bắt đầu học từ những thứ cơ bản nhất cho đến những kiến thức nâng cao hơn như dynamic programming. Mình còn đầu tư mua LeetCode premium để luyện tập. Sau một thời gian, khi đã giải được khoảng 300 bài trên LeetCode, mình tự tin hơn và quyết định tiếp tục với system design.
Khi làm việc tại NAB, mình có thể nhìn thấy hệ thống lớn nhưng không thực sự hiểu chi tiết bên trong nó. Nhờ khóa học System Design của Engineer Pro, mình hiểu rõ hơn về API Gateway, Load Balancer, Security, Database... Điều này giúp mình rất nhiều trong quá trình phỏng vấn vì mình có thể trình bày về công việc của mình một cách rõ ràng và chuyên nghiệp hơn. Thay vì chỉ biết làm, mình hiểu sâu sắc về cách hoạt động của hệ thống.
Ngoài ra, mình cũng học thêm khóa Backend của Engineer Pro vì tò mò. Mặc dù không trực tiếp áp dụng vào công việc hiện tại, nhưng khóa học giúp mình hiểu thêm về OOP, SOLID và cách thiết kế API tối ưu. Nhờ đó, mình có cái nhìn tổng quan hơn khi làm việc với team Backend.
Anh Đạt có thể chia sẻ về quá trình học tập tại Engineer Pro và những ấn tượng của anh không?
Mình tốt nghiệp Đại học Bách Khoa và hiện đang làm việc tại NAB trước khi chuyển sang Shopee. Như mình đã nói, ngày trước mình rất sợ thuật toán và hầu như không muốn đối mặt với nó. Tuy nhiên, khi muốn vào Big Tech, mình nhận ra mình cần phải đối mặt với nó, vậy nên quyết định tham gia Engineer Pro.
Ban đầu, mình tìm hiểu Engineer Pro do thấy những bài chia sẻ từ những bạn đã trúng tuyển Microsoft, Shopee, Grab... Mình theo học từ DSA 1, 2, tiếp đến system design và backend. Lớp system design giúp mình nhìn rõ cách thiết kế hệ thống, backend thì giúp hiểu về API, security. Cách dạy rất thực chiến và hữu ích.
Sau khi học, mình thấy kiến thức rất bài bản và mentor rất tận tình. Ban đầu, mình nghi ngờ lắm, vì mình từng học ở Bách Khoa Hà Nội, nơi có rất nhiều giảng viên giỏi, nhưng mình lại không thực sự tiếp thu được hết. Nhưng khi học ở Engineer Pro, mọi thứ khác hẳn. Các mentor không chỉ giảng lý thuyết mà còn hướng dẫn cách áp dụng thực tế. Họ giải thích từng phần, đưa ra nhiều cách tiếp cận cho một bài toán, rồi để học viên tự thực hành, tự ngẫm. Trong lúc học, mình vừa được live coding cùng mentor, vừa thấy cách họ tư duy và giải quyết vấn đề, rất hữu ích.
System Design thì mình học cùng lúc với AWS. Kiến thức ở Engineer Pro giúp mình dễ dàng map với những gì mình học AWS, áp dụng ngay vào công việc thực tế. Backend thì mình học để có thêm hiểu biết tổng quan, mặc dù không trực tiếp sử dụng nhưng nó giúp mình hiểu hơn về cách hoạt động của hệ thống, từ đó làm việc hiệu quả hơn với team backend.
Anh ấn tượng với giảng viên nào nhất trong quá trình học?
Mình ấn tượng nhất với anh Lê Chương tại Google và anh Hiệp tại Spotify. Hai anh giảng rất hay, dễ hiểu và giúp mình tiếp cận kiến thức theo cách logic hơn. Ngoài ra, mình cũng rất thích các buổi chia sẻ của anh Lâm và anh Harry, vì vừa truyền động lực vừa cung cấp nhiều kiến thức thực tế.
Shopee có quy trình phỏng vấn khá gắt gao. Anh có thể chia sẻ cụ thể hơn về từng vòng phỏng vấn mà anh đã trải qua không?
Khi nhận được email mời phỏng vấn từ Shopee, mình vừa hào hứng vừa có chút lo lắng. Mình biết rằng đây sẽ là một chặng đường dài với nhiều thử thách, nhưng cũng là cơ hội để kiểm chứng những gì mình đã học tại Engineer Pro.
Vòng đầu tiên diễn ra khá nhẹ nhàng, chỉ là buổi nói chuyện với HR để xác nhận lại thông tin cá nhân, hỏi về mức lương mong muốn và trao đổi một chút về lý do mình ứng tuyển. Vì Shopee có văn phòng ở Sài Gòn, mình cũng nhận được câu hỏi khá quen thuộc: "Bạn có sẵn sàng chuyển vào Sài Gòn không? Anh cần bao lâu để thích nghi?" Mọi thứ diễn ra khá thoải mái, giống như một buổi trò chuyện hơn là một cuộc phỏng vấn căng thẳng.
Sau vòng HR, mình bước vào vòng chuyên môn đầu tiên – phỏng vấn về Frontend. Đây là phần mà mình khá tự tin, nhưng không có nghĩa là dễ dàng. Buổi phỏng vấn kéo dài hai tiếng, chia thành từng phần rõ ràng. Ban đầu, mình được hỏi về CSS, cụ thể là về các thuộc tính position như fixed, absolute, sticky. Sau đó, đến phần JavaScript, họ bắt đầu đi sâu vào event loop, promise, async/await. Có một bài tập yêu cầu mình code một Promise nhưng không được dùng Promise – một câu hỏi khá thú vị khiến mình phải suy nghĩ một lúc mới tìm ra cách giải quyết.
Phần tiếp theo là về React. Mình được yêu cầu xây dựng một menu đa cấp, trong đó khi hover vào một mục, nó sẽ sổ xuống các sub-menu, và nếu có sub-menu bên trong, nó lại tiếp tục mở ra. Đây là bài tập về đệ quy, và may mắn là mình đã từng làm qua những dạng bài tương tự trong quá trình luyện tập.
Vòng phỏng vấn này kết thúc với một bài thuật toán. Mình không nhớ chính xác đề bài, nhưng nó liên quan đến mapping ký tự giữa hai tập dữ liệu. Dù đã quen với những bài toán kiểu này, nhưng do căng thẳng nên mình code hơi chậm. Tuy vậy, mình vẫn cố gắng trình bày rõ ràng suy nghĩ của mình, và có vẻ điều đó đã giúp mình ghi điểm. Sau buổi phỏng vấn, mình hỏi lại phản hồi từ interviewer và nhận được câu trả lời tích cực.
Vòng tiếp theo mới thực sự là thử thách lớn nhất với mình – phỏng vấn về Computer Science Fundamental. Đây là phần mình ít làm việc trực tiếp, nên mình đã phải dành hơn một tuần để "cày" lại toàn bộ kiến thức về networking, operating system, security... Khi bước vào phỏng vấn, mình được yêu cầu thiết kế một hệ thống dựa trên những gì mình đang làm tại công ty. Sau đó, họ bắt đầu đi sâu vào HTTP, TCP/UDP, WebSocket, cách thức hoạt động của API Gateway, load balancer... Một loạt câu hỏi về mã hóa, encryption, hashing, encoding khiến mình phải liên tục suy nghĩ để trả lời. Dù đã chuẩn bị trước, nhưng có một số câu hỏi khiến mình cảm thấy chưa tự tin lắm. Sau vòng này, mình thực sự lo lắng không biết liệu có thể đi tiếp hay không.
Một tuần sau, mình nhận được tin nhắn thông báo đậu và bước vào vòng tiếp theo – Behavioral Interview. Đây là buổi trao đổi về cách mình làm việc, cách xử lý vấn đề, kỹ năng giao tiếp và cả những khó khăn mình từng gặp phải. Họ muốn biết liệu mình có thể thích nghi với môi trường Shopee hay không. Mình nhớ họ hỏi: "Bạn đã từng làm việc với một đồng nghiệp có quan điểm khác biệt như thế nào? Bạn giải quyết ra sao?" Nhờ những kinh nghiệm trước đây và cả những buổi chia sẻ tại Engineer Pro, mình có thể trả lời khá trôi chảy.
Vòng cuối cùng diễn ra khá nhẹ nhàng. Họ hỏi về định hướng tương lai, kỳ vọng của mình khi làm việc tại Shopee và những khác biệt so với công việc cũ. Sau buổi phỏng vấn này, mình cảm thấy khá thoải mái và tự tin hơn nhiều. Và rồi, vài ngày sau, mình nhận được email thông báo chính thức: mình đã được nhận vào Shopee!
Cảm giác lúc đó thực sự rất khó tả. Nhìn lại hành trình từ lúc bắt đầu luyện tập đến khi nhận được offer, mình thấy rằng mọi nỗ lực đều xứng đáng. Mình không chỉ học được kiến thức mà còn rèn luyện được sự kiên trì, bình tĩnh khi đối mặt với thử thách. Đây không chỉ là một công việc mới, mà còn là một cột mốc quan trọng trong sự nghiệp của mình.
Sau tất cả các vòng phỏng vấn, Anh có lời khuyên nào cho những bạn đang chuẩn bị phỏng vấn vào Big Tech?
Mình có một vài lời khuyên nhỏ, nhưng hy vọng sẽ giúp ích được cho mọi người. Thật lòng mà nói, ở Engineer Pro có rất nhiều anh em giỏi, đôi khi mình cảm thấy mình không hơn ai cả. Nhưng có một điều mà mình nghĩ ai cũng nên làm, đó là đi phỏng vấn thật nhiều. Đừng sợ thất bại! Nếu bạn chỉ học mà không thử sức thì rất phí. Bạn sẽ không biết mình đang ở đâu, không biết điểm mạnh, điểm yếu của mình là gì, cũng không biết mình cần bổ sung kỹ năng nào. Sau một vài lần phỏng vấn, bạn sẽ nhận ra: "À, mình cần luyện thêm thuật toán!", hoặc "Mình cần học thêm về System Design!". Khi đó, bạn mới biết nên đầu tư thời gian vào đâu.
Mình nhớ một người bạn từng nói với mình một câu rất hay: "Nếu bạn biết chắc rằng đến lần phỏng vấn thứ 20 bạn sẽ đỗ, thì 19 lần trước đó bạn có sẵn sàng chấp nhận thất bại không?" Nếu câu trả lời là có, thì bạn hãy cứ mạnh dạn đi phỏng vấn. Bạn không biết lần nào sẽ là lần thứ 20 của mình, nên hãy cứ đi từng bước, từng bước một, chấp nhận những thất bại nhỏ để tiến gần hơn đến thành công.
Ngoài ra, một điều rất quan trọng là đừng né tránh những gì mình sợ. Nếu bạn sợ thuật toán, hãy học thuật toán. Nếu bạn yếu về system design, hãy học thật kỹ. Đừng để đến lúc đi phỏng vấn mới tá hỏa vì không biết gì. Khi đã hiểu rồi, bạn sẽ thấy mọi thứ dễ dàng hơn rất nhiều.
Cuối cùng, hãy luôn chấp nhận feedback từ nhà tuyển dụng. Rất nhiều anh em ở Engineer Pro có kiến thức cực kỳ tốt, nhưng lại chưa biết cách diễn đạt hiệu quả. Kỹ năng giao tiếp, trình bày ý tưởng cũng quan trọng không kém gì năng lực chuyên môn. Đôi khi, bạn không trượt vì thiếu kiến thức, mà vì chưa biết cách thể hiện chúng. Nếu thấy mình yếu ở đâu, hãy tìm cách cải thiện. Đừng ngại hỏi feedback từ người phỏng vấn để biết mình cần thay đổi gì.
Định hướng tương lai của anh là gì? Anh có dự định học thêm không?
Mình đã nhận được offer từ Shopee và sẽ chính thức onboard sau Tết, Trong 3-5 năm tới, mình vẫn sẽ làm việc tại Việt Nam, cụ thể là ở Sài Gòn mình muốn tiếp tục học hỏi và nâng cao kỹ năng, đặc biệt là phát triển chuyên sâu hơn về Frontend Performance Optimization và System Design. Sau đó, mình có kế hoạch thử sức ở nước ngoài, có thể là Singapore, châu Âu hoặc Mỹ
Về học tập, mình muốn hoàn thành khóa DSA 3 để trọn bộ kiến thức. Sau đó, mình cũng đang cân nhắc học thêm khóa Go, vì mình thấy công nghệ này ngày càng phổ biến trong các Big Tech như Grab, Zalo... Nếu còn thời gian, mình sẽ học thêm System Design 2 để hiểu sâu hơn về hệ thống lớn.
Cảm ơn Engineer Pro! Hy vọng câu chuyện của mình sẽ giúp ích cho các bạn đang có ý định apply vào Shopee hoặc các công ty công nghệ lớn!
Các bạn đón xem những chương trình mới nhất tại EngineerPro tại đây nhé ạ!
https://www.facebook.com/EngineerPro.Officialhttps://www.facebook.com/EngineerPro.Official
https://www.youtube.com/@EngineerPro-Officialhttps://www.youtube.com/@EngineerPro-Official
All rights reserved