Spring Boot: Câu hỏi và trả lời phỏng vấn từ cơ bản đến nâng cao
4 phút đọc03/08/2025
Về tác giả
I have over 5 years of experience writing technical documentation for tech products, making them accessible and user-friendly. My focus is always on providing clear and precise information.
@#@
Tôi đã có hơn 5 năm kinh nghiệm viết tài liệu kỹ thuật cho các sản phẩm công nghệ, giúp người dùng dễ dàng tiếp cận và sử dụng. Tôi luôn tập trung vào việc cung cấp thông tin chính xác và dễ hiểu.
Cập nhật thông tin mới nhấtNhận các thông tin mới nhất về mối đe dọa, báo cáo an ninh mạng từ CyStack về hòm thư điện tử của bạn
{"success":true,"head":"<title>Spring Boot: Câu hỏi và trả lời phỏng vấn từ cơ bản đến nâng cao - CyStack Tutorial</title>\n<meta name=\"description\" content=\"Hôm nay, chúng ta sẽ cùng điểm qua một số câu hỏi phỏng vấn kèm theo đáp án liên quan đến chủ đề Spring Boot. Trước đây, đã có những bài viết đề cập đến\"/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-video-preview:-1, max-image-preview:large\"/>\n<link rel=\"canonical\" href=\"https://blog.cystack.org/tutorial/vi/2025/08/03/spring-boot-cau-hoi-va-tra-loi-phong-van/\" />\n<meta property=\"og:locale\" content=\"en_US\" />\n<meta property=\"og:type\" content=\"article\" />\n<meta property=\"og:title\" content=\"Spring Boot: Câu hỏi và trả lời phỏng vấn từ cơ bản đến nâng cao - CyStack Tutorial\" />\n<meta property=\"og:description\" content=\"Hôm nay, chúng ta sẽ cùng điểm qua một số câu hỏi phỏng vấn kèm theo đáp án liên quan đến chủ đề Spring Boot. Trước đây, đã có những bài viết đề cập đến\" />\n<meta property=\"og:url\" content=\"https://blog.cystack.org/tutorial/vi/2025/08/03/spring-boot-cau-hoi-va-tra-loi-phong-van/\" />\n<meta property=\"og:site_name\" content=\"CyStack Tutorial\" />\n<meta property=\"article:tag\" content=\"vi\" />\n<meta property=\"article:section\" content=\"Java\" />\n<meta property=\"og:updated_time\" content=\"2026-08-03T17:04:52+07:00\" />\n<meta property=\"og:image\" content=\"https://s2.cystack.net/tutorial/03162310/spring-boot-cau-hoi-va-tra-loi-phong-van.jpg\" />\n<meta property=\"og:image:secure_url\" content=\"https://s2.cystack.net/tutorial/03162310/spring-boot-cau-hoi-va-tra-loi-phong-van.jpg\" />\n<meta property=\"og:image:width\" content=\"1200\" />\n<meta property=\"og:image:height\" content=\"630\" />\n<meta property=\"og:image:alt\" content=\"Câu hỏi phỏng vấn Spring Boot\" />\n<meta property=\"og:image:type\" content=\"image/jpeg\" />\n<meta property=\"article:published_time\" content=\"2025-08-03T16:13:09+07:00\" />\n<meta property=\"article:modified_time\" content=\"2026-08-03T17:04:52+07:00\" />\n<meta name=\"twitter:card\" content=\"summary_large_image\" />\n<meta name=\"twitter:title\" content=\"Spring Boot: Câu hỏi và trả lời phỏng vấn từ cơ bản đến nâng cao - CyStack Tutorial\" />\n<meta name=\"twitter:description\" content=\"Hôm nay, chúng ta sẽ cùng điểm qua một số câu hỏi phỏng vấn kèm theo đáp án liên quan đến chủ đề Spring Boot. Trước đây, đã có những bài viết đề cập đến\" />\n<meta name=\"twitter:image\" content=\"https://s2.cystack.net/tutorial/03162310/spring-boot-cau-hoi-va-tra-loi-phong-van.jpg\" />\n<meta name=\"twitter:label1\" content=\"Written by\" />\n<meta name=\"twitter:data1\" content=\"Chris Pham\" />\n<meta name=\"twitter:label2\" content=\"Time to read\" />\n<meta name=\"twitter:data2\" content=\"3 minutes\" />\n<script type=\"application/ld+json\" class=\"rank-math-schema\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https://blog.cystack.org/tutorial/#person\",\"name\":\"CyStack Tutorial\"},{\"@type\":\"WebSite\",\"@id\":\"https://blog.cystack.org/tutorial/#website\",\"url\":\"https://blog.cystack.org/tutorial\",\"name\":\"CyStack Tutorial\",\"publisher\":{\"@id\":\"https://blog.cystack.org/tutorial/#person\"},\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https://s2.cystack.net/tutorial/03162310/spring-boot-cau-hoi-va-tra-loi-phong-van.jpg\",\"url\":\"https://s2.cystack.net/tutorial/03162310/spring-boot-cau-hoi-va-tra-loi-phong-van.jpg\",\"width\":\"1200\",\"height\":\"630\",\"caption\":\"C\\u00e2u h\\u1ecfi ph\\u1ecfng v\\u1ea5n Spring Boot\",\"inLanguage\":\"en-US\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://blog.cystack.org/tutorial/vi/2025/08/03/spring-boot-cau-hoi-va-tra-loi-phong-van/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":\"1\",\"item\":{\"@id\":\"https://blog.cystack.org/tutorial\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":\"2\",\"item\":{\"@id\":\"https://blog.cystack.org/tutorial/vi/category/java/\",\"name\":\"Java\"}},{\"@type\":\"ListItem\",\"position\":\"3\",\"item\":{\"@id\":\"https://blog.cystack.org/tutorial/vi/2025/08/03/spring-boot-cau-hoi-va-tra-loi-phong-van/\",\"name\":\"Spring Boot: C\\u00e2u h\\u1ecfi v\\u00e0 tr\\u1ea3 l\\u1eddi ph\\u1ecfng v\\u1ea5n t\\u1eeb c\\u01a1 b\\u1ea3n \\u0111\\u1ebfn n\\u00e2ng cao\"}}]},{\"@type\":\"WebPage\",\"@id\":\"https://blog.cystack.org/tutorial/vi/2025/08/03/spring-boot-cau-hoi-va-tra-loi-phong-van/#webpage\",\"url\":\"https://blog.cystack.org/tutorial/vi/2025/08/03/spring-boot-cau-hoi-va-tra-loi-phong-van/\",\"name\":\"Spring Boot: C\\u00e2u h\\u1ecfi v\\u00e0 tr\\u1ea3 l\\u1eddi ph\\u1ecfng v\\u1ea5n t\\u1eeb c\\u01a1 b\\u1ea3n \\u0111\\u1ebfn n\\u00e2ng cao - CyStack Tutorial\",\"datePublished\":\"2025-08-03T16:13:09+07:00\",\"dateModified\":\"2026-08-03T17:04:52+07:00\",\"isPartOf\":{\"@id\":\"https://blog.cystack.org/tutorial/#website\"},\"primaryImageOfPage\":{\"@id\":\"https://s2.cystack.net/tutorial/03162310/spring-boot-cau-hoi-va-tra-loi-phong-van.jpg\"},\"inLanguage\":\"en-US\",\"breadcrumb\":{\"@id\":\"https://blog.cystack.org/tutorial/vi/2025/08/03/spring-boot-cau-hoi-va-tra-loi-phong-van/#breadcrumb\"}},{\"@type\":\"Person\",\"@id\":\"https://blog.cystack.org/tutorial/author/codeweaver/\",\"name\":\"Chris Pham\",\"url\":\"https://blog.cystack.org/tutorial/author/codeweaver/\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https://secure.gravatar.com/avatar/7a3584c941fa360ac061b2a8f15684ced7b92daa1f09481be135a684d989e9b9?s=96&d=mm&r=g\",\"url\":\"https://secure.gravatar.com/avatar/7a3584c941fa360ac061b2a8f15684ced7b92daa1f09481be135a684d989e9b9?s=96&d=mm&r=g\",\"caption\":\"Chris Pham\",\"inLanguage\":\"en-US\"}},{\"@type\":\"BlogPosting\",\"headline\":\"Spring Boot: C\\u00e2u h\\u1ecfi v\\u00e0 tr\\u1ea3 l\\u1eddi ph\\u1ecfng v\\u1ea5n t\\u1eeb c\\u01a1 b\\u1ea3n \\u0111\\u1ebfn n\\u00e2ng cao - CyStack Tutorial\",\"keywords\":\"Spring Boot\",\"datePublished\":\"2025-08-03T16:13:09+07:00\",\"dateModified\":\"2026-08-03T17:04:52+07:00\",\"articleSection\":\"Java\",\"author\":{\"@id\":\"https://blog.cystack.org/tutorial/author/codeweaver/\",\"name\":\"Chris Pham\"},\"publisher\":{\"@id\":\"https://blog.cystack.org/tutorial/#person\"},\"description\":\"H\\u00f4m nay, ch\\u00fang ta s\\u1ebd c\\u00f9ng \\u0111i\\u1ec3m qua m\\u1ed9t s\\u1ed1 c\\u00e2u h\\u1ecfi ph\\u1ecfng v\\u1ea5n k\\u00e8m theo \\u0111\\u00e1p \\u00e1n li\\u00ean quan \\u0111\\u1ebfn ch\\u1ee7 \\u0111\\u1ec1 Spring Boot. Tr\\u01b0\\u1edbc \\u0111\\u00e2y, \\u0111\\u00e3 c\\u00f3 nh\\u1eefng b\\u00e0i vi\\u1ebft \\u0111\\u1ec1 c\\u1eadp \\u0111\\u1ebfn\",\"name\":\"Spring Boot: C\\u00e2u h\\u1ecfi v\\u00e0 tr\\u1ea3 l\\u1eddi ph\\u1ecfng v\\u1ea5n t\\u1eeb c\\u01a1 b\\u1ea3n \\u0111\\u1ebfn n\\u00e2ng cao - CyStack Tutorial\",\"@id\":\"https://blog.cystack.org/tutorial/vi/2025/08/03/spring-boot-cau-hoi-va-tra-loi-phong-van/#richSnippet\",\"isPartOf\":{\"@id\":\"https://blog.cystack.org/tutorial/vi/2025/08/03/spring-boot-cau-hoi-va-tra-loi-phong-van/#webpage\"},\"image\":{\"@id\":\"https://s2.cystack.net/tutorial/03162310/spring-boot-cau-hoi-va-tra-loi-phong-van.jpg\"},\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https://blog.cystack.org/tutorial/vi/2025/08/03/spring-boot-cau-hoi-va-tra-loi-phong-van/#webpage\"}}]}</script>\n"}
Hôm nay, chúng ta sẽ cùng điểm qua một số câu hỏi phỏng vấn kèm theo đáp án liên quan đến chủ đề Spring Boot. Trước đây, đã có những bài viết đề cập đến Spring Boot Framework cùng với các ví dụ minh họa thực tế. Trong bài viết này, nội dung được trình bày dưới dạng tổng hợp nhanh các câu hỏi phỏng vấn phổ biến, giúp bạn chuẩn bị tốt hơn cho cuộc phỏng vấn sắp tới.

