Các câu hỏi phỏng vấn liên quan đến Netty là nội dung độc quyền dành cho Knowledge Planet của tôi (nhấp vào link để xem giới thiệu chi tiết và cách tham gia), đã được tổng hợp vào "Java Interview Guide".
- Java80
- Database46
- Computer Basics36
- System Design16
- AI15
- Phát triển ứng dụng AI14
- Computer Science Basics14
- Distributed13
- Framework13
- Công cụ phát triển11
- Tuyển tập bài viết kỹ thuật11
- Knowledge Planet10
- AI Coding thực chiến10
- Đến gần tác giả9
- High Performance9
- High Availability8
- Chuẩn bị phỏng vấn8
- AI Application Development8
- Tuyển tập bài viết kỹ thuật chọn lọc8
- Distributed Systems6
- Lộ trình học6
- Computer Fundamentals6
- Tuyển tập bài viết kỹ thuật chất lượng cao6
- Hệ thống phân tán5
- Dự án mã nguồn mở5
- Sách máy tính4
- Tìm hiểu dự án4
- Chất lượng code4
- Hiệu năng cao3
- AI Coding Principles3
- Cơ sở máy tính3
- Kiến thức cơ bản về máy tính3
- Interview Preparation2
- Dự án open source2
- AI application development2
- Thực chiến AI Coding2
- Kỹ thuật AI Coding2
- Kiến thức máy tính cơ bản2
- Phân tán2
- Distributed system2
- Performance cao2
- System design2
- Về tác giả1
- Lập trình AI1
- Sách Computer1
- Sách Computer Science1
- Computer Books1
- High availability1
- High-performance1
- Hành trình lập trình1
- Làm quen với dự án1
- Open-source Projects1
- Java Interview Guide1
- Kỹ thuật lập trình AI1
- AI coding thực chiến1
- Thực hành lập trình AI1
- Thực chiến AI coding1
- AI coding1
- AI Coding1
- AI Programming Principles1
- Nguyên lý AI coding1
- Lập trình AI thực chiến1
- CS Basics1
- Kiến thức máy tính1
- Kiến thức cơ sở máy tính1
- Bộ sưu tập bài viết kỹ thuật đặc sắc1
Bài viết này ban đầu được tổng hợp từ tài liệu trên Internet, không thể xác nhận nguồn gốc ban đầu. Lần viết lại này chủ yếu dựa trên tài liệu chính thức của MyBatis 3.5.x và MyBatis-Spring, đồng thời bổ sung các câu hỏi thường gặp về cache, batch processing, Spring transaction và xử lý result set lớn.
Annotation @Async do framework Spring cung cấp. Class hoặc method được đánh dấu bằng annotation này sẽ được thực thi trong thread bất đồng bộ. Điều đó có nghĩa là khi method được gọi, caller sẽ không chờ method thực thi xong mà có thể tiếp tục thực thi code phía sau.
Spring là một trong những infrastructure cốt lõi nhất của Java backend. Học Spring không nên chỉ học thuộc annotation, mà còn phải hiểu IoC, AOP, Bean lifecycle, transaction, auto-configuration, design pattern và các extension point thường gặp.
Spring Boot tiếp tục tích hợp configuration, dependency management, auto-configuration và năng lực observability trong production, giúp phát triển application nhanh hơn nhưng cũng dễ khiến người học bỏ qua nguyên lý bên trong.
Annotation @Async do framework Spring cung cấp. Class hoặc method được đánh dấu bằng annotation này sẽ thực thi trong thread bất đồng bộ. Điều đó có nghĩa là khi method được gọi, caller sẽ không chờ method thực thi xong mà có thể tiếp tục thực thi code phía sau.
Bài viết này sẽ giải thích IoC & AOP dựa trên các câu hỏi sau:
- IoC là gì?
- IoC giải quyết vấn đề gì?
- IoC và DI khác nhau thế nào?
- AOP là gì?
- AOP giải quyết vấn đề gì?
- AOP có những trường hợp sử dụng nào?
- Vì sao AOP được gọi là lập trình hướng aspect?
- Có những cách nào để triển khai AOP?
Tác giả: Miki-byte-1024 & Snailclimb
Mỗi khi được hỏi về Spring Boot, interviewer thường rất thích hỏi câu này: “Hãy trình bày nguyên lý auto-configuration của Spring Boot?”.
Không hề quá lời khi nói rằng các annotation Spring/Spring Boot thường dùng được giới thiệu trong bài viết này đã bao quát phần lớn các trường hợp thường gặp trong công việc. Với mỗi annotation, bài viết đều cung cấp cách sử dụng cụ thể. Nắm vững những nội dung này thì về cơ bản bạn sẽ không gặp vấn đề lớn khi dùng Spring Boot để phát triển dự án!
“JDK sử dụng những design pattern nào? Spring sử dụng những design pattern nào?” là hai câu hỏi khá thường gặp trong phỏng vấn.
Tôi đã tìm kiếm trên Internet một thời gian và nhận thấy các bài giải thích về design pattern trong Spring gần như đều giống nhau, hơn nữa phần lớn đã khá cũ. Vì vậy, tôi đã dành vài ngày để tự tổng hợp lại.
Bài viết này chủ yếu muốn giúp bạn hiểu sâu hơn về Spring thông qua một số câu hỏi, vì vậy sẽ không đề cập quá nhiều đến code!
Nhiều câu hỏi dưới đây tôi cũng không chú ý trong quá trình sử dụng Spring, mà phải tạm thời tra cứu nhiều tài liệu và sách để bổ sung. Trên Internet cũng có nhiều bài tổng hợp câu hỏi thường gặp/câu hỏi phỏng vấn Spring, nhưng tôi thấy phần lớn sao chép lẫn nhau, nhiều câu hỏi cũng chưa tốt và một số câu trả lời còn có vấn đề. Vì vậy, tôi đã dành một tuần ngoài giờ để tổng hợp lại, hy vọng bài viết có ích cho bạn.
