- Nó được tạo ra bằng cách sao chép và dán nên vẫn "chạy được".
- "JPA là gì?" khiến họ cứng họng không trả lời được.
- Không thể giải thích tại sao lại viết mã như vậy.
[Lv1] Spring Boot có thể giải thích trong phỏng vấn - Phát triển Backend trả lời bằng kinh nghiệm
Đây là khóa học nhập môn phát triển Backend, nơi bạn học bằng sự thấu hiểu thay vì học thuộc lòng, bằng trải nghiệm thực tế thay vì lý thuyết suông. Thay vì trả lời câu hỏi phỏng vấn "JPA là gì?" bằng cách học thuộc lòng định nghĩa tra được trên Google, đây là khóa học giúp bạn có thể đưa ra câu trả lời từ chính trải nghiệm của mình, bắt đầu bằng: "Tôi đã từng nếm trải 'địa ngục' JdbcTemplate...". Bạn sẽ trực tiếp trải nghiệm quá trình rút gọn từ 30 dòng mã ServerSocket thuần Java xuống còn 7 dòng với Spring Boot, từ đó thấu hiểu sâu sắc lý do "tại sao chúng ta lại sử dụng framework". Sau 6 buổi học, bạn sẽ nắm trong tay một sản phẩm thực tế để đưa vào portfolio: Todo List REST API được xây dựng bằng Spring Boot + JPA.
328 học viên
Độ khó Cơ bản
Thời gian Không giới hạn
Đánh giá từ những học viên đầu tiên
5.0
5.0
창근
Đây là khóa học mà tôi đã tham gia một cách khá "cưỡng ép" (?) do công ty đột ngột chuyển sang dùng Spring, nhưng kết quả là nếu không học thì đúng là một sai lầm lớn. Tôi không hẳn là người mới bắt đầu hoàn toàn với Backend, vì đã có kinh nghiệm sử dụng NestJS trước đó nên tôi từng lo lắng không biết Spring có quá nặng nề hay gò bó không. Thế nhưng, nỗi lo đó đã tan biến ngay từ bài giảng đầu tiên. Luồng kiến thức từ triết lý của Spring đến cấu trúc và lý do tại sao nó được thiết kế như vậy quá mượt mà, khiến tôi không biết bao nhiêu lần phải thốt lên "À, hóa ra đây là lý do Spring được sử dụng". Khóa học không chỉ liệt kê cú pháp đơn thuần mà còn rèn luyện tư duy thực tế và nền tảng cơ bản một cách bài bản, nên với một người từng dùng Nest như tôi, việc vừa học vừa so sánh giúp hiểu vấn đề cực kỳ nhanh. Tôi có thể tự tin khẳng định rằng, không chỉ những người mới bắt đầu với Spring, mà cả những người đã có kinh nghiệm với các framework khác nhưng chưa từng học Spring một cách bài bản như tôi, nỗi sợ mơ hồ về Spring sẽ hoàn toàn biến mất sau khóa học này. Thật sự khó có thể tìm được một khóa học nào tốt hơn thế này để củng cố nền tảng vững chắc.
5.0
김민구
Rất phù hợp cho những người mới bắt đầu với Spring Boot, những người vừa học Java, hoặc những người đã học từ lâu rồi. Và thầy Dingcodingco giảng dạy rất hay nên nghe vào rất dễ hiểu
5.0
다온
Tôi đã học được khái niệm này một cách rất thú vị thông qua các ví dụ. Tôi cũng đã được học về những phần mình từng hiểu sai và những phần chưa biết một cách đầy hứng thú.
Bạn sẽ nhận được điều này sau khi học.
Kỹ năng trả lời bằng "kinh nghiệm" trong phỏng vấn Backend
Năng lực phát triển thực chiến Spring Boot + JPA
Trải nghiệm học tập để thấu hiểu "Tại sao (Why)"
Khả năng đọc hiểu code thực tế
Tech stack mà 95% tin tuyển dụng lập trình viên Backend mới yêu cầu
Gõ theo thì chạy được.
Nhưng người phỏng vấn sẽ hỏi ‘tại sao’.
Những dự án được tạo ra bằng cách sao chép và dán sẽ dễ dàng sụp đổ trong các buổi phỏng vấn. Với phương pháp học tập "Khổ trước - Sướng sau" — trải nghiệm nỗi đau của Java thuần trước rồi mới nhận ra sự vĩ đại của Spring Boot — bạn sẽ trở thành một nhà phát triển có khả năng giải thích tường tận các nguyên lý.
Hầu hết các bài giảng chỉ dạy 'làm thế nào'.
"JPA thì chỉ cần dùng save() là được", "Transaction thì chỉ cần gắn @Transactional vào là xong." Làm theo thì nó chạy đấy. Thế nhưng người phỏng vấn lại hỏi là "Tại sao lại dùng nó?".
"Chỉ dừng lại ở việc gọi save()".
Họ không thể trả lời được tại sao lại dùng JPA, tại sao lại dùng kiến trúc 3 lớp.
Vì chưa từng làm thử mà không có JPA nên không biết trân trọng nó.
Gõ theo thì chạy được đấy. Nhưng sẽ bị gục ngã ở vòng phỏng vấn thôi.
Xem video trên YouTube và làm theo thì có thể tạo ra được portfolio. Hãy cùng xem một kịch bản bị loại phổ biến nhé.
Phải trực tiếp trải nghiệm thì mới thấy được sự vĩ đại.
Không nên học từ những thứ tiện lợi ngay từ đầu. Bạn phải trải nghiệm sự bất tiện trước đã. Sau khi nếm trải nỗi đau của 30 dòng mã Java thuần túy rồi mới nhìn vào 7 dòng của Spring Boot — bạn sẽ thốt lên: "À, ra là tại sao người ta lại dùng nó".
Tôi đã tự tay nhập phản hồi HTTP bằng chuỗi ký tự.
Sau nỗi đau đó, tôi mới cảm nhận được sự vĩ đại của 7 dòng Spring Boot.
Tôi đã tự mình viết 50 dòng SQL + RowMapper.
Chỉ một dòng JPA save() thôi mà tôi đã hiểu thấu xương tủy tại sao nó lại là một cuộc cách mạng.
"Tại sao đối tượng mà tôi không tạo ra lại hoạt động nhỉ?"
Proxy, DI và Spring Bean sẽ giúp bạn hiểu rõ bản chất của phép màu này.
Một mình Controller phải gánh vác mọi công việc.
Giải thích lý do tại sao phân tách 3 lớp lại tạo nên một cấu trúc gọn gàng.
Khái niệm Backend, nghe một lần là không thể nào quên.
3 lớp·Giao dịch (Transaction)·Proxy·DI·Repository·Kiểm chứng ngoại lệ — Không dùng code mà dùng hình ảnh ẩn dụ về nhà hàng để giúp bạn nắm bắt từ "cái gì" cho đến "tại sao" chỉ trong một ánh nhìn.
"Tại sao phải chia ra Controller·Service·Repository?"
Nhân viên bán hàng, quản lý và thủ kho, tôi trả lời rằng các vai trò được phân chia như vậy.
"Tại sao cần có Transaction?"
Giải thích giống như một set burger, hoặc là được tất cả hoặc là không có gì cả.
"@Transactional hoạt động như thế nào?"
Giải thích rằng người quản lý (proxy) sẽ thay mặt xử lý.
"@Autowired được tiêm (inject) như thế nào?"
Kho phụ tùng Trả lời rằng nó sẽ được lấy ra và giao đến giống như việc giao hàng vậy.
"Không có phần triển khai (implementation) thì làm sao nó chạy được nhỉ?"
Tôi hiểu rằng SimpleJpaRepository (đầu bếp) sẽ tạo ra nó thay thế.
"Xử lý ngoại lệ và kiểm chứng ở đâu vậy ạ?"
Người gác cổng (xác thực) và Quản lý (ngoại lệ toàn cục) được sử dụng để giải thích.
Cùng một dự án, nhưng câu trả lời phỏng vấn lại khác nhau.
- Tôi đã trực tiếp trải qua địa ngục của 50 dòng SQL.
- "Tôi đã thử làm bằng JdbcTemplate rồi nhưng..." bắt đầu như thế.
- Giải thích cả lý do 'tại sao' phải dùng JPA, Transaction và DI.
Khóa học này là điểm bắt đầu, Lv.1.
Không chỉ dừng lại ở một khóa học. Chúng tôi sẽ đồng hành cùng bạn từ khi bắt đầu cho đến khi thực chiến thông qua lộ trình từng bước một.
Trước khi bắt đầu với Spring, hãy củng cố các kiến thức cơ bản.
Tạo API bằng Spring và chuẩn bị cho phỏng vấn.
Từ ngữ cảnh thực tế đến các mô hình thực hành.
Nếu đã trang bị được những vũ khí thực chiến, giờ là lúc tạo sự khác biệt bằng sơ yếu lý lịch để vượt qua vòng hồ sơ.
Bạn đã bao giờ gặp tình huống như thế này chưa?
Bạn đã bao giờ cứng họng trước câu hỏi "JPA là gì?" chưa?
Bạn đã bao giờ lúng túng vì không thể giải thích được dự án mà mình đã làm bằng cách sao chép và dán chưa?
6 học phần, 42 bài giảng · Từ cơ bản về web đến dự án thực tế.
Cơ bản về Web → Máy chủ web đầu tiên (Khổ cực → Cứu rỗi) → DB·JPA → Proxy·DI → 3 lớp·Transaction → Dự án thực tế. Nhấn vào từng phần để xem mục lục chi tiết.
섹션 1. 🌐 1교시 · 웹의 기초, 서버와 대화하는 법웹·HTTP·JSON
- 1🎯 OT: Sau 6 tiết học, tôi có thể làm được gì?
- 2🌐 Sự khác biệt giữa Internet và Web: KakaoTalk và YouTube
- 3🍽️ Client và Server: Khách hàng và Nhà hàng
- 4📨 HTTP: Ngôn ngữ chung mà cả thế giới sử dụng
- 5📦 JSON: Chiếc bát tiêu chuẩn để chứa dữ liệu
섹션 2. 🚀 2교시 · 첫 웹 서버, 순수 자바의 고통 → 구원고통→구원
- 6🚀 Trải nghiệm nỗi đau kinh hoàng của Java thuần túy (30 dòng)
- 7🌱 Tạo dự án Spring Boot: Nhanh như nấu mì trong 3 giây
- 8🎯 Hello World API: Hoàn thành server chỉ với 7 dòng
- 9📤 Phản hồi JSON: Đối tượng Java biến hình thành JSON
- 10🎯 Nhận yêu cầu động bằng biến đường dẫn (Path Variable)
섹션 3. 💾 3교시 · DB, JdbcTemplate 지옥 → JPA 한 줄DB·JPA
- 11💾 Lưu trữ bộ nhớ: Hạn chế chí mạng của HashMap
- 12🗄️ Khái niệm DB: Lắp đặt tủ lạnh lưu trữ vĩnh viễn
- 13😭 JdbcTemplate: Trải nghiệm địa ngục chuỗi SQL
- 14✨ JPA: Kết thúc chỉ với một dòng save() mà không cần SQL
- 15🎮 Repository: Bảng điều khiển hoạt động mà không cần viết mã
섹션 4. 🎭 4교시 · 마법의 정체, 프록시·DI·스프링 빈프록시·DI
- 16🎭 Proxy là gì?
- 17🏭 Proxy tự động: Nhà máy sản xuất hàng loạt quản lý
- 18📦 ApplicationContext và Spring Bean
- 19🚀 Tiêm phụ thuộc (DI): Baemin
- 20👨🍳 Đầu bếp đứng sau ki-ốt: SimpleJpaRepository
섹션 5. 🏗️ 5교시 · 3계층 아키텍처와 트랜잭션3계층·트랜잭션
- 21🏗️ 3 tầng: Phân chia vai trò Nhân viên-Quản lý-Tủ lạnh
- 22💡 Tại sao phải chia ra cho phiền phức? Lý do phân chia tầng
- 23🛡️ Transaction: Đưa tất cả hoặc không có gì cả
- 24✅ @Transactional: Phép màu của một tấm nhãn
- 25🕵️ Nguyên lý hoạt động của @Transactional
섹션 6. 🎓 6교시 · 실전, 예외·검증·프로젝트 완성실전 CRUD
- 26🚨 Xử lý ngoại lệ: Chuyển 500 thành 404·400
- 27🛡️ Ngoại lệ toàn cục: Quản lý nhà hàng
- 28👮 Xác thực: Người gác cổng bảo vệ lối vào + @Valid
- 29📄 Phân trang: Cấm findAll(), an toàn ngay cả với 1 triệu bản ghi
- 30🚀 Dự án thực tế: Hoàn thiện User-Todo CRUD
Nếu bạn đã gõ theo nhưng không thể giải thích được.
Đối tượng phù hợp
Những người biết về if·for trong Java nhưng vẫn còn thấy mơ hồ về việc tạo ra một "server"
Những người đã làm theo hướng dẫn trên YouTube nhưng không thể giải thích được khi phỏng vấn
Những người không hiểu nguyên lý của dự án được tạo ra bằng cách sao chép và dán (copy-paste)
Những người muốn vừa chuẩn bị phỏng vấn vừa thực hành cùng một lúc
Những người cần điều chỉnh kỳ vọng
- Người đã đi làm và đang sử dụng thành thạo Spring trong thực tế chuyên môn
- Những người lần đầu tiên nhìn thấy cú pháp Java (if·for)
- Những người chỉ muốn đi sâu vào nội bộ JPA và tinh chỉnh hiệu năng (nội dung đó thuộc Lv.2)
Nhập môn — Chỉ cần có kiến thức cơ bản về Java là có thể bắt đầu.
Đã từng sử dụng các câu lệnh Java if, for (chưa biết Spring Boot cũng không sao).
Kinh nghiệm từng xử lý MySQL CRUD ít nhất một lần.
IntelliJ Community (miễn phí) là đủ — không quan trọng Windows hay Mac, có hướng dẫn cài đặt cho từng OS.
Sau khi kết thúc khóa học, bạn sẽ đạt được bốn điều này.
Bạn có thể tự mình tạo API server bằng Spring Boot và giải thích được nguyên lý hoạt động của nó.
Trải qua nỗi khổ của JdbcTemplate và giải thích tại sao một dòng save() của JPA lại là một cuộc cách mạng.
Hiểu "tại sao mã lại hoạt động" thông qua Proxy, DI và Spring Bean.
Hoàn thiện CRUD thực chiến với 3 tầng (3-layer), transaction, ngoại lệ và kiểm chứng.
Đích thân nhà phát triển đang làm việc thực tế, người từng tham gia phỏng vấn vòng cuối tại Coupang và Yanolja, sẽ trực tiếp giảng dạy.
Giảng viên là nhà phát triển 6 năm kinh nghiệm, từng vào đến vòng phỏng vấn cuối cùng của Coupang và Yanolja, đồng thời sở hữu câu chuyện nhảy việc qua 24 công ty, sẽ trực tiếp giảng dạy.
Cựu nhà phát triển server tại Viva Republica (Toss) — giải thích lý do "tại sao" dưới góc nhìn đã được kiểm chứng qua thực tế.
"Không chỉ dừng lại ở việc chỉ dạy "cách làm", khóa học sẽ kết nối từ Khái niệm → Trải nghiệm trực tiếp → cho đến tận Câu trả lời phỏng vấn.
Tôi vận hành cộng đồng chinh phục việc làm cho nhà phát triển (KakaoTalk, Discord) và hỗ trợ học viên cho đến cuối cùng.
Nếu bạn để lại đánh giá khóa học, chúng tôi sẽ gửi tặng bạn bộ 18 câu hỏi phỏng vấn Spring Boot.
Các câu hỏi cốt lõi và câu trả lời mẫu có thể áp dụng ngay trong buổi phỏng vấn — Đây là bộ câu hỏi trên Notion để bạn có thể trực tiếp luyện tập.
Chỉ mở ra và kiểm tra những phần bạn thắc mắc.
Spring Boot를 하나도 몰라도 되나요?
Vâng. Bạn chỉ cần biết về câu lệnh if và vòng lặp for trong Java là được. Không cần biết về Spring Boot cũng không sao. Tôi sẽ giải thích từng bước mọi khái niệm, bắt đầu từ việc "Tại sao chúng ta lại học cái này".
따라하기 강의랑 뭐가 다른가요?
Khóa học này cố tình để bạn phải trải qua khó khăn. Bạn sẽ tự tay viết một máy chủ web bằng Java thuần với 30 dòng mã, nếm trải địa ngục của 50 dòng SQL với JdbcTemplate, rồi sau đó mới cảm nhận được sự vĩ đại của 7 dòng Spring Boot và một dòng save() của JPA. Chính trải nghiệm này sẽ giúp bạn có thể trả lời phỏng vấn bắt đầu bằng cụm từ "Tôi đã từng trực tiếp trải nghiệm việc đó...".
실습 환경은 어떻게 되나요?
Sử dụng IntelliJ. Phiên bản Community (miễn phí) là đủ và có thể sử dụng trên cả Windows lẫn Mac. Chúng tôi cung cấp đầy đủ phương pháp cài đặt cho từng hệ điều hành, đồng thời chia sẻ tài liệu học tập (Notion·PDF) và mã nguồn dự án.
이 강의만 들으면 백엔드 개발자가 되나요?
Khóa học này là Lv.1 (Nhập môn) trong lộ trình phát triển Backend. Lộ trình tiếp nối từ Lv.0 Cơ bản về DB → Lv.1 Nhập môn Spring Boot (khóa học này) → Lv.2 Chinh phục hoàn toàn JPA → Lv.3 Triển khai → Lv.5~6 Kiến trúc · Thực chiến.
Đừng chỉ gõ theo, hãy trực tiếp trải nghiệm và giải thích nó.
Nếu chỉ học ‘làm thế nào’ thì bạn sẽ bị tắc nghẽn trước câu hỏi "tại sao?" khi phỏng vấn. Phải trải qua nỗi đau của 30 dòng mã Java thuần túy thì mới thấy được sự vĩ đại của 7 dòng mã Spring Boot. Chính trải nghiệm này sẽ tạo nên câu trả lời bắt đầu bằng: "Tôi đã trực tiếp trải nghiệm điều đó và..."
Khuyến nghị cho
những người này
Khóa học này dành cho ai?
Những người đã biết cơ bản về Java (if, for, class) nhưng vẫn thấy việc xây dựng 'server' bằng những kiến thức này thật mơ hồ.
Những bạn làm theo YouTube thì code chạy được, nhưng đến lúc phỏng vấn lại không giải thích được.
Ứng viên mới lo sợ trước yêu cầu "Ưu tiên người có kinh nghiệm Spring Boot, JPA" trong thông báo tuyển dụng
Những người đã đọc sách Spring Boot nhưng chưa thể áp dụng vào thực tế
Những người đã hoàn thành bootcamp lập trình nhưng chỉ biết "làm thế nào" mà không biết "tại sao"
Cần biết trước khi bắt đầu?
Trình độ cú pháp Java cơ bản (Chỉ cần bạn đã học qua khoảng một khóa học nhập môn Java là đủ)
Kiến thức về cơ sở dữ liệu (Cung cấp tài liệu học tập miễn phí khi tham gia sự kiện đánh giá khóa học!)
Xin chào
Đây là dingcodingco
Xác minh Inflearn
Xác minh sự nghiệp
17,752
Học viên
1,803
Đánh giá
345
Trả lời
4.9
Xếp hạng
21
Các khóa học
🚀 Từng làm việc tại Toss, tốt nghiệp POSTECH | Nhà phát triển Backend hiện tại (+8 năm)
🎥 YouTuber 20.000 người đăng ký | Sản xuất nội dung về lập trình
📚 Giảng viên Inflearn | Tổng số học viên 15.000+
👥 Đang vận hành cộng đồng tuyển dụng lập trình viên (8.000+)
🧩 Người đóng góp (Contributor) cho nhiều dự án mã nguồn mở (Gradle, Spring AI, v.v.)
📝 Kinh nghiệm vượt qua vòng hồ sơ tại 38 công ty và hơn 100 lần chỉnh sửa CV trên Kmong (Đánh giá 5.0 sao)
Tôi truyền đạt những thông tin thực tế từ ngành công nghiệp một cách dễ hiểu và có tính diễn dịch.
I deliver vivid, real-world industry insights in an easy-to-understand and deductive manner.
Chương trình giảng dạy
Tất cả
42 bài giảng ∙ (9giờ 58phút)
Đánh giá
Tất cả
56 đánh giá
5.0
56 đánh giá
kmk8422Đánh giá 2
∙
Đánh giá trung bình 5.0
minjirj1693Đánh giá 1
∙
Đánh giá trung bình 5.0
domybestĐánh giá 5
∙
Đánh giá trung bình 4.8
lich11158962Đánh giá 2
∙
Đánh giá trung bình 5.0
5
33% đã tham giaĐây là khóa học mà tôi đã tham gia một cách khá "cưỡng ép" (?) do công ty đột ngột chuyển sang dùng Spring, nhưng kết quả là nếu không học thì đúng là một sai lầm lớn. Tôi không hẳn là người mới bắt đầu hoàn toàn với Backend, vì đã có kinh nghiệm sử dụng NestJS trước đó nên tôi từng lo lắng không biết Spring có quá nặng nề hay gò bó không. Thế nhưng, nỗi lo đó đã tan biến ngay từ bài giảng đầu tiên. Luồng kiến thức từ triết lý của Spring đến cấu trúc và lý do tại sao nó được thiết kế như vậy quá mượt mà, khiến tôi không biết bao nhiêu lần phải thốt lên "À, hóa ra đây là lý do Spring được sử dụng". Khóa học không chỉ liệt kê cú pháp đơn thuần mà còn rèn luyện tư duy thực tế và nền tảng cơ bản một cách bài bản, nên với một người từng dùng Nest như tôi, việc vừa học vừa so sánh giúp hiểu vấn đề cực kỳ nhanh. Tôi có thể tự tin khẳng định rằng, không chỉ những người mới bắt đầu với Spring, mà cả những người đã có kinh nghiệm với các framework khác nhưng chưa từng học Spring một cách bài bản như tôi, nỗi sợ mơ hồ về Spring sẽ hoàn toàn biến mất sau khóa học này. Thật sự khó có thể tìm được một khóa học nào tốt hơn thế này để củng cố nền tảng vững chắc.
- sasas
Đánh giá 100
∙
Đánh giá trung bình 5.0
Khóa học khác của dingcodingco
Hãy khám phá các khóa học khác của giảng viên!
Khóa học tương tự
Khám phá các khóa học khác trong cùng lĩnh vực!






![[Phiên bản sửa đổi 2023-11-27] Phát triển RESTful Web Services bằng Spring Boot 3.xHình thu nhỏ khóa học](https://cdn.inflearn.com/public/courses/325065/cover/43d3072a-4402-45a6-b5ee-332f53a4b75f/325065-eng-b.png?w=420)




