70 câu hỏi và câu trả lời phỏng vấn khởi động mùa xuân (2025)
Câu hỏi phỏng vấn khởi động mùa xuân dành cho người mới
1) Giải thích thuật ngữ 'Spring Boot'.
Đây là một mô-đun Spring cung cấp khung Phát triển ứng dụng nhanh cho Spring. Mô-đun Spring được sử dụng để tạo một ứng dụng dựa trên khung Spring yêu cầu cấu hình một số tệp Spring.
👉 Tải xuống bản PDF miễn phí: Câu hỏi và câu trả lời phỏng vấn về Spring Boot >>
2) Nêu một số ưu điểm của Spring Boot
Dưới đây là một số lợi ích chính của việc sử dụng spring-boot:
- Giúp bạn tạo một ứng dụng độc lập, có thể bắt đầu bằng java.jar.
- Nó cung cấp các POM được xác định chính xác cho cấu hình Maven.
- Cho phép bạn nhúng trực tiếp Undertow, Tomcat hoặc Jetty.
- Giúp bạn tự động cấu hình lò xo bất cứ khi nào có thể.
3) Làm cách nào để tạo ứng dụng Spring Boot bằng Spring Launchizer?
Đây là một công cụ web do Spring cung cấp trên trang web chính thức của họ. Tuy nhiên, bạn cũng có thể tạo dự án Spring Boot bằng cách nhập thông tin chi tiết về dự án.
4) Kể tên các tính năng khi sử dụng Spring Boot
Các tính năng khi sử dụng Spring Boot là:
- Sự phụ thuộc ban đầu
- Tự động cấu hình
- Trình khởi tạo mùa xuân
5) Giải thích các giai đoạn khác nhau của mô hình RAD.
Đây là một cuộc phỏng vấn việc làm thường xuyên được hỏi. Các giai đoạn khác nhau của chế độ RAD là:
- Mô hình kinh doanh: Dựa trên luồng thông tin và phân phối giữa các kênh kinh doanh khác nhau, sản phẩm được thiết kế.
- Mô hình hóa dữ liệu: Thông tin được thu thập từ mô hình kinh doanh được tinh chỉnh thành một tập hợp các đối tượng dữ liệu có ý nghĩa quan trọng đối với doanh nghiệp.
- Tạo ứng dụng: Các công cụ tự động được sử dụng để xây dựng phần mềm, chuyển đổi mô hình quy trình và dữ liệu thành nguyên mẫu.
6) Mô hình RAD là gì?
RAD hoặc Quá trình Phát triển Ứng dụng Nhanh là việc áp dụng mô hình thác nước; nó nhắm mục tiêu phát triển phần mềm trong một thời gian ngắn. RAD làm theo sự lặp lại
Mô hình SDLC RAD có các giai đoạn sau:
- Mô hình kinh doanh
- Mô hình hóa dữ liệu
- Mô hình hóa quy trình
- Tạo ứng dụng
- Kiểm tra và doanh thu
7) Các lệnh để chạy và dừng tệp jar thực thi Spring Boot là gì?
Bạn cần mở lệnh cmd hoặc shell window và sử dụng
java -jar
Ví dụ
$ java -jar myproject-0.0.1-SNAPSHOT.jar
Để ngừng sử dụng ctrl+C
8) Làm cách nào bạn có thể thay đổi phiên bản JDK trong Spring Boot?
Để thay đổi phiên bản JDK trong Spring Boot, bạn có thể ghi đè lên nó bằng cách thêm java. thẻ thuộc tính phiên bản như đã cho:
1.8
9) Quy trình bạn cần thực hiện để chạy ứng dụng Spring Boot trên cổng tùy chỉnh là gì?
Để chạy ứng dụng Spring Boot, bạn cần đặt thuộc tính server.port trong application.properties. Ví dụ: server.port=8050
10) Khởi động Spring Boot là gì? Nó hữu ích như thế nào?
Spring Boot có nhiều khởi đầu. Chúng là một tập hợp các mô tả phụ thuộc thuận tiện. Starter cho phép bạn đưa các bộ mô tả này vào pom.xml của mình.
Ví dụ: Nếu muốn làm việc với Spring MVC, bạn có thể thêm “spring–boot–starter–web” làm phần phụ thuộc trong pom.xml.
11) Bạn có thể sử dụng Spring Boot với các ứng dụng không sử dụng Spring không?
Không, điều đó là không thể vì Spring Boot chỉ giới hạn ở ứng dụng Spring.
12) Tên file cấu hình mà bạn có thể sử dụng trong Spring Boot là gì?
Tệp cấu hình được sử dụng trong các dự án Spring Boot được gọi là application.properties. Đây là một tệp quan trọng cho phép bạn ghi đè cấu hình mặc định của mình.
13) DevTools trong Spring Boot là gì?
Spring Boot DevTools giúp bạn tăng năng suất của nhà phát triển. Vì vậy, bạn không cần phải triển khai lại ứng dụng của mình mỗi khi thực hiện thay đổi. Nó cho phép nhà phát triển tải lại các thay đổi mà không cần khởi động lại máy chủ.
14) Spring Boot có những tính năng quan trọng nào?
Các tính năng quan trọng của Spring Boot là:
- Phát triển Web
- Ứng dụng mùa xuân
- Các dịp ứng dụng và người nghe
- Điểm nổi bật của quản trị viên
- Hỗ trợ YAML
- Cấu hình an toàn loại
- Cấu hình bên ngoài
- Tệp thuộc tính
- Ghi nhật ký và bảo mật
15) Spring Boot gồm những thành phần thiết yếu nào
Các thành phần quan trọng của Spring Boot là:
- Khởi động mùa xuân
- Tự động cấu hình Spring Boot
- Thiết bị truyền động khởi động mùa xuân
- CLI khởi động mùa xuân
16) Thuộc tính được xác định như thế nào? Ở đâu?
Bạn có thể xác định các thuộc tính trong tệp application.properties tồn tại trong đường dẫn lớp.
Ví dụ: cấu hình đậu DataSource mặc định
cơ sở dữ liệu.host=localhost
17) Spring-boot-starter-parent là gì?
Đó là một sự khởi đầu đặc biệt làm cho Gradle or Maven quản lý phụ thuộc dễ dàng bằng cách thêm các tệp vào đường dẫn lớp của bạn.
18) Làm cách nào để kích hoạt hỗ trợ HTTP/2 trong Spring Boot?
Người dùng có thể kích hoạt hỗ trợ HTTP/2 bằng cách sử dụng
server.http2.enabled configuration property.
19) Thiết bị truyền động khởi động mùa xuân là gì?
Spring Boot Actuator cho phép bạn giám sát và quản lý ứng dụng của mình khi bạn muốn đưa nó vào sản xuất. Nó giúp bạn kiểm soát ứng dụng của mình bằng cách sử dụng các điểm cuối HTTP.
20) Lệnh chạy ứng dụng Spring Boot sang cổng tùy chỉnh là gì?
Trong application.properties, thêm thuộc tính sau.
server.port = 8181
21) Làm cách nào bạn có thể truy cập một giá trị được xác định trong ứng dụng? Tệp thuộc tính trong Spring Boot là gì?
Sử dụng chú thích @Value để truy cập các thuộc tính được xác định trong tệp ứng dụng – thuộc tính.
@Value("${custom.value}") private String customVal;
22) Sự khác biệt cơ bản giữa Spring và Spring Boot là gì?
Spring là một framework phát triển ứng dụng web dựa trên Java. Mặt khác, Spring Boot là một phần mở rộng của khung lò xo giúp loại bỏ cấu hình soạn sẵn cần thiết để thiết lập ứng dụng Spring.
23) Giải thích Spring Boot Admin
Quản trị viên Spring Boot là một dự án cộng đồng giúp bạn quản lý và giám sát các ứng dụng Spring Boot của mình.
24) Làm thế nào bạn có thể kết nối Spring Boot với cơ sở dữ liệu bằng JPA?
Spring Boot hỗ trợ khởi động spring-boot-data-JPA, giúp bạn kết nối ứng dụng spring với cơ sở dữ liệu quan hệ.
25) Giải thích chú thích @RestController trong Spring Boot?
Chú thích @RestController giúp bạn thêm chú thích @ResponseBody và @Controller vào lớp.
Bạn cũng có thể nhập gói org.springframework.web.bind.annotation trong tệp của mình.
26) Định nghĩa thuật ngữ Spring Khởi tạo
Trình khởi tạo mùa xuân là một ứng dụng web có thể tạo cấu trúc dự án ban đầu cho bạn.
27) Giải thích Spring CLI
Spring CLI được sử dụng để viết bằng Groovy Ứng dụng Spring Boot, giúp bạn viết code ngắn gọn.
28) Bạn có thể xác định thuộc tính trong ứng dụng Spring Boot ở đâu?
Bạn có thể định nghĩa các thuộc tính của Spring Boot vào một file có tên là application.properties. Nó giúp bạn tạo file này theo cách thủ công hoặc bạn có thể sử dụng Spring Launchizer để tạo file này.
29) Spring hỗ trợ các thùng chứa nhúng là gì
Spring Boot hỗ trợ ba vùng chứa nhúng chính:
1) Mèo con
2) Cầu tàu
3) Undertow.
Theo mặc định, nó sử dụng Tomcat làm vùng chứa được nhúng.
30) Giải thích thymeleaf trong Spring Boot
Thymelaf là phía máy chủ Java công cụ tạo mẫu cho một ứng dụng web. Nó giúp bạn mang các mẫu tự nhiên trang nhã vào ứng dụng web của bạn.
31) Thuộc tính của Spring Boot là gì?
Spring Boot cung cấp nhiều thuộc tính khác nhau có thể được chỉ định bên trong tệp application.properties của dự án của chúng tôi. Nó giúp bạn đặt các giá trị như số cổng máy chủ, cấu hình kết nối cơ sở dữ liệu, v.v.
Câu hỏi phỏng vấn khởi động mùa xuân dành cho người có kinh nghiệm
32) Sự khác biệt chính giữa JPA và Hibernate là gì?
Sự khác biệt chính giữa cả hai là JPA là một đặc tả/Giao diện, trong khi Hibernate chỉ là triển khai JPA.
33) Tắt máy trong bộ truyền động là gì?
Tắt máy là điểm cuối giúp ứng dụng được tắt đúng cách. Tính năng này không được bật theo mặc định.
Tuy nhiên, bạn có thể sử dụng nó bằng cách đặt lệnh: management.endpoint.shutdown.enabled=true trong tệp application.properties của mình.
34) Có thể thay thế hoặc ghi đè máy chủ Embedded Tomcat trong Spring Boot không?
Có, có thể thay thế Tomcat nhúng bằng bất kỳ máy chủ nào khác bằng cách sử dụng các phần phụ thuộc ban đầu. Để làm được điều đó, bạn có thể sử dụng spring-boot-starter-jetty hoặc làm phụ thuộc tùy theo nhu cầu của bạn.
35) Bạn có thể tắt máy chủ web mặc định trong ứng dụng Spring Boot không?
Có, chúng tôi có thể tắt máy chủ web mặc định bằng cách sử dụng application.properties để định cấu hình loại ứng dụng web.
36) Làm cách nào để Thêm, Lọc vào một ứng dụng?
Có ba phương pháp để thêm bộ lọc vào ứng dụng Spring Boot:
- Bằng cách triển khai giao diện Filter.
- Sử dụng FilterRegistrationBean.
- Sử dụng bộ điều khiển MVC.
37) Dự án Spring Boot Starter là gì?
Bộ khởi động trong Spring Boot là một tập hợp các bộ mô tả tiện lợi được bao gồm trong các ứng dụng Spring Boot. Nó đi kèm với nhiều công nghệ liên quan đến Spring giúp toàn bộ quá trình phát triển ứng dụng trở nên dễ dàng hơn nhiều.
38) @pathVariable là gì?
Chú thích @PathVariable giúp bạn trích xuất thông tin trực tiếp từ URI.
39) Swagger2 là gì?
Swagger được sử dụng để mô tả cấu trúc của API. Swagger 2 là một dịch vụ mã nguồn mở được cung cấp trong Spring Boot, giúp máy dễ dàng tìm ra cấu trúc của các API như dịch vụ Web RESTful hơn.
40) Các môi trường khác nhau để phát triển ứng dụng doanh nghiệp là gì?
- Dev
- QA
- Traineeship
- Sản lượng
41) Sự khác biệt chính giữaRequestMapping và GetMapping là gì?
Bản đồ yêu cầu có thể được sử dụng với GET, POST, PUT và nhiều phương thức yêu cầu khác bằng cách sử dụng thuộc tính phương thức trên chú thích. Trong khi đó GetMapping chỉ là một phần mở rộng của requestMapping, giúp bạn cải thiện sự rõ ràng trong các yêu cầu.
42) Làm thế nào bạn có thể xác định các thuộc tính trong Spring Boot?
Bạn có thể xác định các thuộc tính trong Spring Boot với sự trợ giúp của tệp application.properties tồn tại trong đường dẫn lớp của ứng dụng như sau.
43) Làm cách nào để tạo dự án Spring Boot bằng Maven?
Sử dụng bất kỳ phương pháp nào sau đây để tạo một dự án.
- Khởi đầu mùa xuân
- CLI khởi động mùa xuân
- Trình hướng dẫn dự án khởi động mùa xuân
44) Công dụng của profile trong Spring Boot là gì?
Cấu hình được sử dụng để phân tách các phần khác nhau trong cấu hình ứng dụng mùa xuân của bạn và làm cho nó chỉ khả dụng trong một số môi trường nhất định.
45) Làm cách nào để thay đổi cổng HTTP Tomcat?
Để thay đổi cổng HTTP Tomcat, bạn phải thay đổi thuộc tính HTTP mặc định trong tệp application.properties.
46) LiveReload trong Spring Boot là gì?
LiveReload là mô-đun spring-boot-devtools bao gồm máy chủ LiveReload để kích hoạt làm mới trình duyệt khi tài nguyên được thay đổi. Phần mở rộng máy chủ LiveReload là phần mềm miễn phí có sẵn dành cho Firefox, Chrome và Safari.
47) Lợi ích chính của Cấu hình bên ngoài mùa xuân là gì?
Cấu hình bên ngoài giúp hoạt động với cùng một mã trong các môi trường khác nhau. Nhà phát triển có thể sử dụng tệp YAML, tệp thuộc tính, đối số dòng lệnh và biến môi trường để cấu hình bên ngoài.
48) Bạn nói hot-swapping trong Spring Boot nghĩa là gì?
Đó là một cách để tải lại các thay đổi mà không cần khởi động lại máy chủ Tomcat hoặc Jetty. Eclipse và nhiều IDE khác hỗ trợ trao đổi nóng mã byte. Nếu bạn thực hiện bất kỳ thay đổi nào không ảnh hưởng đến chữ ký phương thức, nó sẽ tải lại mà không có tác dụng phụ.
49) Giải thích cấu hình tự động trong Spring Boot.
Cấu hình tự động được sử dụng để tự động cấu hình ứng dụng Spring dựa trên sự phụ thuộc của tham số đường dẫn lớp. Nó làm cho sự phát triển nhanh hơn và dễ dàng hơn.
50) Ý nghĩa của Lập trình hướng theo khía cạnh (AOP) là gì?
Lập trình hướng theo khía cạnh bổ sung cho Lập trình hướng đối tượng nhằm mục đích tăng tính mô đun. AOP chia logic chương trình thành nhiều phần khác nhau, được gọi là mối quan tâm.
51) Làm cách nào để kích hoạt tính năng ghi nhật ký trong Spring Boot?
Để kích hoạt tính năng ghi nhật ký gỡ lỗi, bạn có thể chỉ định –debug trong khi khởi động ứng dụng từ dấu nhắc lệnh.
52) Giải thích việc ghi đè các thuộc tính mặc định trong ứng dụng Spring Boot.
Spring Boot có rất nhiều thuộc tính có thể dễ dàng ghi đè bằng cách chỉ định chúng trong application.properties.
Câu hỏi phỏng vấn Spring Boot cho 5 năm kinh nghiệm
53) Giải thích Docker trong Spring Boot.
Nó là một công cụ được thiết kế để tạo, triển khai và chạy một dự án bằng cách sử dụng các thùng chứa.
54) Xác định ngăn xếp ELK.
ELK Stack được tạo thành từ ba sản phẩm nguồn mở: 1) Elaticsearch, 2) Logstash, và 3) Kibana.
- Tìm kiếm đàn hồi: Nó là một NoSQL cơ sở dữ liệu dựa trên công cụ tìm kiếm nguồn mở có tên Lucene.
- Logstash: Nó là một công cụ xử lý dữ liệu chấp nhận đầu vào từ các nguồn, thực hiện các phép biến đổi khác nhau và xuất dữ liệu đến các mục tiêu.
- Kibana: Kibana giúp người dùng trực quan hóa dữ liệu bằng đồ thị và biểu đồ trong Elaticsearch.
55) Cách xử lý ngoại lệ trong Spring Boot.
Spring Boot cung cấp một cách rất hữu ích để xử lý các ngoại lệ bằng cách sử dụng chú thích @ControllerAdvice.
56) Giải thích bộ nhớ đệm.
Bộ nhớ đệm là bộ nhớ lưu trữ tạm thời dữ liệu thường xuyên truy cập, nếu không sẽ tốn kém để lấy hoặc tính toán.
57) Tấn công giả mạo yêu cầu chéo trang web là gì?
Tấn công giả mạo yêu cầu chéo trang web hoặc tấn công bằng một cú nhấp chuột là một cuộc tấn công buộc người dùng khác thực thi các lệnh độc hại trên ứng dụng. Cuộc tấn công CSRF đặc biệt nhắm vào các yêu cầu thay đổi trạng thái.
58) Xác định freemarker apache.
Freemarker là một Java-mẫu dựa trên được sử dụng để tạo văn bản thuần túy, email, tệp HTML, v.v.
59) Lô mùa xuân có nghĩa là gì?
Spring Boot Batch cung cấp khả năng sử dụng lại mã, điều này rất quan trọng khi làm việc với số lượng lớn bản ghi, bao gồm quản lý giao dịch, ghi nhật ký, bỏ qua, thống kê xử lý công việc và khởi động lại công việc.
60) Giải thích Apache Kafka.
Apache Kafka là một nền tảng nhắn tin mã nguồn mở. LinkedIn phát triển nó. Apache Kafka cho phép người dùng xây dựng các ứng dụng phân tán và xử lý nguồn cấp dữ liệu theo thời gian thực. Kafka phù hợp cho cả nhắn tin ngoại tuyến và trực tuyến.
61) Giải thích CORS trong Spring Boot?
CORS là viết tắt của Cross-Origin Resource Sharing là một cơ chế được các trình duyệt triển khai và giúp người dùng ủy quyền các yêu cầu tên miền chéo. Cơ chế này đóng vai trò thay thế cho các loại hack kém an toàn hơn và kém mạnh mẽ hơn đối với các loại IFrame hoặc JSONP.
Câu hỏi phỏng vấn khởi động mùa xuân cho 10 năm kinh nghiệm
62) Giải thích các kiểu chèn phụ thuộc khác nhau.
Có hai kiểu chèn phụ thuộc trong Spring Boot. Chúng như sau:
- Nội dung phụ thuộc dựa trên hàm tạo: Đó là một kỹ thuật trong đó một đối tượng lớp cung cấp sự phụ thuộc của đối tượng khác.
- Nội dung phụ thuộc dựa trên Setter: Đây là một phép nội xạ phụ thuộc trong đó khung chèn các giá trị nguyên thủy và dựa trên chuỗi bằng phương thức setter.
63) Ưu điểm của dịch vụ vi mô là gì?
Sau đây là những lợi thế chính của dịch vụ vi mô:
- Nó làm cho sự phát triển nhanh chóng và dễ dàng.
- Tương thích với tất cả các container.
- Giảm thời gian sản xuất.
- Đây là một mẫu máy gọn nhẹ hỗ trợ một ứng dụng kinh doanh quan trọng.
64) Gói mặc định trong Spring Boot là gì?
Một lớp không có khai báo gói nào được coi là gói mặc định.
65) Giải thích sự khác biệt giữa vùng chứa được nhúng và WAR.
Sự khác biệt chính giữa hai điều này là:
Các thùng chứa nhúng giúp bạn chạy ứng dụng Spring Boot dưới dạng JAR từ dấu nhắc lệnh mà không cần thiết lập bất kỳ máy chủ web nào, trong khi để chạy WAR, trước tiên bạn cần thiết lập Tomcat.
66) Giải thích Spring MVC.
Nó là một framework ứng dụng web truyền thống giúp bạn xây dựng một ứng dụng web. Framework này tương tự như framework của Struts.
67) Việc sử dụng là gì nhãn?
Thẻ này được sử dụng để ghi vào bộ java bằng cách sử dụng XML.
68) Bạn có ý nghĩa gì về khía cạnh?
Nó là một tập hợp các API cung cấp các yêu cầu xuyên suốt.
69) Điểm tham gia trong Spring Boot là gì?
Nó là một điểm thực thi chương trình như việc xử lý một ngoại lệ hoặc thực thi một phương thức. Trong AOP, điểm nối được gọi là thực thi phương thức.
70) Làm cách nào bạn có thể thiết lập hồ sơ hoạt động trong Spring Boot?
Thực hiện theo các phương pháp sau để thiết lập cấu hình hoạt động trong Spring Boot.
- Chuyển hồ sơ này làm đối số khi bạn khởi chạy ứng dụng Spring Boot.
- Đặt kích hoạt cấu hình hoạt động trong tệp application.properties.
71) Có thể loại trừ gói mà không sử dụng bộ lọc basePackages không? Làm sao?
Đúng. Có thể loại trừ gói mà không cần sử dụng bộ lọc basePackages bằng cách sử dụng thuộc tính loại trừ trong khi sử dụng chú thích @SpringBootApplication.
72) Liệt kê những lợi ích của việc sử dụng JavaPhương pháp cấu hình.
Sau đây là những lợi ích của JavaPhương pháp cấu hình.
- Người dùng có thể tận dụng lợi ích của cấu hình hướng đối tượng.
- Cấu hình Spring Boot cải thiện hiệu quả của ứng dụng dựa trên web bằng cách loại bỏ cấu hình XML phức tạp.
Java Câu hỏi phỏng vấn khởi động mùa xuân
73) Giải thích các bước triển khai ứng dụng trên máy ảo.
Dưới đây là các bước triển khai ứng dụng trên máy ảo.
- đặt Java.
- Cài đặt Máy chủ ứng dụng.
- Triển khai tập tin chiến tranh ứng dụng.
74) Liệt kê một số Spring Boot Starters.
Các bộ khởi động khởi động mùa xuân khác nhau như sau:
- Bảo mật
- Cha mẹ
- web
- Lá húng tây
- Dấu ấn tự do
Những câu hỏi phỏng vấn này cũng sẽ giúp ích cho bài thi viva(orals) của bạn