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
- Bắt đầu với
concepts/để hiểu lý thuyết cơ bản - Học SQL databases trước (MySQL/PostgreSQL)
- Tiến tới NoSQL khi đã vững SQL
- Cuối cùng là specialized databases
Cho Phỏng Vấn
- Ôn tập
interview-prep/common-questions/ - Làm bài tập trong
interview-prep/coding-challenges/ - Học các scenario thực tế trong từng database
- 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)