Bạn sắp có buổi phỏng vấn quan trọng nhưng cảm thấy choáng ngợp với lượng kiến thức database khổng lồ? Đừng lo, bài viết này cung cấp kế hoạch ôn luyện 7 ngày được tối ưu hóa, giúp bạn đi thẳng vào trọng tâm và nắm chắc "key" kỹ thuật để ghi điểm tuyệt đối với nhà tuyển dụng.
Ngày 1-2: Xây dựng nền tảng SQL vững chắc
Đừng bắt đầu bằng việc cố nhớ mọi cú pháp. Hãy bắt đầu bằng cách hiểu rõ logic thực thi của một câu lệnh SQL. Đa số ứng viên thất bại vì không hiểu thứ tự xử lý dữ liệu (Logical Order of Operations).
Tập trung vào việc hiểu sự khác biệt giữa các kiểu JOINs (INNER, LEFT, RIGHT, FULL) và khi nào nên dùng cái nào. Thực hành viết truy vấn sử dụng Aggregation functions (SUM, COUNT, AVG) kết hợp với GROUP BY và HAVING.
- Nắm vững thứ tự thực thi: FROM -> JOIN -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY -> LIMIT.
- Phân biệt rõ ràng giữa WHERE (lọc dữ liệu trước khi gộp nhóm) và HAVING (lọc dữ liệu sau khi gộp nhóm).
- Luyện tập các bài tập trên LeetCode hoặc HackerRank (mức Easy/Medium) để làm quen với xử lý Null và Date/Time.
Ngày 3-4: Làm chủ truy vấn nâng cao và Window Functions
Sau khi đã vững cơ bản, đây là lúc bạn ghi điểm với người phỏng vấn. Các kỹ thuật như Common Table Expressions (CTEs) và Window Functions là thước đo sự khác biệt giữa Junior và Mid-level.
Đừng chỉ biết cách lấy dữ liệu, hãy biết cách lấy dữ liệu sạch và tối ưu.
- Window Functions: Nắm chắc cách dùng ROW_NUMBER(), RANK(), DENSE_RANK() để phân loại dữ liệu.
- CTEs: Sử dụng CTE để chia nhỏ các câu lệnh phức tạp, giúp code dễ đọc và bảo trì hơn thay vì dùng Subquery lồng nhau (Nested Queries).
- Xử lý dữ liệu trùng lặp (Deduplication) và chuyển đổi định dạng (Pivot/Unpivot) bằng SQL.
Ngày 5-6: Kiến trúc Database & Hiệu năng (Performance)
Đây là phần "xương sống" của các buổi phỏng vấn Senior. Bạn cần hiểu Database vận hành như thế nào dưới nắp capo thay vì chỉ biết viết câu lệnh SELECT.