لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش آمادهسازی برای مصاحبه مهندسی داده: SQL، اسپارک و طراحی سیستم
- آخرین آپدیت
دانلود Data Engineering Interview Prep: SQL, Spark & System Design
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
مفاهیم SQL، جزئیات داخلی Spark (شامل Shuffle، Skew، AQE)، طراحی سیستم و SCDها؛ یاد بگیرید چگونه مانند یک مهندس ارشد پاسخ دهید، نه مانند یک تازهکار که فقط مطالب را حفظ کرده است.
هرگونه تست SQL را — از توابع پنجرهای (Window Functions) و الگوهای Gaps-and-Islands گرفته تا Top-N-per-group — با اعتمادبهنفس و تحت فشار پاسخ دهید.
مکانیزمهای داخلی Spark (شامل shuffles، skew، AQE و broadcast joins) را بهگونهای توضیح دهید که گویی واقعاً آنها را در محیط عملیاتی (Production) دیباگ کردهاید.
یک انبار داده یا خط لوله استریمینگ (Streaming Pipeline) را روی تخته سفید با استفاده از یک چارچوب تکرارپذیر و قابل استفاده مجدد طراحی کنید.
اسکیمهای ابعادی و ابعاد با تغییر کند (SCD) را مدلسازی کرده و از انتخاب خود در مورد Grain دفاع کنید.
تشخیص دهید که «چرا این کوئری کند است؟» و مراحل بهینهسازی را گامبهگام برای مصاحبهکننده شرح دهید.
به سوالات مربوط به پلتفرمهای Snowflake و Databricks با جزئیات سطح عملیاتی پاسخ دهید.
پروژههای تکلیفی (Take-homes)، تستهای SQL زنده و مراحل کدنویسی/DSA را بدون استرس مدیریت کنید.
در بخشهای رفتاری و بررسی عمیق پروژهها، با استفاده از متد STAR، مالکیت و تجربه سطح ارشد خود را نشان دهید.
پیشنیازها: تقریباً ۱ تا ۳ سال تجربه عملی در مهندسی داده یا مهندسی تحلیل (ساخت یا نگهداری خط لولههای واقعی).
تسلط کاربردی بر SQL — توانایی نوشتن Joinها و Aggregationها؛ ما شما را از این سطح به سطح مصاحبههای تخصصی میرسانیم.
آشنایی اولیه با پایتون؛ تجربه قبلی با Spark یا PySpark کمککننده است اما الزامی نیست.
یک حساب آزمایشی رایگان Snowflake و/یا Databricks برای اجرای مثالهای پلتفرم (اختیاری).
شما دو یا سه سال تجربه مهندسی داده دارید و میتوانید خط لولههایی بسازید که کار میکنند، اما مصاحبه هنوز مانند بازی متفاوتی به نظر میرسد. استخدامکننده یک تست SQL میفرستد، سپس شما را در مورد عملکرد Spark به چالش میکشد و بعد سراغ طراحی سیستم روی تخت میرود و شما هرگز دقیقاً نمیدانید آنها چه چیزی را ارزیابی میکنند. این دوره این شکاف را پر کرده و شما را به دریافت پیشنهاد شغلی میرساند.
شما وارد هر مصاحبه مهندسی داده خواهید شد در حالی که برای هر مرحله آماده هستید. ما هر موضوع را بر اساس آنچه مصاحبهکننده واقعاً تست میکندرمزگشایی میکنیم — نه فقط پاسخ درست، بلکه تلههایی که باعث شکست کاندیداها میشود و تفاوت دقیق بین پاسخ یک تازهکار و یک متخصص ارشد. این سیگنال همان چیزی است که باعث ارتقای سطح شغلی و دستمزد بیشتر شما میشود.
آنچه در این دوره بررسی خواهید کرد:
چهار مرحله عمیق در SQL— Joinها و سوالات تله کلاسیک، توابع پنجرهای (مهمترین فیلتر مصاحبه)، الگوهای پیشرفته مانند gaps-and-islands و top-N-per-group، و مرحله بهینهسازی «چرا این کند است؟».
مدلسازی دادهها و انبارش— طراحی ابعادی روی تخته سفید، ابعاد با تغییر کند (SCD) و دفاع از Grain انتخابی.
پایتون و PySpark— پردازش دادهها به سبک پایتونیک، مدل ذهنی توزیعشده و بخش داخلی Spark: شامل shuffle، skew، AQE و broadcast joins، با توضیحات کسی که واقعاً آنها را دیباگ کرده است.
خط لولهها، استریمینگ و ذخیرهسازی— ETL/ELTهایی که در محیط عملیاتی دوام میآورند، بحثهای مربوط به Kafka و سوالات فرمت فایلهای Parquet/Delta/Iceberg.
سیستمهای توزیعشده، کیفیت داده و پلتفرمهای ابری— مبانی که مهندسان داده مورد پرسش قرار میگیرند، تست و قابلیت اطمینان، و پاسخهای سطح عملیاتی برای Snowflake و Databricks.
طراحی سیستم— یک چارچوب تکرارپذیر و سپس حل سناریوهای واقعی از ابتدا تا انتها.
مراحلی که هیچکس برایشان آماده نمیشود— مرحله کدنویسی/DSA که مهندسان داده هنوز با آن روبرو هستند، تکالیف خانگی و تستهای SQL زنده، و بخش رفتاری + بررسی عمیق پروژه با داستانهای STAR برای نمایش حس مالکیت.
دوره با یک شبیهساز کامل مصاحبه (Capstone) به پایان میرسد تا قبل از مصاحبه واقعی، تمام چرخه را تمرین کنید. ۲۲ ماژول، ۷۵ درس متمرکز — طراحی شده برای مهندسان دادهای در ابتدای مسیر شغلی یا سطح متوسط که دیگر نمیخواهند منتظر بمانند تا انتخاب شوند. ثبتنام کنید، تمرین کنید و پیشنهاد شغلی را بگیرید.
سرفصل ها و درس ها
نقشه راه مصاحبه مهندسی داده
Inside the DE Interview: The Map
شرکتها واقعاً چه چیزهایی را تست میکنند
What Companies Actually Test
خواندن شرح شغلی از دید یک مصاحبهکننده
Reading the Job Description Like an Interviewer
برنامه آمادهسازی ۴ هفتهای و نحوه استفاده از این دوره
The 4-Week Prep Plan + How to Use This Course
مرحله اول SQL: Joinها، تجمیعها و سوالات تله
SQL Round I: Joins, Aggregations & the Trap Questions
خانواده Joinها و تله NULL در LEFT JOIN
The Join Family and the LEFT-JOIN-NULL Trap
نکات مهم GROUP BY، HAVING و تجمیعها
GROUP BY, HAVING and Aggregation Gotchas
عملیات مجموعهای و منطق سه مقدار Having NULL
Set Operations and Three-Valued NULL Logic
مرحله دوم SQL: توابع پنجرهای (مهمترین فیلتر)
SQL Round II: Window Functions (the #1 Filter)
مقایسه ROW_NUMBER در مقابل RANK و DENSE_RANK
ROW_NUMBER vs RANK vs DENSE_RANK
مجموعهای جاری و میانگینهای متحرک: ROWS در مقابل RANGE
Running Totals and Moving Averages: ROWS vs RANGE
توابع LAG، LEAD و تحلیل دورهای
LAG, LEAD and Period-over-Period Analysis
بیشترین N مورد در هر گروه: حل سوال کلاسیک به سه روش
Top-N-per-Group: the Classic Question, Solved Three Ways
مرحله سوم SQL: الگوهای پیشرفته محبوب مصاحبهکنندگان
SQL Round III: Advanced Patterns Interviewers Love
مقایسه CTEها در مقابل Subqueryها و جداول موقت (و CTEهای بازگشتی)
CTEs vs Subqueries vs Temp Tables (and Recursive CTEs)
الگوی Gaps and Islands: یک الگو، بیست سوال
Gaps and Islands: One Pattern, Twenty Questions
Pivoting، Unpivoting و تجمیع شرطی
Pivoting, Unpivoting and Conditional Aggregation
کار با تاریخ و زمان و Sessionization
Date-Time Gymnastics and Sessionization
مرحله چهارم SQL: بهینهسازی و بررسی علت کندی
SQL Round IV: Why Is This Slow? Optimization
خواندن پلان اجرای کوئری (Execution Plan)
Reading an Execution Plan
حذف پارتیشن (Partition Pruning) و Predicate Pushdown
Partition Pruning and Predicate Pushdown
ضد-الگوهایی که عملکرد را تخریب میکنند
The Anti-Patterns That Tank Performance
مدلسازی دادهها: طراحی ابعادی روی تخته سفید
Data Modeling: Dimensional Design at the Whiteboard
مقایسه OLTP در مقابل OLAP و دلیل تفاوت مدلها
OLTP vs OLAP and Why Models Differ
اسکیم Star در مقابل Snowflake: نحوه تصمیمگیری
Star vs Snowflake Schema: the Decision
فکتها، ابعاد و انتخاب Grain
Facts, Dimensions and Choosing the Grain
ابعاد با تغییر کند (SCD نوع ۱، ۲، ۳ و ۶)
Slowly Changing Dimensions (Type 1/2/3/6)
مفاهیم انبارش داده که مورد پرسش قرار میگیرید
Warehousing Concepts They Quiz You On
موازنه بین نرمالسازی و دنورمالسازی
Normalization vs Denormalization Trade-offs
ذخیرهسازی ستونی و MPP: نحوه مقیاسپذیری انبارها
MPP and Columnar Storage: How Warehouses Scale
مقایسه متدهای Kimball در مقابل Inmon و Data Vault
Kimball vs Inmon vs Data Vault
مرحله پایتون: اصطلاحات و پردازش دادهها
Python Round: Idioms and Data Wrangling
سوالات ساختارهای داده (dict / set / list)
The Data-Structures Questions (dict / set / list)
اصطلاحات پایتونیکی که مصاحبهکنندگان به دنبال آن هستند
Pythonic Idioms Interviewers Watch For
استفاده از Pandas برای مصاحبه (و تلههای آن)
Pandas for the Interview (and Its Traps)
پردازش فایلها و API تحت فشار زمانی
File and API Processing Under Time Pressure
مرحله اول PySpark: مدل ذهنی توزیعشده
PySpark Round I: The Distributed Mental Model
چرا Spark وجود دارد: پارتیشنها، کلاستر و Lazy Evaluation
Why Spark Exists: Partitions, Cluster, Lazy Eval
تفاوت Transformations و Actions و مفهوم DAG
Transformations vs Actions and the DAG
API مربوط به DataFrame که باید کاملاً بر آن مسلط باشید
The DataFrame API You Must Know Cold
مرحله دوم PySpark: Shuffle، Skew و عملکرد
PySpark Round II: Shuffles, Skew and Performance
Shuffle: ریشه تمام سوالات Spark
The Shuffle: Root of All Spark Questions
Broadcast Joins، پارتیشنبندی و Bucketing
Broadcast Joins, Partitioning and Bucketing
انحراف دادهها (Data Skew)، AQE و Catalyst
Data Skew, AQE and Catalyst
Caching و Persistence: چه زمانی نتیجه عکس میدهند
Caching and Persistence: When They Backfire
طراحی خط لوله: ETL/ELT مناسب برای محیط عملیاتی
Pipeline Design: ETL/ELT That Survives Production
مقایسه ETL در مقابل ELT و نقاط قوت هر کدام
ETL vs ELT and Where Each Wins
Idempotency، بارگذاریهای افزایشی و Backfills
Idempotency, Incremental Loads and Backfills
ارکستراسیون و طراحی وابستگیها (Airflow)
Orchestration and Dependency Design (Airflow)
مدیریت دادههای دیرهنگام و تکراری
Handling Late and Duplicate Data
استریمینگ و زمان واقعی: بحثهای مربوط به Kafka
Streaming and Real-Time: The Kafka Conversation
مقایسه Batch در مقابل Streaming و اهمیت زمان واقعی
Batch vs Streaming and When Real-Time Matters
نمایش نظرات