Hệ thống hóa kiến thức Spring Boot qua câu hỏi phỏng vấn
Spring Boot là một framework toàn diện giúp phát triển ứng dụng Spring một cách dễ dàng. Trước đây, tôi đã có nhiều bài viết về câu hỏi phỏng vấn Spring nói chung, còn bài viết này tập trung riêng vào Spring Boot. Các câu hỏi phù hợp cho cả lập trình viên có kinh nghiệm lẫn người mới làm quen với framework này.
Spring Boot là gì?
Nói một cách đơn giản, Spring Boot Framework bao gồm các thành phần như Auto-Dependency Resolution (tự động xử lý dependency), Auto-Configuration (tự động cấu hình), Management EndPoints (các endpoint quản lý), Embedded HTTP Servers (máy chủ HTTP nhúng Jetty, Tomcat…) và Spring Boot CLI.

Nói cách khác, Spring Boot Framework là sự kết hợp của Spring Boot Starter, Spring Boot Auto-Configurator, Spring Boot Actuator, Embedded HTTP Servers và Groovy.

Có thể nói, Spring Boot Framework là Spring Boot CLI.

Nếu còn chưa rõ hai định nghĩa trên, có thể tiếp tục đọc các phần tiếp theo để hiểu cụ thể hơn.
Tại sao cần Spring Boot?
- Spring Framework hướng đến việc đơn giản hóa phát triển ứng dụng Java.
- Spring Boot Framework giúp đơn giản hóa quá trình phát triển với Spring.

