Skip to content

Video Số 159: Ngày đầu mở bán vé TÀU - Hệ thống api sập

Hướng dẫn học tập và phỏng vấn Java

Lưu ý khi sử dụng tài liệu này:

  • Các nhà phỏng vấn có kinh nghiệm sẽ khai thác kiến thức kỹ thuật dựa trên kinh nghiệm dự án của bạn. Đừng chỉ học thuộc lòng tài liệu, hãy cố gắng hiểu sâu sắc các khái niệm và ứng dụng thực tế.

Hãy ủng hộ Cộng đồng văn minh Tips Javascript:

  • Nếu bạn thấy nội dung của này hữu ích, hãy dành tặng một Star, đây là sự động viên lớn nhất đối với chúng tôi.
  • Cảm ơn các bạn đã đồng hành và cùng nhau cố gắng nhé!
  • Truy cập GitHub để xem và ủng hộ dự án.
  • Link từng Step sẽ update liên tục

Java

Cơ bản

Tổng hợp các chủ đề kiến thức/câu hỏi phỏng vấn:

Giải thích chi tiết các điểm kiến thức quan trọng:

Bộ sưu tập (Collections)

Tổng hợp các điểm kiến thức/câu hỏi phỏng vấn:

Phân tích mã nguồn:

IO

Tính đồng thời (Concurrency)

Tổng hợp các điểm kiến thức/câu hỏi phỏng vấn:

Giải thích chi tiết các điểm kiến thức quan trọng:

JVM

Các tính năng mới

Kiến thức máy tính cơ bản

Hệ điều hành

Mạng

Tổng hợp các điểm kiến thức/câu hỏi phỏng vấn:

Giải thích chi tiết các chủ điểm kiến thức quan trọng:

Cấu trúc dữ liệu

Minh họa cấu trúc dữ liệu:

Các cấu trúc dữ liệu thường được sử dụng khác:

Thuật toán

Phần nội dung về thuật toán rất quan trọng, nếu bạn không biết cách học thuật toán, hãy xem những gì tôi đã viết:

Tổng hợp các vấn đề thuật toán phổ biến:

Ngoài ra, trang web GeeksforGeeks đã tổng hợp các thuật toán phổ biến, khá toàn diện và có hệ thống.

Cơ sở dữ liệu

Cơ bản

MySQL

Tổng hợp các điểm kiến thức/câu hỏi phỏng vấn:

Các điểm kiến thức quan trọng:

Redis

Tổng hợp các điểm kiến thức/câu hỏi phỏng vấn:

Các điểm kiến thức quan trọng:

MongoDB

Công cụ tìm kiếm

Tổng hợp các câu hỏi phỏng vấn về Elasticsearch

Công cụ phát triển

Maven

Gradle

Tổng hợp các khái niệm cốt lõi về Gradle

Docker

Git

Thiết kế hệ thống

Frameworks

Spring/SpringBoot

Tổng hợp các điểm kiến thức/câu hỏi phỏng vấn:

Giải thích chi tiết các điểm kiến thức quan trọng:

MyBatis

Tổng hợp các câu hỏi phỏng vấn về MyBatis

Security

Authentication and Authorization

Data Desensitization

Tách biệt dữ liệu nhạy cảm đề cập đến việc biến đổi dữ liệu thông tin nhạy cảm theo các quy tắc cụ thể, chẳng hạn như thay thế một số chữ số trong số điện thoại, số chứng minh nhân dân bằng * để thay thế.

Sensitive Word Filtering

Tổng hợp các giải pháp lọc từ ngữ nhạy cảm

Scheduled Tasks

Giải thích về nhiệm vụ định kỳ của Java

Web Real-Time Message Push

Giải thích về đẩy thông báo thời gian thực trên Web

Distributed Systems

Lý thuyết & thuật toán & giao thức

RPC

ZooKeeper

API Gateway

Distributed ID

Distributed Lock

Distributed Transactions

Tổng hợp các điểm kiến thức và câu hỏi phỏng vấn về giao dịch phân tán

High Performance

Tối ưu hóa cơ sở dữ liệu

Load Balancing

Tổng hợp các điểm kiến thức và câu hỏi phỏng vấn về cân bằng tải

CDN

Tổng hợp các điểm kiến thức và câu hỏi phỏng vấn về CDN (Mạng phân phối nội dung)

Message Queues

High Availability

Hướng dẫn thiết kế hệ thống khả dụng cao

Redundancy Design

Giải thích về thiết kế dự phòng

Rate Limiting

Giải thích về giới hạn lưu lượng dịch vụ

Timeout & Retry

Giải thích về hết thời gian chờ & thử lại

Clustering

Triển khai nhiều bản sao của cùng một dịch vụ để tránh lỗi đơn điểm.

Disaster Recovery Design and Multi-Active in Different Locations

Disaster Recovery = Disaster Tolerance + Backup.

  • Backup: Sao lưu nhiều bản sao cho tất cả dữ liệu quan trọng do hệ thống tạo ra.
  • Disaster Tolerance: Xây dựng hai hệ thống hoàn toàn giống nhau ở các địa điểm khác nhau. Khi hệ thống ở một địa điểm bị treo đột ngột, toàn bộ hệ thống ứng dụng có thể chuyển sang địa điểm khác, do đó hệ thống có thể tiếp tục cung cấp dịch vụ bình thường.

Released under the MIT License.