post-image

Các câu hỏi phỏng vấn Java Spring cơ bản cho Java Developer

1. Tổng quan

Tham khảo tại: https://vn.bitdegree.org

Spring được coi là khung framework phổ biến nhất được sử dụng bởi các nhà phát triển Java, ít nhất là khi nói đến việc xây dựng ứng dụng. Đây là lý do tại sao không có gì ngạc nhiên khi ngày càng nhiều nhà tuyển dụng tìm kiếm các nhà phát triển và lập trình viên Java có thể thành thạo cả Java và Spring. Nếu bạn đang nhắm đến một công việc của một nhà phát triển với một vài (hoặc rất nhiều!) chuyên môn về Java Spring thì có lẽ sẽ là một ý tưởng tốt để xem xét những gì nên có từ cuộc phỏng vấn xin việc.

Sau đây sẽ là 1 số câu hỏi phỏng vấn Java Spring cơ bản phổ biến cho Java Developer mà mình  tìm được.

Nội dung

  • 1. Câu hỏi 1: Spring là gì?
  • 2. Câu hỏi 2: Có bao nhiêu phiên bản Spring?
  • 3. Câu hỏi 3: Kể tên những lợi thế chính của Spring
  • 4. Câu hỏi 4: Những tính năng của Spring Framework là gì?
  • 5. Câu hỏi 5: ‘MVC’ là gì?
  • 6. Câu hỏi 6: ‘dependency injection’ là gì?
  • 7. Câu hỏi 7: ‘Boot’ là gì?
  • 8. Câu hỏi 8: ‘XML file’ là gì?
  • 9. Câu hỏi 9: Spring có bao nhiêu mô-đun khác nhau?
  • 10. Câu hỏi 10: ‘IOC’ là gì?
  • 11. Câu 11: ‘bean’ là gì?
  • 12. Câu hỏi 12: Tại sao nên sử dụng ‘constructor injection’ cho injecting bean?
  • 13. Câu hỏi 13: ‘join point’ là gì?
  • 14. Câu hỏi 14: AOP là gì?
  • 15. Câu hỏi 15: Boot ‘initilizr’ sử dụng làm gì?
  • 16. Câu hỏi 16: ‘advice’ là gì?
  • 17. Câu hỏi 17: Có bao nhiêu cách để thực hiện Dependency Injection?
  • 18. Câu hỏi 18: Các cách sử dụng Spring Framework là gì?
  • 19. Câu hỏi 19: AOP (Aspect oriented programming- lập trình hướng khía cạnh) là gì?
  • 20. Câu hỏi 20: JoinPoint là gì?

Câu hỏi 1: Spring là gì?

Để có được các câu hỏi phỏng vấn cho người học Spring MVC và nói về interceptors và joinpoints, trước tiên chúng ta phải tìm hiểu các định nghĩa. Và đó không hề là một việc nhỏ – nhà tuyển dụng có thể sẽ hỏi những điều tương tự khi bắt đầu cuộc phỏng vấn.

Bây giờ, khi nói đến những câu hỏi phỏng vấn Java Spring như vậy (những câu hỏi dựa trên định nghĩa), hãy luôn cố gắng trả lời chúng từ cách của riêng bạn. Điều này sẽ giúp cho người phỏng vấn biết rằng bạn không chỉ nhớ chính xác các định nghĩa mà còn hiểu chúng để tự giải thích theo cách riêng của mình nữa.

Vậy, Spring là gì?

Spring là một khung framework mã nguồn mởdựa trên Java. Nó được thiết kế để giúp các nhà phát triển Java tạo các ứng dụng web cụ thể.

Câu hỏi 2: Có bao nhiêu phiên bản Spring?

Tổng cộng, có ba phiên bản chính của Spring – Spring 2.5; Spring 3.0 và Spring 4.0.

Câu hỏi 3: Kể tên những lợi thế chính của Spring

Đây là một trong những câu hỏi phỏng vấn về Java Spring mang tính chủ quan hơn, vì nó gần như hoàn toàn dựa trên ý kiến. Bạn nên suy nghĩ về trải nghiệm của chính mình trong khi sử dụng Spring framework và dựa vào để xác định là các tính năng tốt nhất của khung framework này.

