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.
Thông tin cá nhâ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.
Kỹ năng mề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 :v 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.
Kỹ năng chuyên môn
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.
Thời gian
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.
Kết thúc buổi phỏng vấn
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é.
Kết luận
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!
Ngoài ra các bạn có thể đọc thêm nhiều blog mình viết về các chủ đề khác ở đây: https://www.lamhoangvu.me/