# SQL nâng cao cho Data Engineering (Data Engineering) > Window functions, CTE đệ quy, truy vấn phân tích, tối ưu hóa, EXPLAIN ANALYZE, lập chỉ mục, phân vùng - 20 câu hỏi phỏng vấn - Mid-Level - [Câu hỏi phỏng vấn: Data Engineering](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van.md) ## 1. Window function nào gán một số thứ tự duy nhất cho mỗi hàng trong một phân vùng? **Câu trả lời** ROW_NUMBER() gán một số thứ tự duy nhất cho mỗi hàng trong một phân vùng, bắt đầu từ 1. Không giống như RANK() và DENSE_RANK() có thể gán cùng một số cho các giá trị bằng nhau, ROW_NUMBER() luôn đảm bảo các số duy nhất, ngay cả với các giá trị giống hệt nhau trong mệnh đề ORDER BY. ## 2. Sự khác biệt chính giữa RANK() và DENSE_RANK() là gì? **Câu trả lời** RANK() để lại các khoảng trống trong việc đánh số sau các giá trị trùng nhau. Ví dụ, nếu hai hàng được xếp hạng 1, hàng tiếp theo sẽ được xếp hạng 3. DENSE_RANK() không để lại khoảng trống: sau hai hàng xếp hạng 1, hàng tiếp theo sẽ được xếp hạng 2. Sự khác biệt này quan trọng đối với các phân tích xếp hạng, nơi các khoảng trống có thể làm sai lệch số liệu thống kê. ## 3. Làm thế nào để tính tổng tích lũy (running total) với window function? **Câu trả lời** SUM() OVER với ORDER BY và không có frame rõ ràng sử dụng mặc định ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW, tính tổng tất cả các hàng trước đó cho đến và bao gồm hàng hiện tại. Đây là hành vi tiêu chuẩn để tạo tổng tích lũy trong phân tích chuỗi thời gian hoặc tuần tự. ## Còn 17 câu hỏi nữa - Vai trò của mệnh đề PARTITION BY trong window function là gì? - Hàm nào cho phép truy cập giá trị của hàng trước đó trong window function? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Data Engineering khác - [Linux & Shell - Cơ bản](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/linux-shell-basics.md): 20 câu hỏi, Junior - [Git & GitHub - Kiến thức cơ bản](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/git-github-fundamentals.md): 20 câu hỏi, Junior - [Python nâng cao cho Data Engineering](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/python-advanced-de.md): 25 câu hỏi, Junior - [Docker - Cơ bản](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/docker-fundamentals.md): 25 câu hỏi, Junior - [Google Cloud Platform - Cơ bản](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/gcp-fundamentals.md): 20 câu hỏi, Junior - [CI/CD và chất lượng mã](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/ci-cd-code-quality.md): 20 câu hỏi, Mid-Level - [Docker Compose](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/docker-compose.md): 20 câu hỏi, Mid-Level - [FastAPI - API dữ liệu](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/fastapi.md): 20 câu hỏi, Mid-Level - [Data Lake - Kiến trúc và nạp dữ liệu](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/data-lake.md): 20 câu hỏi, Mid-Level - [BigQuery cho Data Engineering](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/bigquery-de.md): 20 câu hỏi, Mid-Level - [PostgreSQL - Quản trị](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/postgresql-admin.md): 20 câu hỏi, Mid-Level - [Data Modeling cho Data Engineering](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/data-modeling-de.md): 20 câu hỏi, Mid-Level - [Fivetran & Airbyte - Nạp dữ liệu](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/fivetran-airbyte.md): 20 câu hỏi, Mid-Level - [dbt - Kiến thức cơ bản](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/dbt-fundamentals-de.md): 20 câu hỏi, Mid-Level - [Apache Airflow - Cơ bản](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/airflow-fundamentals.md): 20 câu hỏi, Mid-Level - [Kubernetes - Cơ Bản](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/kubernetes-fundamentals.md): 20 câu hỏi, Mid-Level - [dbt - Tính năng nâng cao](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/dbt-advanced-de.md): 20 câu hỏi, Senior - [Mẫu ETL / ELT / ETLT](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/etl-elt-patterns.md): 20 câu hỏi, Senior - [Apache Airflow - Nâng cao](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/airflow-advanced.md): 20 câu hỏi, Senior - [Airflow + dbt - Điều phối pipeline](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/airflow-dbt-integration.md): 20 câu hỏi, Senior - [PySpark - Xử lý quy mô lớn](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/pyspark.md): 20 câu hỏi, Senior - [Google Pub/Sub - Streaming dữ liệu](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/pubsub-streaming.md): 20 câu hỏi, Senior - [Apache Beam & Dataflow](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/apache-beam-dataflow.md): 20 câu hỏi, Senior - [Kubernetes - Production và Scaling](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/kubernetes-advanced.md): 20 câu hỏi, Senior - [Terraform - Infrastructure as Code](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/terraform.md): 20 câu hỏi, Senior - [Cơ sở dữ liệu NoSQL](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/nosql-databases.md): 20 câu hỏi, Senior - [Data Architecture hiện đại](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/data-architecture.md): 20 câu hỏi, Senior - [Giám sát và Khả năng quan sát](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/monitoring-observability.md): 20 câu hỏi, Senior - [IAM và Bảo mật Dữ liệu](https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/iam-security-de.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/data-engineering/cau-hoi-phong-van/sql-advanced-de