Tuy nhiên, tôi có thể cung cấp cho bạn một vài ví dụ về các câu trả lời phổ biến nhất: đó là open-source (mã nguồn mở), premade templates (các mẫu có sẵn), dễ để sử dụng và kiểm tra, v.v.

Câu hỏi 4: Những tính năng của Spring Framework là gì?

Java Spring có ít nhất một số tính năng chính sau:

  • Nhẹ khi nói về dung lượng (size) và tính minh bạch (transparency).
  • Trong Spring framework, các đối tượng cung cấp các phụ thuộc của chúng thay vì tạo hoặc tìm kiếm các đối tượng phụ thuộc. Quá trình này được gọi là Inversion of Control (IOC).
  • Lập trình hướng theo khía cạnh trong Spring framework hỗ trợ phát triển gắn kết bằng cách tách logic kinh doanh ứng dụng khỏi các dịch vụ hệ thống.
  • Spring framework tạo và quản lý vòng đời và cấu hình của các đối tượng ứng dụng.
  • Khung framework ứng dụng web Model-View-Control trong Java Spring có cấu hình cao. Ngoài ra, nó cho phép sử dụng các khung framework khác thay vì nó.
  • Spring framework cung cấp một lớp trừu tượng chung để quản lý giao dịch.
  • Spring cung cấp lớp trừu tượng kết nối cơ sở dữ liệu Java để đơn giản hóa chiến lược xử lý lỗi.

Câu hỏi 5: ‘MVC’ là gì?

Đây là một trong những câu hỏi phỏng vấn cho người học Spring MVC mà bạn có thể nhận được trong cuộc phỏng vấn xin việc.

MVC là viết tắt của Model View Controller. Nó là một phần của Spring framework. Học Spring MVC để sử dụng cho việc tiếp tục tạo ra các ứng dụng web khác nhau.

Câu hỏi 6: ‘dependency injection’ là gì?

Dependency injection được sử dụng để cung cấp các phụ thuộc cụ thể nhất định cho các đối tượng. Đó là một mẫu thiết kế làm cho các dự án mượt mà hơn và phù hợp hơn cho các hoạt động như thử nghiệm.

Câu hỏi 7: ‘Boot’ là gì?

Điều này có thể dễ dàng trở thành câu hỏi cho người học Spring boot trong hướng dẫn này. Như có thể nhận thấy, bạn sẽ không chỉ nhận được câu hỏi phỏng vấn Java Spring – điều đó quá dễ dàng! Thay vào đó, bạn cũng sẽ biết tất cả về các phần mở rộng và cập nhật khác nhau của nó.

Spring Boot là một phiên bản của Spring mà mục đích để làm cho ứng dụng tạo ra quá trình sắp xếp hợp lý hơn. Một trong những tính năng chính của nó là loại bỏ nhu cầu xác định cấu hình boilerplate (bản mẫu) – chắc chắn, điều này sẽ khiến rất nhiều nhà phát triển thích thú khi học Spring boot hay sử dụng nó.

Câu hỏi 8: ‘XML file’ là gì?

XML là một tệp cấu hình Spring. Đây là loại tệp chính chứa tất cả thông tin về các loại lớp khác nhau và cách chúng tương quan với nhau.

Câu hỏi 9: Spring có bao nhiêu mô-đun khác nhau?

Spring có khoảng hai mươi mô-đun và đây là thông tin rất quan trọng cần biết trong các câu hỏi phỏng vấn Java Spring. Tất cả chúng được phân thành các container (vùng chứa) riêng biệt. Các container, như sau: core container, web container, data access container, aspect và  instrumentation container, và  test container. Cũng có một vài container nhỏ hơn.

Câu hỏi 10: ‘IOC’ là gì?

IOC là viết tắt của Inversion of Control. Nó là core container của Java Spring. Nó sử dụng phép dependency injection được đề cập trước đó để quản lý và định cấu hình các ứng dụng tích hợp khác nhau. Hiện tại có hai loại IOC có thể được đặt trong Java Spring – ApplicationContext  và BeanFactory.

Câu 11: ‘bean’ là gì?

Bean” là một đối tượng được tích hợp và cấu hình bởi IOC container.

Câu hỏi 12: Tại sao nên sử dụng ‘constructor injection’ cho injecting bean?

