Kỹ sư Phần mềm (Software Engineer)

05/07/2017

Kỹ sư Phần mềm có nhiệm vụ thiết kế, phát triển và triển khai các giải pháp phần mềm. Ngoài kĩ năng lập trình, những ứng cử viên có niềm đam mê mạnh mẽ cho ngành nghề này sẽ chiếm lợi thế lớn.

Base Resources - Các Kỹ sư Phần mềm chịu trách nhiệm thiết kế, phát triển và triển khai các giải pháp phần mềm. Những câu hỏi phỏng vấn dưới đây sẽ giúp bạn xác định được các ứng viên có kỹ năng viết code xuất sắc và có hiểu biết sâu về quá trình phát triển vòng đời sản phẩm.

 

Mặc dù nền tảng học thuật về Khoa học máy tính là rất cần thiết, nhưng kinh nghiệm thực tế của ứng viên cũng là một yếu tố quan trọng tương đương mà bạn cần cân nhắc. Bạn nên hỏi xem họ biết những ngôn ngữ lập trình nào và liệu họ quen thuộc với các công cụ thiết kế cụ mà bạn sử dụng hay không. Bạn cũng nên tập trung vào những ứng viên có mong muốn học hỏi và phát triển, bởi vị trí này đòi hỏi sự phát triển liên tục cũng như thói quen thu thập kiến thức mới. Cũng giống như mọi vai trò kỹ thuật khác, bạn nên cân nhắc giao “bài tập” cho họ để đánh giá tốt hơn các kỹ năng của ứng viên.

 

Ngoài các kỹ năng lập trình, hãy để mắt đến những ứng cử viên có niềm đam mê mạnh mẽ cho ngành nghề này. Bạn có thể hỏi họ về những cuốn sách hoặc các trang blog có liên quan tới ngành mà họ thường thích đọc. Hoặc bạn có thể tìm hiểu về cách họ cập nhật các xu hướng công nghệ mới nhất (bằng cách hỏi xem họ có tham dự các hội thảo hoặc có đóng góp vào các dự án phần mềm mã nguồn mở hay không).

 

Các câu hỏi về Khoa học máy tính

 

  • Hãy giải thích về test-driven development. 
  • Trong trường hợp nào bạn sẽ sử dụng abstract class và trong trường hợp nào sẽ sử dụng lớp giao diện (interface)? 
  • Khi nào bạn sử dụng tính đa hình (polymorphinism) và khi nào bạn sử dụng delegate? 
  • Hãy nêu ra sự khác biệt giữa thiết kế theo hướng đối tượng và thiết kế thành phần? 

 

Các câu hỏi chuyên môn 

 

  • Hãy mô tả quá trình viết một đoạn mã từ yêu cầu cho tới phân phối. 
  • Làm thế nào để bạn ưu tiên các yêu cầu lập trình? Kể tên bất kỳ các kỹ thuật khác nhau nào mà bạn biết. 
  • Ngôn ngữ lập trình yêu thích của bạn là gì? 
  • Làm thế nào để bạn đảm bảo code của bạn có thể xử lý được các tình huống lỗi khác nhau? 
  • Hãy nêu tên một số hạn chế của môi trường web so với môi trường Windows? 
  • Bạn làm thế nào để đảm bảo chương trình của bạn chạy trơn tru và nhanh chóng? 
  • Bạn đã sử dụng các công cụ nào để thử nghiệm chất lượng mã của bạn? 
  • Làm thế nào bạn có thể gỡ lỗi một chương trình trong khi nó đang được sử dụng? 
  • Làm thế nào bạn có thể đảm bảo sự thay đổi trong mã sẽ không ảnh hưởng đến bất kỳ bộ phận nào khác của sản phẩm? 
  • Bạn có quen thuộc với các mẫu thiết kế? Bạn đã sử dụng phần mềm thiết kế nào và trong những tình huống nào? 
  • Bạn tập trung nhiều nhất vào đâu khi review code viết bởi một người khác? 

 

Các câu hỏi hành vi

 

  • Điều cuối cùng bạn học được về lập trình từ sách, tạp chí hoặc trang web là gì? 
  • Lĩnh vực chuyên môn của bạn là gì? Bạn muốn tìm hiểu nhiều hơn về những gì? 
  • Bạn thường gặp phải loại sự cố nào trong chương trình của mình sau khi triển khai? 
  • Mô tả lại 1 lần bạn làm giảm cảm giác chờ đợi của người dùng. Bạn đã sử dụng các tính năng nào khi ấy? 

 

Ngoài ra, bạn có thể tham khảo một số bộ câu hỏi phỏng vấn cho vị trí: Java Developer, Giám đốc Công nghệ.

------

Bên cạnh các bài blog chất lượng, Cộng đồng HR 4.0 | Base People còn đem tới các bạn những số tạp chí online được biên soạn kĩ lưỡng với hàm lượng kiến thức sâu rộng, phục vụ thiết thực cho công việc hàng ngày của những người làm tuyển dụng-nhân sự và quản lý doanh nghiệp. 

 

Download miễn phí combo 5 tài liệu tuyển dụng-nhân sự chỉ với 1 click tại đây.


bo-cau-hoi-phong-van-vi-tri-software-engineer

 

Từ khóa

Đăng ký nhận bản tin