Các thành phần của Spring Boot:
Spring Boot Framework bao gồm các thành phần sau:
- Spring Boot Starter
- Spring Boot AutoConfigurator
- Spring Boot Actuator
- Spring Boot CLI
- Spring Boot Initilizr
Spring Boot Starter là gì?
Spring Boot Starters là các file JAR được sử dụng để cung cấp tính năng Auto-Dependency Resolution trong Spring Boot Framework.

Spring Boot AutoConfigurator là gì?
Spring Boot AutoConfigurator được Spring Boot Framework sử dụng để cung cấp tính năng “Cấu hình tự động” (Auto-Configuration).

Spring Boot Actuator là gì?
Spring Boot Actuator cung cấp các Management EndPoints giúp theo dõi trạng thái nội tại của ứng dụng, các thông số hệ thống và các chỉ số vận hành.

Spring Boot CLI là gì?
Spring Boot CLI cung cấp các tính năng như Auto Dependency Resolution, Auto-Configuration, Management EndPoints, Embedded HTTP Servers (Jetty, Tomcat…) và (Groovy, Auto-Imports).

Nói cách khác, Spring Boot CLI bao gồm Spring Boot Starter, Spring Boot Auto-Configurator, Spring Boot Actuator, các máy chủ HTTP nhúng và Groovy.

