Kiến Thức Database - Chuẩn Bị Phỏng Vấn

📋 Tổng Quan

Repository này tập hợp kiến thức toàn diện về các hệ quản trị cơ sở dữ liệu, được thiết kế đặc biệt cho việc chuẩn bị phỏng vấn kỹ thuật.

🏗️ Cấu Trúc Thư Mục

1. SQL Databases (Relational)

sql-databases/
├── mysql/
├── postgresql/
├── oracle/
└── sql-server/

2. NoSQL Databases

nosql-databases/
├── document-stores/
│   ├── mongodb/
│   └── couchdb/
├── key-value/
│   ├── redis/
│   └── dynamodb/
├── column-family/
│   ├── cassandra/
│   └── hbase/
└── graph/
    ├── neo4j/
    └── arangodb/

3. NewSQL & Distributed

newsql-distributed/
├── cockroachdb/
├── tidb/
└── vitess/

4. Specialized Databases

specialized/
├── time-series/
│   ├── influxdb/
│   └── timescaledb/
├── search-engines/
│   ├── elasticsearch/
│   └── solr/
└── in-memory/
    ├── memcached/
    └── hazelcast/

5. Database Concepts & Theory

concepts/
├── acid-properties/
├── cap-theorem/
├── consistency-models/
├── transaction-isolation/
├── indexing-strategies/
├── query-optimization/
├── backup-recovery/
└── scaling-patterns/

6. Interview Preparation

interview-prep/
├── common-questions/
├── system-design-questions/
├── performance-scenarios/
├── troubleshooting-cases/
└── coding-challenges/

📚 Cách Sử Dụng

Cho Người Mới Bắt Đầu

  1. Bắt đầu với concepts/ để hiểu lý thuyết cơ bản
  2. Học SQL databases trước (MySQL/PostgreSQL)
  3. Tiến tới NoSQL khi đã vững SQL
  4. Cuối cùng là specialized databases

Cho Phỏng Vấn

  1. Ôn tập interview-prep/common-questions/
  2. Làm bài tập trong interview-prep/coding-challenges/
  3. Học các scenario thực tế trong từng database
  4. Chuẩn bị system design với database scaling

🎯 Mục Tiêu Học Tập

Knowledge Level 1: Cơ Bản

  • [ ] Hiểu ACID properties
  • [ ] Biết SQL cơ bản (CRUD, JOIN)
  • [ ] Phân biệt SQL vs NoSQL
  • [ ] Hiểu indexing cơ bản

Knowledge Level 2: Trung Cấp

  • [ ] Optimizing queries
  • [ ] Database design & normalization
  • [ ] Transactions & isolation levels
  • [ ] Backup & recovery strategies
  • [ ] Biết ít nhất 2 loại NoSQL

Knowledge Level 3: Nâng Cao

  • [ ] Database sharding & partitioning
  • [ ] CAP theorem applications
  • [ ] Multi-master replication
  • [ ] Database monitoring & troubleshooting
  • [ ] Microservices data patterns

🚀 Lộ Trình Học Tập 30 Ngày

Tuần 1: SQL Fundamentals

  • Ngày 1-2: SQL basics & MySQL
  • Ngày 3-4: PostgreSQL & advanced queries
  • Ngày 5-7: Indexing & query optimization

Tuần 2: NoSQL Exploration

  • Ngày 8-10: MongoDB (Document store)
  • Ngày 11-12: Redis (Key-value)
  • Ngày 13-14: Cassandra (Column-family)

Tuần 3: Advanced Topics

  • Ngày 15-17: Database scaling patterns
  • Ngày 18-19: CAP theorem & consistency
  • Ngày 20-21: Performance tuning

Tuần 4: Interview Preparation

  • Ngày 22-24: Common interview questions
  • Ngày 25-26: System design scenarios
  • Ngày 27-28: Coding challenges
  • Ngày 29-30: Mock interviews & review

📖 Tài Liệu Tham Khảo

  • Database System Concepts (Silberschatz)
  • Designing Data-Intensive Applications (Martin Kleppmann)
  • High Performance MySQL
  • MongoDB: The Definitive Guide
  • Redis in Action

Cập nhật lần cuối: $(date)