KUNGFU TECH
7007 câu hỏi phỏng vấn Full-Stack, Coding & System Design Interview
Bộ lọc:
Làm sao để chọn đúng loại index (B-Tree, Hash, GiST, GIN) tùy theo loại truy vấn?
Bạn hiểu gì về query plan cache? Làm sao để tận dụng nó?
Làm sao để phát hiện và xử lý truy vấn N+1 ở cấp hệ thống database?
Làm sao để đảm bảo consistency khi chuyển dữ liệu giữa các môi trường staging và production?
Làm sao để thiết kế schema có khả năng mở rộng (scalable schema) trên hàng tỷ bản ghi?
Bạn từng triển khai multi-tenant database chưa? Chọn shared DB hay isolated DB? Vì sao?
Trong distributed transaction, bạn áp dụng 2-phase commit như thế nào?
Làm sao để thiết kế database cho workload hỗn hợp: transactional (OLTP) và analytical (OLAP)?
Bạn xử lý retry logic như thế nào để tránh race condition khi đồng bộ?
Bạn triển khai horizontal partitioning (sharding) như thế nào cho hệ thống database phân tán?
Làm sao để áp dụng columnar store database (ví dụ ClickHouse) cho workloads analytic?
Bạn giải thích thế nào về isolation level trong ACID? Khi nào nên dùng READ COMMITTED vs SERIALIZABLE?
Bạn dùng optimistic concurrency control khi nào? So sánh với pessimistic lock.
Trong hệ thống phân tán, CAP Theorem ảnh hưởng thế nào tới thiết kế database?
Làm sao để rollback một chuỗi thao tác liên bảng trong hệ thống lớn?
Khi thiết kế database cho ứng dụng toàn cầu (multi-region), bạn chọn synchronous hay eventual consistency?
Tại sao nhiều index có thể làm chậm INSERT/UPDATE/DELETE? Cách khắc phục?
Làm sao để thiết kế schema giúp tận dụng hiệu quả index covering?
Khi bảng có hàng tỷ dòng, bạn tổ chức partitioning như thế nào? Range hay List?
Làm sao để đảm bảo idempotency cho các thao tác ghi dữ liệu nhiều lần?
Bạn từng xử lý transaction conflict hoặc deadlock chưa? Chiến lược giải quyết là gì?
Làm sao để duy trì tính toàn vẹn dữ liệu (data integrity) khi dữ liệu được sharded theo nhiều nút?
Làm sao để xử lý dynamic schema khi dữ liệu thay đổi thường xuyên (ví dụ: JSONB trong PostgreSQL)?
Khi truy vấn bị chậm, bạn dùng EXPLAIN ANALYZE như thế nào để tối ưu?
Khi nào nên dùng composite index? Có nhược điểm gì không?
Làm sao để thực hiện dữ liệu audit và change history (CDC) ở mức schema?
Trong xây dựng hệ thống database lớn, bạn chọn giữa SQL và NoSQL như thế nào? Ưu/nhược từng loại?
Trong kiến trúc hệ thống lớn, bạn phân biệt read replica và write replica như thế nào?
Trong hệ thống database lớn, bạn xử lý index bloat như thế nào?
Trong môi trường đa node, bạn đảm bảo atomicity thế nào khi có sự cố giữa chừng?
Bạn có chiến lược nào để backup dữ liệu ter...
WAL (Write Ahead Log) hoạt động th...
Trong hệ thống compliance (ví dụ GDPR, HIPAA...
Những chỉ số (metrics) nào bạn cần mo...
Làm sao để phát hiện sớm bottleneck ...
Làm sao để CI/CD hệ thống migration ...
Làm sao để thiết kế replication phù hợp giữa...
Bạn từng dùng logical replication hay ...
Trong tình huống database primary node...
Khi restore dữ liệu từ snapshot, bạn...
Bạn có từng triển khai row-level ...
Khi làm việc với microservices, bạn tổ chức schema n...
Làm sao để kiểm soát dữ liệu cũ, expi...
Làm sao để làm hot standby mà không ...
Bạn sử dụng công cụ gì để benchmark và str...
Khi hệ thống lưu trữ cloud bị gián đoạ...
Làm sao để encrypt dữ liệu nhạy cả...
Làm sao để audit query log trong môi tr...
Bạn có từng thiết kế active-active databas...
Làm sao để kiểm soát quyền truy cập cho...