# SQL avancé pour le Data Engineering (Data Engineering) > Window functions, CTEs récursives, requêtes analytiques, optimisation, EXPLAIN ANALYZE, indexation, partitionnement - 20 questions d'entretien - Confirmé - [Questions d'entretien: Data Engineering](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien.md) ## 1. Quelle window function permet d'attribuer un numéro séquentiel unique à chaque ligne d'une partition ? **Réponse** ROW_NUMBER() attribue un numéro séquentiel unique à chaque ligne dans une partition, en commençant par 1. Contrairement à RANK() et DENSE_RANK() qui peuvent attribuer le même numéro à des valeurs égales, ROW_NUMBER() garantit toujours des numéros uniques, même pour des valeurs identiques dans l'ORDER BY. ## 2. Quelle est la différence principale entre RANK() et DENSE_RANK() ? **Réponse** RANK() laisse des trous dans la numérotation après des valeurs ex aequo. Par exemple, si deux lignes sont classées 1, la suivante sera classée 3. DENSE_RANK() ne laisse pas de trous : après deux lignes classées 1, la suivante sera classée 2. Cette distinction est importante pour les analyses de classement où les gaps peuvent fausser les statistiques. ## 3. Comment calculer une somme cumulative (running total) avec une window function ? **Réponse** SUM() OVER avec ORDER BY sans bornes explicites utilise par défaut ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW, ce qui calcule la somme de toutes les lignes précédentes jusqu'à la ligne courante incluse. C'est le comportement standard pour créer des totaux cumulatifs dans les analyses temporelles ou séquentielles. ## 17 questions supplémentaires disponibles - Quel est le rôle de la clause PARTITION BY dans une window function ? - Quelle fonction permet d'accéder à la valeur de la ligne précédente dans une window function ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien Data Engineering - [Linux & Shell - Fondamentaux](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/linux-shell-basics.md): 20 questions, Junior - [Git & GitHub - Fondamentaux](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/git-github-fundamentals.md): 20 questions, Junior - [Python avancé pour le Data Engineering](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/python-advanced-de.md): 25 questions, Junior - [Docker - Fondamentaux](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/docker-fundamentals.md): 25 questions, Junior - [Google Cloud Platform - Fondamentaux](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/gcp-fundamentals.md): 20 questions, Junior - [CI/CD et qualité de code](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/ci-cd-code-quality.md): 20 questions, Confirmé - [Docker Compose](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/docker-compose.md): 20 questions, Confirmé - [FastAPI - APIs de données](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/fastapi.md): 20 questions, Confirmé - [Data Lake - Architecture et ingestion](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/data-lake.md): 20 questions, Confirmé - [BigQuery pour le Data Engineering](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/bigquery-de.md): 20 questions, Confirmé - [PostgreSQL - Administration](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/postgresql-admin.md): 20 questions, Confirmé - [Data Modeling pour le Data Engineering](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/data-modeling-de.md): 20 questions, Confirmé - [Fivetran & Airbyte - Ingestion de données](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/fivetran-airbyte.md): 20 questions, Confirmé - [dbt - Fondamentaux](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/dbt-fundamentals-de.md): 20 questions, Confirmé - [Apache Airflow - Fondamentaux](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/airflow-fundamentals.md): 20 questions, Confirmé - [Kubernetes - Fondamentaux](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/kubernetes-fundamentals.md): 20 questions, Confirmé - [dbt - Fonctionnalités avancées](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/dbt-advanced-de.md): 20 questions, Senior - [Patterns ETL / ELT / ETLT](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/etl-elt-patterns.md): 20 questions, Senior - [Apache Airflow - Avancé](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/airflow-advanced.md): 20 questions, Senior - [Airflow + dbt - Orchestration de pipelines](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/airflow-dbt-integration.md): 20 questions, Senior - [PySpark - Traitement à grande échelle](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/pyspark.md): 20 questions, Senior - [Google Pub/Sub - Streaming de données](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/pubsub-streaming.md): 20 questions, Senior - [Apache Beam & Dataflow](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/apache-beam-dataflow.md): 20 questions, Senior - [Kubernetes - Production et scaling](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/kubernetes-advanced.md): 20 questions, Senior - [Terraform - Infrastructure as Code](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/terraform.md): 20 questions, Senior - [Bases de données NoSQL](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/nosql-databases.md): 20 questions, Senior - [Architecture Data moderne](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/data-architecture.md): 20 questions, Senior - [Monitoring et observabilité](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/monitoring-observability.md): 20 questions, Senior - [IAM et sécurité des données](https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/iam-security-de.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/data-engineering/questions-entretien/sql-advanced-de