Với Spring Boot CLI:
- Không cần dấu chấm phẩy
- Không cần khai báo public hay private
- Hầu hết không cần import
- Không cần dùng return
- Không cần setter và getter
- Không cần lớp Application chứa main(), vì SpringApplication sẽ đảm nhiệm
- Không cần cấu hình Gradle/Maven riêng
- Không cần máy chủ HTTP độc lập
Spring Boot Initilizr là gì?
Spring Boot Initilizr là một công cụ của Spring Boot dùng để khởi tạo nhanh các ứng dụng Spring Boot hoặc Spring một cách dễ dàng. Spring Boot Initilizr có các hình thức sau:
- Spring Boot Initilizr qua giao diện web
- Spring Boot Initilizr tích hợp trong các IDE hoặc plugin của IDE
- Spring Boot Initilizr thông qua Spring Boot CLI
- Spring Boot Initilizr sử dụng cùng các công cụ bên thứ ba
Tại sao cần Spring Boot Initilizr?
Spring Boot Initilizr giúp đơn giản hóa quy trình khởi tạo dự án Spring, cung cấp sẵn cấu trúc và script xây dựng dự án.
Nó giúp giảm thời gian phát triển và tăng hiệu suất làm việc.
Spring Boot dùng với Maven/Gradle như thế nào?
Spring Boot tận dụng khả năng quản lý phụ thuộc chuyển tiếp (Transitively Dependency Resolution Management) của Maven/Gradle.
Transitively Dependency Resolution Management là gì?
Transitively Dependency Resolution Management nghĩa là nếu khai báo một phụ thuộc “A” trong tập tin build, mà “A” phụ thuộc vào “B” và “B” lại phụ thuộc vào “C”, thì công cụ build sẽ tự động thêm cả ba file JAR “A”, “B” và “C” vào classpath của ứng dụng.

Trên đây là toàn bộ các câu hỏi và câu trả lời phỏng vấn liên quan đến Spring Boot. Nếu muốn tìm hiểu sâu hơn về các khái niệm này, bạn có thể tham khảo các bài viết trước của tôi và tài liệu chính thức.