Interview
Last updated
Last updated
Bài viết được chia sẻ bởi Lâm Hoàng Vũ
Mình đã từng phỏng vấn thực tập Software Engineer ở 5 công ty khác nhau và cũng tổng hợp lại được kha khá câu hỏi, hy vọng chúng sẽ giúp ích cho các bạn trong việc chuẩn bị đi phỏng vấn.
1. GIỚI THIỆU SƠ LƯỢC VỀ BẢN THÂN
Ở phần này bạn không cần giới thiệu quá chi tiết, chỉ cần nói tên đầy đủ, sinh năm bao nhiêu, học trường nào, sở thích (cái này tùy chọn), lý do mà bạn chọn công ty này để nộp CV. Phần giới thiệu này bạn nên nói ngắn gọn tầm 5-6 ý, không nên lan man.
2. ĐỊNH HƯỚNG NGHỀ NGHIỆP SAU NÀY
Đây là câu mà 10 công ty thì 9 công ty sẽ hỏi. Bạn cứ trả lời thành thật với công ty về định hướng của bạn, kể cả chưa có định hướng thì cứ nói là em chưa có định hướng gì nên muốn đi làm ở công ty mình để khám phá bản thân. Phần này nếu được thì cứ nói thoải mái, vì nếu bạn tỏ ra lo lắng ở phần này sẽ rất dễ bị ảnh hưởng đến các phần sau.
3. HỎI SÂU VÀO ĐỊNH HƯỚNG
Sau câu số 2 nếu đã có định hướng cho bản thân (giả sử bạn phỏng vấn cho vị trí Frontend Dev và định hướng Fullstack), thì anh phỏng vấn thường sẽ hỏi thêm là tại sao em lại chọn Frontend trước mà không phải là Backend, lý do em thích Frontend hơn Backend là gì? Cái này bạn cũng cứ trả lời thẳng thắn những gì mà bạn nghĩ.
Tổng kết lại 3 câu hỏi trên: Đây là loại câu hỏi chủ yếu để test thái độ với nghề của bạn, cũng là loại câu hỏi chiếm đến 70% tỉ lệ đậu phỏng vấn. Vậy nên hãy cố gắng rèn luyện kỹ năng ăn nói trước khi phỏng vấn, đừng nói lắp, vấp, run hay vừa nói vừa nghĩ quá lâu. Cứ ờm với ừm là mất rất nhiều điểm.
1. EM THÍCH LÀM VIỆC NHÓM HAY LÀM VIỆC ĐỘC LẬP HƠN?
Câu này bạn nên trả lời trung lập. Có thể tham khảo câu trả lời của mình: "Em thích cả 2 cách vì em thấy cả hai cách làm việc đều có ưu và nhược điểm riêng, thông thường em sẽ thích làm việc độc lập, nhưng khi có một vấn đề khó cần có nhiều cái đầu để giải quyết thì em sẽ muốn có 1 team để cùng nhau bàn luận, như vậy hiệu quả công việc sẽ cao hơn."
2. EM THÍCH LÀM PRODUCT HAY OUTSOURCE HƠN?
Câu này nếu bạn chưa biết thích cái nào hơn thì cũng nên trả lời trung lập. Product hay Outsource đều có những đặc thù riêng, Product thì ưu điểm là được nhìn sản phẩm lớn dần từ lúc mới sinh cho đến lúc có những khách hàng đầu tiên, còn Outsource thì sẽ được tiếp xúc với nhiều công nghệ khác nhau, áp lực của Outsource cũng cao hơn kha khá so với Product (đang ngủ mà khách hàng alo báo bug về thì cũng phải dậy mà fix). Câu này chỉ cần lưu ý là hạn chế nhắc đến nhược điểm. Nếu như bạn biết rõ công ty mình đang phỏng vấn làm Product hay Outsource thì mới nên nói nhược điểm của cái còn lại Còn không thì nên tránh nếu bạn trung lập.
3. EM THÍCH ĐƯỢC THƯỜNG XUYÊN KHÁM PHÁ CÔNG NGHỆ MỚI HAY TRỞ NÊN MASTER MỘT CÔNG NGHỆ CŨ?
Câu này thì bạn trả lời thế nào cũng ok, với mình thì mình chọn khám phá công nghệ mới. Mục đích của câu này là để xác định xem bạn muốn đi theo hướng biết rộng (phần lớn dev ở VN đi theo hướng này) hay biết sâu (master JavaScript từ đó có thể tự tạo ra 1 Framework như VueJS, hướng này đang dần được nhiều dev theo đuổi nhưng đa phần là dev nước ngoài). Hướng nào cũng đều có ưu nhược điểm và mình sẽ nói chi tiết hơn ở một blog khác.
1. KIẾN THỨC NỀN TẢNG VỀ LẬP TRÌNH
Nó có thể là Biến, Vòng lặp, Mảng, Object,...
2. OOP (LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG)
Đây chắc là câu hỏi quốc dân rồi, mình phỏng vấn 5 công ty thì 3 công ty hỏi mình về OOP. Một vài câu hỏi thường gặp như: OOP có bao nhiêu tính chất? Em hãy cho một ví dụ với từng tính chất,...
3. KIẾN THỨC NỀN TẢNG CỦA LẬP TRÌNH WEB
Cách hoạt động của mô hình Client/Server
Web tĩnh và web động khác nhau như nào
RestAPI là gì và tại sao lại phải dùng RestAPI
Mô tả và giải thích mô hình MVC
SQL và NoSQL khác nhau ở điểm gì? Kể tên một vài hệ quản trị CSDL mà em biết
4. HTML/CSS (NẾU BẠN PHỎNG VẤN VỊ TRÍ FRONTEND DEV)
Phân biệt flexbox với grid
Phân biệt position:relative với position:absolute
Các cách căn giữa 1 div
Responsive Design: mô tả max-width với min-width, sự khác nhau giữa chúng
Muốn gắn chặt footer xuống dưới cùng thì làm thế nào
Làm thế nào để ghi đè custom css lên Bootstrap
5. DEMO 1 PROJECT CÁ NHÂN BẤT KỲ
Công ty sẽ yêu cầu bạn share màn hình để mô tả về project của bạn, bạn chỉ cần mô tả sơ lược về project của mình, tính năng của các phần và cách bạn làm nó, mô tả thật ngắn gọn không nên nói quá lan man.
Phần này cũng khá quan trọng. Công ty sẽ hỏi bạn có thể đáp ứng được bao nhiêu thời gian một tuần (Parttime hay Fulltime), thường thì sẽ là tối thiểu 20h/tuần. Nếu công ty chỉ nhận Fulltime mà các bạn chỉ đi được Parttime thì các bạn cũng biết kết quả rồi đấy =))) Mình đã xịt 3 công ty vì không đáp ứng được vấn đề thời gian mặc dù những phần khác mình thấy mình trả lời khá ok.
1. EM ĐÃ TÌM HIỂU GÌ VỀ CÔNG TY MÌNH CHƯA?
Đây là phần mà khối ông chết. Hãy cố gắng dành chút thời gian trước khi phỏng vấn ra để tìm hiểu xem công ty làm về lĩnh vực gì, đang cung cấp những dịch vụ nào, mảng chính của công ty là gì, vân vân...
2. EM CÓ CÂU HỎI GÌ HAY THẮC MẮC GÌ VỀ CÔNG VIỆC KHÔNG?
Lúc này nếu có thắc mắc gì thì các bạn phải lập tức hỏi ngay. Giả sử như nếu em đậu vào vị trí này thì công việc hàng ngày của em sẽ là gì? Dự án em sẽ join sẽ như thế nào? Nếu làm được một thời gian cảm thấy dự án hiện tại không phù hợp với bản thân thì em muốn qua dự án khác có được không? Bao giờ thì em sẽ biết kết quả buổi phỏng vấn? Công ty có trợ cấp gì cho vị trí thực tập không? Nói chung phần này cứ hỏi thoải mái nhé.
Vừa rồi mình đã chia sẻ cho các bạn một số câu hỏi phỏng vấn thực tập IT mà mình tổng hợp lại được sau quá trình phỏng vấn 5 công ty của mình. Có thể nó vẫn chưa đủ và sẽ không đúng với một vài công ty vì mỗi công ty sẽ có bộ câu hỏi phỏng vấn khác nhau. Dù sao vẫn hy vọng chúng sẽ giúp ích cho các bạn phần nào. Good luck!
Bạn tự tin với ngôn ngữ lập trình nào nhất? Với câu hỏi này, bạn cần xem lại bảng mô tả công việc để lựa chọn những ngôn ngữ lập trình vừa là thế mạnh bản thân vừa phù hợp với nhu cầu nhà tuyển dụng. Bạn cũng nên nói thêm về mức độ thành thạo, kinh nghiệm làm việc và thành quả đạt được khi sử dụng ngôn ngữ đó.
Hãy chia sẻ về một dự án bạn đã từng thực hiện mà bạn tâm đắc nhất. Đây là câu hỏi giúp nhà tuyển dụng hiểu rõ hơn về quy trình làm việc và cách bạn xử lý vấn đề khi thực hiện một nhiệm vụ cụ thể. Hãy thử áp dụng mô hình STAR, bao gồm Situation, Task, Action và Results để mô tả dự án một cách chi tiết và logic nhất.
Hãy chia sẻ quan điểm của bạn về Software Testing? Software Testing là một bước cực kỳ quan trọng trong vòng đời phát triển phần mềm nhằm đảm bảo phần mềm có chất lượng tốt nhất trước khi triển khai tới người dùng. Có nhiều quan điểm và cách tiếp cận khác nhau về Software Testing. Bạn nên trình bày rõ ràng quan điểm của mình và đưa ra lý do tại sao bạn lựa chọn cách tiếp cận đó một cách hợp lý và logic, đồng thời cũng nên tránh những câu nói tiêu cực.
Hãy kể về trải nghiệm fix một bug khó nhằn trong một ứng dụng lớn. Bạn đã debug nó như thế nào? Bạn rút ra bài học gì sau khi giải quyết xong bug đó? Đây là câu hỏi giúp nhà tuyển dụng có thêm thông tin về tư duy phản biện, khả năng giải quyết vấn đề, khả năng kiểm soát stress và làm việc dưới áp lực của ứng viên. Hãy kể câu chuyện một cách tự nhiên, logic và lưu ý cố gắng chứng minh năng lực và kinh nghiệm của bạn trong quá trình xử lý lỗi đó. Kết thúc câu chuyện, bạn cần lưu ý nêu được bài học bạn rút ra sau khi giải quyết xong bug đó là gì. Nhà tuyển dụng sẽ rất ấn tượng với khả năng học hỏi từ khó khăn của bạn.
Nêu một tình huống cụ thể bạn phải giải thích vấn đề kỹ thuật với một stakeholder không làm về Tech? Nhà tuyển dụng cần biết khả năng làm việc nhóm và giao tiếp liên phòng ban của bạn để đảm bảo những bộ phận nontech vẫn có thể hiểu được những vấn đề đang xảy ra trong quá trình làm việc. Hãy chia sẻ chân thành và đầy đủ thông tin về tình huống đó: bạn gặp phải vấn đề gì, cách bạn giải quyết nó ra sao và rút ra bài học nào cho bản thân. Hãy tưởng tượng bạn đang giải thích một lỗi code cho một người bạn không biết gì về IT, bạn sẽ cố gắng tìm những từ ngữ tự nhiên nhất, ít phức tạp nhất để giải thích về nó.