Data Engineering

SQL ขั้นสูงสำหรับ Data Engineering

Window functions, CTE แบบ recursive, การสืบค้นเชิงวิเคราะห์, การปรับแต่งประสิทธิภาพ, EXPLAIN ANALYZE, การทำดัชนี, การแบ่งพาร์ติชัน

20 คำถามสัมภาษณ์·
Mid-Level
1

Window function ใดที่กำหนดหมายเลขลำดับที่ไม่ซ้ำให้กับแต่ละแถวภายในพาร์ติชัน?

คำตอบ

ROW_NUMBER() กำหนดหมายเลขลำดับที่ไม่ซ้ำให้กับแต่ละแถวภายในพาร์ติชัน โดยเริ่มจาก 1 ต่างจาก RANK() และ DENSE_RANK() ที่สามารถกำหนดหมายเลขเดียวกันให้กับค่าที่เท่ากัน ROW_NUMBER() รับประกันหมายเลขที่ไม่ซ้ำเสมอ แม้กระทั่งสำหรับค่าที่เหมือนกันในคำสั่ง ORDER BY

2

ความแตกต่างหลักระหว่าง RANK() และ DENSE_RANK() คืออะไร?

คำตอบ

RANK() เว้นช่องว่างในการนับหมายเลขหลังจากค่าที่เสมอกัน ตัวอย่างเช่น หากสองแถวได้อันดับ 1 แถวถัดไปจะได้อันดับ 3 DENSE_RANK() ไม่เว้นช่องว่าง: หลังจากสองแถวที่ได้อันดับ 1 แถวถัดไปจะได้อันดับ 2 ความแตกต่างนี้สำคัญสำหรับการวิเคราะห์การจัดอันดับที่ช่องว่างอาจทำให้สถิติผิดเพี้ยน

3

วิธีคำนวณยอดรวมสะสม (running total) ด้วย window function อย่างไร?

คำตอบ

SUM() OVER ที่มี ORDER BY และไม่มี frame ที่ชัดเจนจะใช้ ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW เป็นค่าเริ่มต้น ซึ่งคำนวณผลรวมของแถวก่อนหน้าทั้งหมดจนถึงและรวมแถวปัจจุบัน นี่เป็นพฤติกรรมมาตรฐานสำหรับการสร้างยอดรวมสะสมในการวิเคราะห์อนุกรมเวลาหรือตามลำดับ

4

บทบาทของคำสั่ง PARTITION BY ใน window function คืออะไร?

5

ฟังก์ชันใดที่อนุญาตให้เข้าถึงค่าของแถวก่อนหน้าใน window function?

+17 คำถามสัมภาษณ์

หัวข้อสัมภาษณ์ Data Engineering อื่นๆ

Linux & Shell - พื้นฐาน

Junior
20 คำถาม

Git & GitHub - พื้นฐาน

Junior
20 คำถาม

Python ขั้นสูงสำหรับ Data Engineering

Junior
25 คำถาม

Docker - พื้นฐาน

Junior
25 คำถาม

Google Cloud Platform - พื้นฐาน

Junior
20 คำถาม

CI/CD และคุณภาพโค้ด

Mid-Level
20 คำถาม

Docker Compose

Mid-Level
20 คำถาม

FastAPI - Data API

Mid-Level
20 คำถาม

Data Lake - สถาปัตยกรรมและการนำเข้าข้อมูล

Mid-Level
20 คำถาม

BigQuery สำหรับ Data Engineering

Mid-Level
20 คำถาม

PostgreSQL - การดูแลระบบ

Mid-Level
20 คำถาม

Data Modeling สำหรับ Data Engineering

Mid-Level
20 คำถาม

Fivetran & Airbyte - การนำเข้าข้อมูล

Mid-Level
20 คำถาม

dbt - พื้นฐาน

Mid-Level
20 คำถาม

Apache Airflow - พื้นฐาน

Mid-Level
20 คำถาม

Kubernetes - พื้นฐาน

Mid-Level
20 คำถาม

dbt - ฟีเจอร์ขั้นสูง

Senior
20 คำถาม

รูปแบบ ETL / ELT / ETLT

Senior
20 คำถาม

Apache Airflow - ขั้นสูง

Senior
20 คำถาม

Airflow + dbt - การจัดการ Pipeline

Senior
20 คำถาม

PySpark - การประมวลผลขนาดใหญ่

Senior
20 คำถาม

Google Pub/Sub - การสตรีมข้อมูล

Senior
20 คำถาม

Apache Beam & Dataflow

Senior
20 คำถาม

Kubernetes - Production และ Scaling

Senior
20 คำถาม

Terraform - Infrastructure as Code

Senior
20 คำถาม

ฐานข้อมูล NoSQL

Senior
20 คำถาม

Data Architecture สมัยใหม่

Senior
20 คำถาม

การมอนิเตอร์และการสังเกตการณ์

Senior
20 คำถาม

IAM และความปลอดภัยของข้อมูล

Senior
20 คำถาม

เชี่ยวชาญ Data Engineering สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี