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. Trả lời
    • 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)
    • Mô tả luồng đi của một ứng dụng MVC Trả lời
    • IoC là gì
    • Dependency Injection là gì ? Trả lời
    • Giải thích các annotation @Controller , @Service , @Repository , @Autowire. Trả lời
    • Databinding
    • Formatter và Converter dùng làm gì?
    • JPA là gì ? Trả lời
    • Webservice là gì? Trả lời
    • Maven dùng để làm gì? Trả lời
    • ORM mapping là gì? Trả lời
    • 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. Trả lời
    • Spring Security hoạt động như thế nào. Trả lời
    • Json Web Token là gì? Trả lời
    • Restful webservice là gì ? Trả lời
  3. Kiến thức về Database
    • Database là gì?
    • Trong database có các quan hệ nào?
    • SQL là gì ?
    • Khoá chính là gì? Trả lời
    • 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.Trả lời
    • Sự khác nhau truncate , delete , drop. Trả lời
    • Sự khác nhau having và where Trả lời
    • Transaction là gì?
    • Phân biệt toán tử joins. Trả lời
    • View là gì?Trả lời
    • Index là gì?
    • Stored procedure là gì?Trả lời
    • Các câu lệnh DLL là gì?Trả lời
    • Các câu lệnh DML là gì?Trả lời
  4. Kiến thức về frontend
    • 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ơ 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 subcribe kênh youtube dưới đây nhé. Videos về các kỹ năng mềm và lập trình sẽ được cập nhật hằng tuần


Comments