Các câu hỏi phỏng vấn của nhà tuyển dụng

Giới thiệu nội dung bài viết

Chào các em, hôm nay sẽ chia sẻ những kinh nghiệm của anh đứng trên vai trò là nhà tuyển dụng đặt các câu hỏi phỏng vấn lập trình cho các bạn fresher , junior, dev tại công ty mà anh đã làm việc.


1. Các bài test của công ty IT

Ở công ty của anh hay ở các công ty phần mềm mà anh từng làm việc. Thông thường các bạn fresher , junior , dev sẽ trải qua 3 vòng thi.


Vòng 1 : Thi bài test đầu vào

Trong vòng này các bạn sẽ được công ty đưa cho bài test để kiểm tra kiến thức về lập trình , tư duy logic , và tiếng anh . Trong đó bài thi kiến thức về lập trình là những câu trắc nghiệm tổng kết lại các kiến thức xoay quanh về nền tảng lập trình (java core), web (html,css,js) , database. Nói tóm lại kiến thức sẽ được kiểm tra từ front end đến backend và database .


Vòng 2 : Phỏng vấn kỹ thuật trực tiếp với đội ngũ team lead tại công ty.

Trong vòng này các em sẽ được gặp trực tiếp với các anh/chị là team lead của dự án. Thông thường các anh/chị sẽ hỏi các kiến thức từ cơ bản đến nâng cao. Các câu hỏi phỏng vấn lập trình mà các anh chị thường hay hỏi

  1. Kiến thức Java nền tảng
    • Lập trình hướng đối tượng là gì? Trả lời
    • Các tính chất của lập trình hướng đối tượng ? Trả lời
    • While và doWhile khác nhau như thế nào ?Trả lời
    • Hỏi về cách hoạt động của các collection Framework như list , map , set , queue , stack.Trả lời
    • Phân biệt ArrayList , Linkedlist và Vector.
    • Sự khác nhau giữa ArrayList và Array.Trả lời
    • Sự khác nhau giữa Linkedlist với Arraylist.Trả lời
    • Sự khác nhau của Set và List.Trả lời
    • Sự khác nhau giữa override và overload.
    • Phân biệt các kiểu dữ liệu trong java. Khác nhau thế nào ?Trả lời
    • Phân biệt sự khác nhau của các access modifier Trả lời
    • Generic là gì? Cho ví dụ minh hoạ? Tại sao dùng Generic. Trả lời
    • Sự khác nhau giữa abstract class và Interface. Trả lời
    • Ngoại lệ (Exception là gì) ? Phân biệt check và uncheck exception. Trả lời
    • Tham trị và tham chiếu là gì? Trả lời
    • Bộ nhớ Heap và Stack.Trả lời
    • Sư khác nhau giữa Object và Class là gì ? Trả lời
    • Thuật toán tìm kiếm nhị phân.
    • Thuật toán sắp xếp.
  2. Kiến thức về framework (ví dụ như học Spring Framework của Java). Các câu trả lời trong đây
    • Mô tả luồng đi của một ứng dụng MVC
    • IoC là gì
    • Dependency Injection là gì ?
    • Giải thích các annotation @Controller , @Service , @Repository , @Autowire.
    • Databinding
    • Formatter và Converter dùng làm gì?
    • JPA là gì ?
    • Webservice là gì?
    • Maven dùng để làm gì?
    • ORM mapping là gì?
    • Phân biệt @NotNull,@NotEmpty và @NotBlank
    • Sự khác nhau của session và cookie.
    • Mô hình MVC là gì?
    • Cơ chế hoạt động FrontController
    • Làm sao để bảo mật trong lập trình.
    • Sự khác nhau giữa get và post.
    • Spring Security hoạt động như thế nào.
    • Json Web Token là gì?
    • Restful webservice là gì ?
  3. Kiến thức về Database. Các câu trả lời trong đây
    • Database là gì?
    • Trong database có các quan hệ nào?
    • SQL là gì ?
    • Khoá chính là gì?
    • Khoá ngoại là gì?
    • Composite key là gì?
    • Unique là gì ?
    • Giải thích các rule chuẩn hoá dữ liệu.
    • Sự khác nhau truncate , delete , drop.
    • Sự khác nhau having và where
    • Transaction là gì?
    • Phân biệt toán tử joins.
    • View là gì?
    • Index là gì?
    • Stored procedure là gì?
    • Các câu lệnh DLL là gì?
    • Các câu lệnh DML là gì?
  4. Kiến thức về frontend. Các em xem lại khoá học HTML và CSS
    • HTML dùng để làm gì ?
    • CSS dùng để làm gì ?
    • Bootstrap dùng để làm gì ?
    • Phân biệt class và id ?
    • Phân biệt position static , absolute , relative, fixed.
    • Modelbox là gì ?
    • Responsive là gì ? Làm sao để làm được Responsive.
  5. Kiến thức về Angular. Các em xem lại khoá học Angular
    • Cơ chế hoạt động của Angular
    • Component là gì?
    • Databinding là gì?
    • Directive là gì?
    • Pipes làm gì?
    • Vòng đời của một component?
    • Truyền data từ cha sang con như thế nào
    • Truyền data từ con lên cha
    • Template form và react form khác nhau như thế nào
    • Validation trong Angular là gì?
    • Dependency Injection là gì?
    • HTTP CLient là gì ?
    • Promise là gì cho ví dụ?
    • Mô tả Router là gì?
  6. Các câu hỏi đánh giá khả năng học

Ở câu hỏi này anh thường hỏi ngoài các công nghệ mà các em học ở trường, các em có biết thêm những công nghệ mới không. Ví dụ như các em trả lời là có học thêm các công nghệ mới như Angular , ReactJS, hoăc VuejS hay nói đang nghiên cứu các công nghệ 4.0 (Blockchain, AL , Big data). Dù các em chưa làm nhưng sẽ được các anh/chị đánh giá rất cao mình khả năng học hỏi của mình. Đó chính là điểm cộng mà mình hơn các ứng viên khác.

  1. Các câu hỏi về tư duy logic

Ở đây thông thường các anh/chị đưa ra một vấn đề sau đó hỏi các em cách giải quyết như thế nào. Có thể câu trả lời không đúng 100% nhưng có ý gần đúng cũng như là đã okie.


Vòng 2 : Phỏng vấn với bộ phận nhân sự tại công ty

Vòng này các em sẽ phỏng vấn với bộ phận nhân sự tại công ty. Mình sẽ không hỏi các vấn đề về kỹ thuật nữa mà xoay quanh các vấn đề về thái độ. Trong ngành công nghệ thông tin. Các anh đều coi trọng thái độ hơn là trình độ. Có thể các bạn yếu về kỹ thuật nhưng có thái độ tốt . Các anh/chị hoàn toàn có thể giúp đỡ các em về mặt kỹ thuật để nâng cao tay nghề. Còn những ai mà bộ phận nhân sự cảm thấy không có thái độ tốt thì sẽ có nguy cơ bị loại.


Kết luận

Thông thường khi phỏng vấn fresher , junior hoặc dev thì các câu hỏi phỏng vấn lập trình xoáy quanh về kiến thức nền tảng (core). Vì khi các bạn có nền tảng tốt lúc đó các anh/chị sẽ hướng dẫn nhanh hơn vào dự án tốt hơn. Cái quan trọng nữa là mình phải có thái độ đúng đắn trong nghề lập trình


Mọi người hãy Subscribe kênh youtube dưới đây nhé để cập nhật các video mới nhất về kỹ thuật và kỹ năng mềm

Các khoá học lập trình MIỄN PHÍ tại đây


Comments