Đừng để bị lừa bởi những câu hỏi phỏng vấn Java Spring như vậy – lưu ý rằng constructor injection chỉ được sử dụng để inject mandatory dependencies.

Lý do tại sao nên sử dụng loại injection này đơn giản là vì kiểu injection này làm cho quá trình kiểm tra sau đó dễ dàng hơn rất nhiều.

Câu hỏi 13: ‘join point’ là gì?

Join point thể hiện một điểm trong chương trình nơi khung AOP sẽ được khởi tạo và áp dụng.

Câu hỏi 14: AOP là gì?

AOP (Aspect-Oriented Programming) là viết tắt của Lập trình hướng theo khía cạnh. Nó khác với OOP (Object-Oriented Programming – Lập trình hướng đối tượng) ở chỗ OOP tập trung vào các lớp, trong khi đơn vị mô đun chính của AOP là khía cạnh. Trong AOP, các khía cạnh thực hiện và nhấn mạnh mối liên quan xuyên suốt.

Câu hỏi 15: Boot ‘initilizr’ sử dụng làm gì?

Initializr‘ là một chủ đề có xu hướng xuất hiện thường xuyên trong các câu hỏi phỏng vấn Java Spring. Đây là một thành phần khá quan trọng, vì vậy hãy nhanh chóng tổng hợp lý do tại sao chúng ta cần sử dụng.

Các nhà phát triển sử dụng ‘initilizr‘ vì họ muốn tối đa hóa năng suất trong khoảng thời gian ngắn nhất có thể. Công cụ này tuyệt vời ở chỗ nó cung cấp một khuôn mẫu ban đầu cho dự án và đơn giản hóa quá trình xây dựng tập lệnh.

Câu hỏi 16: ‘advice’ là gì?

Hãy nhớ khi chúng ta nói về ‘join points’? Những nơi mà AOP được khởi tạo? Bất cứ khi nào một khía cạnh thực hiện một số loại hành động trong joinpoint đó, thì hành động đó được gọi là một “advice”.

Câu hỏi 17: Có bao nhiêu cách để thực hiện Dependency Injection?

Có ba cách để làm điều đó:

  • Constructor Injection
  • Setter Injection
  • Interface Injection

Trong Spring framework, chủ yếu là constructor và setter injection được sử dụng.

Câu hỏi 18: Các cách sử dụng Spring Framework là gì?

  • Dùng như một khung framework trang web của bên thứ ba bằng cách sử dụng Spring framework ở giữa.
  • Để sử dụng từ xa.
  • Dùng như một ứng dụng web Spring chính thức.
  • Dùng như một Bean Java Enterprise có thể bao bọc các Plain Old Java Object hiện có. (POJO)

Câu hỏi 19: AOP (Aspect oriented programming- lập trình hướng khía cạnh) là gì?

  • JoinPoint (Điểm chương trình)
  • Advice (Xử lý phụ)
  • Pointcut (Điểm cắt – để xác định JoinPoint)
  • Aspect (Khía cạnh, tương tự như lớp trong Java)
  • Introduction (Giới thiệu)
  • Target Object (Đối tượng mà advice áp dụng)
  • Interceptor (Can thiệp)
  • AOP Proxy
  • Weaving (Quá trình liên kết thành phần aspect và non-aspect)

Câu hỏi 20: JoinPoint là gì?

Đó là bất kỳ điểm nào trong một chương trình như trường truy cập, thực thi phương thức, xử lý ngoại lệ hoặc tương tự.

Tóm tắt

spring-interview-questions

Có lẽ mẹo quan trọng nhất mà tôi có thể cung cấp cho bạn (ít nhất là khi nói đến câu hỏi phỏng vấn Spring framework) là nghiên cứu càng nhiều biến thể khác nhau của những câu hỏi này mà bạn có thể tìm thấy. Chỉ cần chọn một câu hỏi ngẫu nhiên từ hướng dẫn này, tra nó trên google để tìm các định nghĩa rộng hơn về các thuật ngữ và sau đó xem những câu hỏi tương tự bạn có thể gặp phải.

Anh em có những câu hỏi nào hãy comment bên dưới để mình có thể cập nhật nhé.

KHOÁ HỌC CGC JAVA

Leave a Reply

Your email address will not be published. Required fields are marked *