در مصاحبه کدنویسی مسلط شوید: مصاحبه های فناوری بزرگ (FAANG).

Master the Coding Interview: Big Tech (FAANG) Interviews

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: آس در مصاحبه های کدنویسی گوگل، آمازون، متا، مایکروسافت، نتفلیکس. راهنمای گام به گام برای سخت ترین سوالات آنها! مصاحبه کدنویسی Ace در شرکت های برتر فناوری (گوگل، آمازون، متا، اپل، مایکروسافت، تسلا، نتفلیکس + دیگران) راهنمای گام به گام سوالات رایج، نحوه حل آنها، بهینه سازی و ارائه آنها در طول مصاحبه فنی منبع نهایی برای آماده شدن برای مصاحبه‌های کدنویسی، مصاحبه‌های فنی و مصاحبه‌های برنامه‌نویسی دقیقاً یاد بگیرید که برای پاسخ دادن به سؤالات دشوار به چه چیزهایی نیاز دارید و چارچوب مورد نیاز برای هر نوع سؤالی را که به شما می‌دهند از ساختارهای داده و الگوریتم‌های مناسب برای ارائه سؤالات مصاحبه کدنویسی استفاده کنید که بهینه‌ترین سؤالات را دارند. راه حل با تسلط بر مبانی علوم کامپیوتر به یک توسعه دهنده بهتر تبدیل شوید پیش نیازها: بدون نیاز به دانش قبلی در زمینه علوم کامپیوتر، درک اولیه یک زبان برنامه نویسی اگر شما جاه طلبی برای یادگیری و ورود به یکی از این شرکت ها را دارید، ما آن را برای شما قابل دستیابی خواهیم کرد! (به داستان های موفقیت دانش آموزان ما مراجعه کنید)

دوره کاملاً جدید برای فصل استخدام 2023 آماده است! به یک جامعه آنلاین زنده متشکل از بیش از 900000 مهندس و دوره ای که توسط متخصصان صنعت تدریس می شود بپیوندید که در واقع در سیلیکون ولی و تورنتو در شرکت های برتر فناوری کار کرده اند. فارغ‌التحصیلان دوره‌های ZTM اکنون در گوگل، تسلا، آمازون، اپل، آی‌بی‌ام، جی پی مورگان، متا و سایر شرکت‌های فناوری برتر کار می‌کنند.

این یک دانشجو 1 ماه پس از گذراندن این دوره است:
"من وقتی منتشر شد به دوره پیوستم و بعد از چند ماه مطالعه، تمرین و تمرین بیشتر، از دست دادن خواب و همه چیز با افتخار می گویم که از طرف گوگل پیشنهادی دریافت کردم، هنوز هم باورم نمی شود فوق العاده سورئال است و من نمی توانم به اندازه کافی از شما و این جامعه به خاطر آنچه که به من داده اید تشکر کنم. من در این 12 ماه گذشته اشک های زیادی ریخته ام و می توانم کتابی در مورد تجربه امسال بنویسم، اما من فقط می خواهم از شما تشکر کنم، از صمیم قلب از شما تشکر می کنم که به من (و این انجمن) ارائه دادید منابع مورد نیاز برای تحقق بخشیدن به پتانسیل من است که صادقانه بگویم هرگز در خودم ندیدم.. و حالا که می دانم می توانم تا اینجا پیش بروم، می دانم که این تنها آغاز است.."

می‌خواهید در یک شرکت فناوری بزرگ مانند گوگل، مایکروسافت، متا، نتفلیکس، آمازون یا شرکت‌های دیگر شغلی پیدا کنید، اما از فرآیند مصاحبه و سوالات کدنویسی می‌ترسانید؟ آیا هر بار که از شما یک سوال کدنویسی پرسیده می شود احساس می کنید که "گیر" می کنید؟ این دوره پاسخ شماست. با استفاده از استراتژی‌ها، درس‌ها و تمرین‌های این دوره، یاد می‌گیرید که چگونه پیشنهاداتی را از انواع شرکت‌ها دریافت کنید. این منبع نهایی برای آماده سازی شما برای مصاحبه های کدنویسی است. هر چیزی که نیاز دارید در یک مکان!

هدف این دوره این نیست که به شما بگوید: "100 سوال مصاحبه انجام دهید و امیدوارم پاسخ آنها را حفظ کنید." نه! هدف ما استفاده از سوالات متداول مصاحبه منتخب برای ارائه چارچوبی برای پاسخگویی به هر سوال مصاحبه ای است که این شرکت ها ممکن است به سمت شما بیاورند. به جای تلاش برای به خاطر سپردن سوالات متداول، ما اصول و مبانی را به شما آموزش می دهیم که می توانید از آنها برای مشاهده الگوهای رایج خاص در سوالات استفاده کنید تا هر سوالی که می گیرید، چارچوبی برای پاسخ دادن داشته باشید و در مصاحبه برنامه نویسی خود مطمئن باشید.

شما همچنین به جامعه آنلاین خصوصی ما با هزاران توسعه‌دهنده آنلاین دسترسی خواهید داشت تا به شما در گذراندن دوره و مصاحبه کمک کنند!

در اینجا چیزی است که در این دوره یاد می‌گیرید هنگام پاسخ دادن به مصاحبه از آن استفاده کنید. سوالات گام به گام با ما:

----فنی ----

1. نماد O بزرگ

2. ساختارهای داده مورد استفاده:

* آرایه ها

* جداول درهم

* لیست‌های پیوندی منفرد

* لیست های دارای پیوند دوگانه

* پشته ها

* صف ها

* درختان باینری

* درختان جستجوی دودویی

* تلاش می کند

* درختان N-ary

* حداقل/حداکثر تعداد

* صف های اولویت دار

* آرایه ها/ماتریس های دو بعدی

* نمودارها

* فهرست مجاورت

* ماتریس مجاورت

* طراحی رابط


3. پارادایم های الگوریتمی مورد استفاده:

* بازگشت

* مرتب سازی

* جستجو

* پیمایش درخت

* پیمایش نمودار

* اولین جستجوی عرض

* اولین جستجوی عمق

* تقسیم کن و غلبه کن

* روش حریص

* برنامه نویسی پویا

* عقبگرد


4. الگوریتم های خاص مورد استفاده:

* الگوریتم انتخاب سریع Hoare

* الگوریتم تشخیص چرخه لاک پشت و خرگوش فلوید

* الگوریتم بلمن-فورد

* الگوریتم دایکسترا

* مرتب سازی توپولوژیکی


بر خلاف بسیاری از مربیان، ما بازاریاب یا فروشنده نیستیم. ما مهندسان و برنامه نویسان ارشدی هستیم که تیم هایی از مهندسان را کار کرده و مدیریت کرده ایم و در این مصاحبه ها هم به عنوان مصاحبه شونده و هم به عنوان مصاحبه کننده حضور داشته ایم.

اگر بتوانیم به شما کمک کنیم، کار ما به عنوان مدرس موفق خواهد بود. شغل رویایی خود را در یک شرکت بزرگ بدست آورید. این یک مهارت تسلط بر مصاحبه کدنویسی می تواند واقعاً مسیر شغلی و زندگی شما را تغییر دهد و امیدواریم امروز ثبت نام کنید تا ببینید چه کاری می تواند برای حرفه شما انجام دهد!


شما را در داخل دوره می بینیم!


تدریس شده توسط:

Andrei مربی دوره توسعه وب با بالاترین امتیاز در Udemy و همچنین یکی از سریعترین دوره های رشد است. فارغ التحصیلان او برای برخی از بزرگترین شرکت های فناوری در سراسر جهان مانند اپل، گوگل، جی پی مورگان، آی بی ام و غیره کار کرده اند... او سال ها به عنوان یک توسعه دهنده ارشد نرم افزار در سیلیکون ولی و تورنتو کار کرده است. اکنون تمام آموخته های خود را به کار می گیرد تا مهارت های برنامه نویسی را آموزش دهد و به شما کمک کند فرصت های شغلی شگفت انگیزی را که توسعه دهنده بودن در زندگی به شما اجازه می دهد کشف کنید.

او که یک برنامه نویس خودآموز بوده است، می داند که تعداد زیادی دوره، آموزش و کتاب آنلاین وجود دارد که بیش از حد پرمخاطب و در آموزش مهارت های مناسب ناکافی هستند. اکثر مردم هنگام یادگیری یک موضوع پیچیده احساس فلج می کنند و نمی دانند از کجا شروع کنند، یا حتی بدتر از آن، اکثر مردم 20000 دلار برای خرج کردن در یک بوت کمپ برنامه نویسی ندارند. مهارت های برنامه نویسی باید مقرون به صرفه و برای همه باز باشد. یک مطالب آموزشی باید مهارت‌های واقعی زندگی را آموزش دهد و نباید وقت ارزشمند دانش‌آموز را هدر دهد. او که درس‌های مهمی از کار برای شرکت‌های Fortune 500، استارت‌آپ‌های فناوری و حتی تأسیس کسب‌وکار خود آموخته است، اکنون 100 درصد از زمان خود را به آموزش مهارت‌های ارزشمند توسعه نرم‌افزار به دیگران اختصاص می‌دهد تا بتواند کنترل زندگی و کار آنها را در شرایطی هیجان‌انگیز به دست بگیرد. صنعت با امکانات بی نهایت.

Andrei به شما قول می دهد که هیچ دوره دیگری به عنوان جامع و به خوبی توضیح داده نشده است. او معتقد است که برای یادگیری هر چیزی ارزشمند، باید از پایه شروع کرد و ریشه های درخت را توسعه داد. فقط از آنجا می‌توانید مفاهیم و مهارت‌های خاص (برگ‌ها) را یاد بگیرید که به پایه متصل می‌شوند. یادگیری زمانی که به این شکل ساختار می یابد، تصاعدی می شود.

دوره‌های آندری با استفاده از تجربه او در روان‌شناسی آموزشی و کدنویسی، شما را با موضوعات پیچیده‌ای آشنا می‌کند که هرگز فکر نمی‌کردید ممکن باشد.

-------

Yihua Zhang یکی از مربیان Zero To Mastery، یکی از آکادمی های توسعه وب با بالاترین امتیاز و سریع ترین رشد در Udemy است. او سال‌ها به عنوان توسعه‌دهنده نرم‌افزار در تورنتو برای برخی از بزرگترین شرکت‌های فناوری در جهان کار کرده است. او همچنین بیش از یک دهه است که به عنوان مربی کار می کند. او بر روی آوردن همه چیزهایی که آموخته است متمرکز است تا به شما کمک کند به یک حرفه جدید به عنوان یک توسعه دهنده دست یابید، اما همچنین تمام مهارت های اساسی مورد نیاز برای شکوفایی در این صنعت باورنکردنی را به شما بدهد.


Yihua یک توسعه دهنده خودآموز است، بنابراین او به طور کامل چالش ها و طرز فکر ورود به این صنعت را از زمینه های مختلف دیگر درک می کند. او بارها به عنوان مربی و دانش آموز در هر دو طرف میز بوده است تا بتواند با دشواری یادگیری چیزهای جدید و چالش برانگیز همدلی کند. یادگیری به خودی خود مهارتی است که نیاز به تمرین و بهبود دارد، و او به شما کمک می کند تا آن مهارت را برای خودتان بهبود بخشید و تسلط پیدا کنید. دوره ها باید عملی باشند، شما باید بتوانید درک کنید که چرا چیزهایی را که به شما آموزش داده می شود یاد می گیرید. شما باید قبل از اینکه راه حل را بدانید، مشکل را درک کنید، و او به خود می بالد که به شما یاد می دهد چگونه برنامه های حرفه ای و دنیای واقعی بسازید تا شما واقعاً درک کنید که چرا کارها را به روش خاصی انجام می دهید. او طرز فکر و مهارت مورد نیاز برای رشد هر چه سریعتر به عنوان یک توسعه دهنده را به شما آموزش می دهد تا بتوانید زندگی غنی و پرباری را که با این حرفه همراه است داشته باشید.


دوره‌های آموزشی Yihua شما را راهنمایی می‌کند تا برنامه‌های کاربردی با نوشته‌های زیبا و با ویژگی‌های غنی بسازید، در حالی که واقعاً تمام مفاهیم پیچیده‌ای را که در طول مسیر با آن مواجه خواهید شد، درک می‌کنید.


سرفصل ها و درس ها

مقدمه Introduction

  • تفکیک دوره Course Breakdown

  • به کلاس آنلاین ما بپیوندید! Join Our Online Classroom!

  • تمرین: با همکلاسی ها و مربی خود آشنا شوید Exercise: Meet Your Classmates and Instructor

  • دانلود همه کدها + راه حل ها Download All Code + Solutions

  • منابع ZTM ZTM Resources

  • چالش های کدنویسی ماهانه، منابع و راهنماهای رایگان Monthly Coding Challenges, Free Resources and Guides

آرایه ها - سؤال شماره 1 سؤال مصاحبه Google دو جمع (آسان) Arrays - Question #1 Google Interview Question Two Sum (Easy)

  • سوال مصاحبه شماره 1 دو جمع Interview Question #1 Two Sum

  • چگونه به مشکل خود نزدیک شویم How To Approach Our Problem

  • نوشتن راه حل نیروی بی رحم ما Writing Our Brute Force Solution

  • آزمایش راه حل Brute Force ما با موارد آزمایشی ما Testing Our Brute Force Solution With Our Test Cases

  • ارسال به Leetcode Submitting To Leetcode

  • تحلیل پیچیدگی فضا و زمان Analyzing Space and Time Complexity

  • بهینه سازی راه حل ما Optimizing Our Solution

  • کدگذاری راه حل بهینه ما Coding Our Optimal Solution

  • تست راه حل بهینه ما با موارد آزمایشی و پیچیدگی فضا و زمان Testing Our Optimal Solution With Our Test Cases & Space and Time Complexity

  • بررسی عملکرد Leetcode Checking Performance on Leetcode

  • راه حل ها به زبان های دیگر Solutions In Other Languages

  • وب، پایتون، ماهنامه یادگیری ماشین + منابع Web, Python, Machine Learning Monthly + Resources

آرایه ها - سوالات شماره 2 - ظرف با بیشترین آب (متوسط) Arrays - Questions #2 - Container With Most Water (Medium)

  • سوال مصاحبه شماره 2 - ظرف با بیشترین آب Interview Question #2 - Container With Most Water

  • آمدن با موارد تست Coming Up With Test Cases

  • تفکر از طریق راه حل منطقی نیروی بی رحم Thinking Through A Logical Brute Force Solution

  • کد نویسی راه حل Brute Force ما Coding Out Our Brute Force Solution

  • گام برداشتن از طریق کد ما Stepping Through Our Code

  • فکر کردن به راه حل بهینه ما Thinking About Our Optimal Solution

  • کدنویسی راه حل بهینه ما و آزمایش بر روی LeetCode Coding Our Optimal Solution And Testing On LeetCode

آرایه ها - سوالات شماره 3 - به دام انداختن آب باران (سخت) Arrays - Questions #3 - Trapping Rainwater (Hard)

  • سوال مصاحبه شماره 3 - به دام انداختن آب باران Interview Question #3 - Trapping Rainwater

  • فکر کردن به یک راه حل منطقی Thinking About A Logical Solution

  • کدگذاری نیروی بی رحم ما Coding Our Brute Force

  • تعیین استراتژی بهینه سازی ما Figuring Out Our Optimization Strategy

  • کدگذاری راه حل بهینه ما Coding Our Optimal Solution

  • کد بهینه و LeetCode Optimal Code And LeetCode

رشته ها - سوال شماره 4 - رشته های تایپ شده (آسان) Strings - Question #4 - Typed Out Strings (Easy)

  • سوال مصاحبه شماره 4 - رشته های تایپ شده Interview Question #4 -Typed Out Strings

  • منطق نیروی بی رحم ما Logic Of Our Brute Force

  • کدگذاری نیروی بی رحم ما Coding Our Brute Force

  • پیچیدگی فضا و زمان Space And Time Complexity

  • ارائه راه حل بهینه Coming Up With Optimal Solution

  • کدگذاری راه حل بهینه ما Coding Our Optimal Solution

  • ارسال به LeetCode Submitting To LeetCode

رشته ها - سوال شماره 5 - طولانی ترین زیر رشته بدون نویسه های تکراری (متوسط) Strings - Question #5 - Longest Substring Without Repeating Characters (Medium)

  • سوال مصاحبه شماره 5 - طولانی ترین زیر رشته بدون نویسه های تکراری Interview Question #5 - Longest Substring Without Repeating Characters

  • آمدن با رویکرد نیروی بی رحم Coming Up With A Brute Force Approach

  • کدگذاری نیروی بی رحم ما Coding Our Brute Force

  • پیچیدگی فضا و زمان Space And Time Complexity

  • تکنیک پنجره کشویی Sliding Window Technique

  • نکاتی برای بهینه سازی راه حل ما Hints For Optimizing Our Solution

  • فکر کردن به راه حل بهینه Thinking About Optimal Solution

  • کدگذاری راه حل بهینه ما Coding Our Optimal Solution

  • توجه: تصحیح برای توضیح +1 Note: Correction for explanation of +1

  • کد بهینه و LeetCode Optimal Code And LeetCode

رشته ها - سوال شماره 6 - معتبر Palindrome & Almost Palindrome Strings - Question #6 - Valid Palindrome & Almost Palindrome

  • مقدمه ای برای پالیندرومز Intro To Palindromes

  • سوال مصاحبه شماره 6 - پالیندروم معتبر Interview Question #6 - Valid Palindrome

  • تقریبا یک پالیندروم Almost A Palindrome

  • پی بردن به راه حل ما Figuring Out Our Solution

  • کدگذاری راه حل ما Coding Our Solution

معرفی لیست های پیوندی - مبانی و معکوس کردن لیست پیوندی Introducing Linked Lists - Basics and Reverse A Linked List

  • فهرست پیوندی معرفی Linked List Introduction

  • الگوریتم پایه: معکوس کردن یک لیست پیوندی Basic Algorithm: Reverse a Linked List

  • فکر کردن به راه حل ما Thinking About Our Solution

  • کدگذاری معکوس راه حل لیست پیوندی Coding Reverse A Linked List Solution

فهرست پیوندی - سوال شماره 7 - معکوس‌های M، N (متوسط) Linked List - Question #7 - M, N Reversals (Medium)

  • سوال مصاحبه شماره 7 - M, N معکوس Interview Question #7 - M, N Reversals

  • ارائه راه حل منطقی Coming Up With A Logical Solution

  • کدگذاری راه حل ما Coding Our Solution

فهرست پیوندی - سوال شماره 8 - فهرست پیوندهای چند سطحی را ادغام کنید (متوسط) Linked List - Question #8 - Merge Multi-Level Doubly Linked List (Medium)

  • سوال مصاحبه شماره 8 - فهرست پیوندهای چند سطحی را ادغام کنید Interview Question #8 - Merge Multi-Level Doubly Linked List

  • پی بردن به موارد آزمایشی ما Figuring Out Our Test Cases

  • توجه: یک کمک کننده تجسم عالی که توسط کارن فیشر در پایتون نوشته شده است Note: A great visualization helper written in Python by Karen Fisher

  • فکر کردن به رویکرد ما Thinking About Our Approach

  • کدگذاری راه حل ما Coding Out Our Solution

لیست پیوندی - سوال شماره 9 - تشخیص چرخه (متوسط) Linked List - Question #9 - Cycle Detection (Medium)

  • سوال مصاحبه شماره 9 - تشخیص چرخه Interview Question #9 - Cycle Detection

  • الگوریتم لاک پشت و خرگوش فلوید چیست؟ What Is Floyd's Tortoise And Hare Algorithm?

  • کدگذاری الگوریتم فلوید Coding Floyd's Algorithm

  • اختیاری: اثبات چگونگی و چرایی کارکرد الگوریتم فلوید Optional: Proof Of How And Why Floyd's Algorithm Works

پشته - سوال شماره 10 - پرانتز معتبر (آسان) Stacks - Question #10 - Valid Parentheses (Easy)

  • مقدمه ای بر پشته ها و صف ها Intro to Stacks and Queues

  • سوال مصاحبه شماره 10 - پرانتز معتبر Interview Question #10 - Valid Parentheses

  • قدم زدن در میان مشکل ما - شناسایی نیاز به پشته Walking Through Our Problem - Identifying The Need For A Stack

  • کدگذاری راه حل ما با یک پشته Coding Our Solution With A Stack

پشته ها - سوال شماره 11 - حداقل براکت برای حذف (متوسط) Stacks - Question #11 - Minimum Brackets To Remove (Medium)

  • سوال مصاحبه شماره 11 - حداقل براکت برای حذف Interview Question #11 - Minimum Brackets To Remove

  • فکر کردن به راه حل ما Thinking About Our Solution

  • کدگذاری راه حل ما Coding Our Solution

صف - سوال شماره 12 - اجرای صف با پشته (آسان) Queues - Question #12 - Implement Queue With Stacks (Easy)

  • سوال شماره 12 - اجرای صف با پشته ها Question #12 - Implement Queue With Stacks

  • پی بردن به راه حل ما Figuring Out Our Solution

  • کدگذاری راه حل ما Coding Our Solution

بازگشت (مرتب‌سازی و انتخاب سریع Hoare) - سوال شماره 13 - Kth بزرگترین عنصر Recursion (Sorting and Hoare's QuickSelect) - Question #13 - Kth Largest Element

  • معرفی Recursion Introducing Recursion

  • اختیاری: بازگشت دم Optional: Tail Recursion

  • مرتب سازی Sorting

  • سوال مصاحبه شماره 13 - Kth بزرگترین عنصر Interview Question #13 - Kth Largest Element

  • بینش از مرتب‌سازی سریع Insights From Quick Sort

  • درک تفرقه و غلبه Understanding Divide And Conquer

  • کدگذاری Quicksort در راه حل ما Coding Quicksort Into Our Solution

  • الگوریتم انتخاب سریع Hoare چیست؟ What Is Hoare's Quickselect Algorithm?

  • کدگذاری راه حل ما با Quickselect Coding Our Solution With Quickselect

  • تصحیح درباره پیچیدگی زمانی Correction About Time Complexity

  • ورزش: سندرم ایمپوستر Exercise: Imposter Syndrome

بازگشت (جستجوی باینری) - سوال شماره 14 - شروع و پایان هدف (متوسط) Recursion (Binary Search) - Question #14 - Start And End Of Target (Medium)

  • درک جستجوی باینری Understanding Binary Search

  • نحوه کدگذاری جستجوی باینری How To Code Binary Search

  • سوال شماره 14 - شروع و پایان هدف در یک آرایه مرتب شده Question #14 - Start And End Of Target In A Sorted Array

  • قدم زدن در راه حل ما Walking Through Our Solution

  • کدگذاری راه حل ما Coding Our Solution

درختان باینری - سوال شماره 15 - حداکثر عمق درخت باینری (آسان) Binary Trees - Question #15 - Maximum Depth Of Binary Tree (Easy)

  • معرفی درختان باینری Intro to Binary Trees

  • سوال شماره 15 - حداکثر عمق درخت باینری Question #15 - Maximum Depth of Binary Tree

  • یادگیری فرآیند حل مسائل درخت دودویی Learning The Process For Solving Binary Tree Problems

  • کدگذاری راه حل ما Coding Our Solution

درختان باینری - سوال شماره 16 - ترتیب سطح درخت دودویی (متوسط) Binary Trees - Question #16 - Level Order Of Binary Tree (Medium)

  • سوال شماره 16 - ترتیب سطح درخت دودویی Question #16 - Level Order Of Binary Tree

  • قدم زدن در راه حل ما Walking Through Our Solution

  • کدگذاری پیمایش سفارش در سطح Coding Out Level Order Traversal

درختان باینری - سوال شماره 17 - نمای سمت راست درخت (متوسط) Binary Trees - Question #17 - Right Side View of Tree (Medium)

  • سوال شماره 17 - نمای سمت راست درخت Question #17 - Right Side View of Tree

  • درک اولین رویکرد جستجوی پهنا Understanding The Breadth First Search Approach

  • درک اولین رویکرد جستجوی عمق Understanding The Depth First Search Approach

  • فکر کردن به پیمایش های پیش سفارش، سفارشی و پس از سفارش برای راه حل ما Thinking About Pre-Order, In-Order, and Post-Order Traversals For Our Solution

  • تکمیل راه حل DFS ما Completing Our DFS Solution

  • کدگذاری راه حل نهایی DFS ما Coding Our Final DFS Solution

درختان باینری کامل و کامل - سوال شماره 18 - تعداد گره ها در درخت کامل Full & Complete Binary Trees - Question #18 - Number Of Nodes In Complete Tree

  • سوال شماره 18 - تعداد گره ها در درخت کامل Question #18 - Number Of Nodes In Complete Tree

  • تفکر عمیق در مورد یک درخت باینری کامل Thinking Deeply About A Full Binary Tree

  • تعیین تعداد گره ها در آخرین سطح Figuring Out Number Of Nodes At Last Level

  • کدگذاری راه حل کامل ما Coding Out Our Full Solution

درخت جستجوی باینری - سوال شماره 19 - اعتبارسنجی درخت جستجوی باینری (متوسط) Binary Search Tree - Question #19 - Validate Binary Search Tree (Medium)

  • سوال 19 - اعتبارسنجی درخت جستجوی دودویی Question #19 - Validate Binary Search Tree

  • فکر کردن به راه حل منطقی ما Thinking About Our Logical Solution

  • تعیین مرزهای ما Figuring Out Our Boundaries

  • کدگذاری راه حل کامل ما Coding Our Our Full Solution

انبوه و صف های اولویت Heaps & Priority Queues

  • معرفی Heaps Introducing Heaps

  • Insertion In Heaps - درک Sift Up Insertion In Heaps - Understanding Sift Up

  • حذف در انبوه - درک Sift Down Deletion In Heaps - Understanding Sift Down

  • شروع به کدگذاری کلاس صف اولویت ما Starting To Code Our Priority Queue Class

  • کدگذاری روش های درج و غربال کردن ما Coding Our Insertion And Sift Up Methods

  • کدگذاری روش های حذف و الک کردن ما Coding Our Deletion And Sift Down Methods

مقدمه ای بر آرایه های دو بعدی - اصول و الگوریتم های پیمایش Intro To 2D-Arrays - Basics & Traversal Algorithms

  • معرفی آرایه های دو بعدی - آنها چیست؟ Introducing 2D Arrays - What Are They?

  • اولین جستجوی عمق در آرایه های دوبعدی Depth First Search In 2D-Arrays

  • کدگذاری DFS - راه اندازی برای DFS Coding DFS - Setting Up For DFS

  • کدگذاری DFS - پیاده سازی DFS بازگشتی Coding DFS - Implementing Recursive DFS

  • اولین جستجوی پهنا در آرایه های دوبعدی Breadth First Search In 2D-Arrays

  • کدگذاری BFS Coding BFS

آرایه های دوبعدی - سوال شماره 20 تعداد جزایر (متوسط) 2D-Arrays - Question #20 Number Of Islands (Medium)

  • یک رویکرد کلی برای تفکر در مورد اکثر سوالات نمودار A General Approach To Thinking About Most Graph Questions

  • سوال شماره 20 تعداد جزایر Question #20 Number Of Islands

  • نزدیک شدن به مشکل ما - تفکر عمیق در مورد ارزش ها Approaching Our Problem - Thinking Deeply About The Values

  • نزدیک شدن به مشکل ما - فکر کردن به پیمایش Approaching Our Problem - Thinking About Traversals

  • کدگذاری راه حل ما Coding Our Solution

  • تفکر در مورد پیچیدگی فضا و زمان Thinking About Space And Time Complexity

آرایه های دوبعدی - سوال شماره 21 پرتقال های پوسیده (متوسط) 2D-Arrays - Question #21 Rotting Oranges (Medium)

  • سوال شماره 21 پرتقال پوسیده Question #21 Rotting Oranges

  • پی بردن به منطق اولیه ما Figuring Out Our Initial Logic

  • پی بردن به بقیه راه حل ما Figuring Out The Rest Of Our Solution

  • کدگذاری راه حل ما Coding Out Our Solution

آرایه‌های دوبعدی - سؤال شماره 22 - دیوارها و دروازه‌ها (متوسط) 2D-Arrays - Question #22 - Walls And Gates (Medium)

  • سوال شماره 22 - دیوارها و دروازه ها Question #22 - Walls And Gates

  • پی بردن به راه حل منطقی ما Figuring Out Our Logical Solution

  • کدگذاری راه حل ما Coding Out Our Solution

مقدمه ای بر نمودارها - الگوریتم های نمایش و پیمایش Intro to Graphs - Representation & Traversal Algorithms

  • مقدمه ای بر انواع نمودارها Introduction To The Types Of Graphs

  • نمایش نمودارهای ما - فهرست مجاورت و ماتریس مجاورت Representing Our Graphs - Adjacency List & Adjacency Matrix

  • اولین جستجوی عرض در نمودارها Breadth First Search In Graphs

  • کدگذاری BFS Coding BFS

  • جستجوی عمق در نمودارها Depth First Search In Graphs

  • کدگذاری DFS Coding DFS

نمودارها - سوال شماره 23 - زمان لازم برای اطلاع رسانی به همه کارکنان (متوسط) Graphs - Question #23 - Time Needed to Inform All Employees (Medium)

  • سوال شماره 23 - زمان لازم برای اطلاع رسانی به همه کارکنان Question #23 - Time Needed to Inform All Employees

  • بررسی محدودیت های ما و تفکر در مورد موارد آزمایشی Verifying Our Constraints And Thinking About Test Cases

  • چگونه نمودار خود را به عنوان یک لیست مجاورت نشان دهیم How To Represent Our Graph As An Adjacency List

  • حل منطقی مشکل ما با استفاده از DFS Traversal Solving Our Problem Logically Using DFS Traversal

  • کدگذاری راه حل DFS ما Coding Our DFS Solution

نمودارها - سوال شماره 24 - زمانبندی دوره (متوسط) Graphs - Question #24 - Course Scheduler (Medium)

  • سوال شماره 24 - برنامه ریزی دوره Question #24 - Course Scheduler

  • فکر کردن به راه حل اولیه ما - BFS Thinking About Our Initial Solution - BFS

  • کدگذاری راه حل اولیه BFS ما Coding Out Our Initial BFS Solution

  • مرتب سازی توپولوژیکی چیست؟ What is Topological Sort?

  • فکر کردن به یک راه حل با مرتب سازی توپولوژیکی Thinking About A Solution With Topological Sort

  • کدگذاری راه حل نهایی ما Coding Our Final Solution

نمودارها - سوال شماره 25 - تاخیر زمانی شبکه (متوسط) Graphs - Question #25 - Network Time Delay (Medium)

  • سوال 25 - تاخیر زمانی شبکه Question #25 - Network Time Delay

  • فکر کردن به نحوه برخورد با مشکل Thinking About How To Approach The Problem

  • روش حریص و الگوریتم دایکسترا چیست؟ Greedy Method & What Is Dijkstra's Algorithm?

  • تفکر در مورد راه حل با الگوریتم دایکسترا Thinking About A Solution With Dijkstra's Algorithm

  • کدگذاری راه حل ما با Dijkstra Coding Our Solution With Dijkstra

  • پیچیدگی زمان و مکان راه حل ما Time And Space Complexity Of Our Solution

  • فکر کردن به وزن های منفی Thinking About Negative Weights

  • الگوریتم بلمن-فورد چیست؟ - مفهوم سازی برنامه نویسی پویا What is The Bellman-Ford Algorithm? - Conceptualizing Dynamic Programming

  • الگوریتم بلمن-فورد چیست؟ - خود الگوریتم What is The Bellman-Ford Algorithm? - The Algorithm Itself

  • کدگذاری راه حل ما با بلمن فورد Coding Our Solution With Bellman-Ford

برنامه نویسی پویا - سوال شماره 26 - حداقل هزینه بالا رفتن از پله ها (آسان) Dynamic Programming - Question #26 - Minimum Cost Of Climbing Stairs (Easy)

  • سوال شماره 26 - حداقل هزینه بالا رفتن از پله ها و نحوه نزدیک شدن به DP Question #26 - Minimum Cost Of Climbing Stairs & How To Approach DP

  • درک و شناسایی رابطه عود Understanding & Identifying Recurrence Relation

  • مرحله اول - راه حل بازگشتی از رابطه عود First Step - Recursive Solution From Recurrence Relation

  • توجه: تصحیح پیچیدگی فضا Note: Correction to space complexity

  • مرحله دوم - به خاطر سپردن تماس های برگشتی اضافی ما Second Step - Memoizing Our Redundant Recursive Calls

  • کدگذاری بهینه سازی حافظه ما Coding Our Memoization Optimization

  • درک رویکرد پایین به بالا (جدول) Understanding The Bottom Up Approach (Tabulation)

  • مرحله سوم - جدول بندی از پایین به بالا Third Step - Bottom Up Tabulation

  • مرحله چهارم - بهینه سازی از پایین به بالا Fourth Step - Bottom Up Optimization

برنامه نویسی پویا - سوال شماره 27 - احتمال شوالیه در صفحه شطرنج (متوسط) Dynamic Programming - Question #27 - Knight Probability In Chessboard (Medium)

  • سوال شماره 27 - احتمال شوالیه در صفحه شطرنج Question #27 - Knight Probability In Chessboard

  • فکر کردن به موارد تست برای کمک به ما Thinking About Test Cases To Help Us

  • شناسایی رابطه عود Identifying The Recurrence Relation

  • مرحله اول - راه حل بازگشتی از رابطه عود First Step - Recursive Solution From Recurrence Relation

  • مرحله دوم - به خاطر سپردن تماس های برگشتی اضافی ما Second Step - Memoizing Our Redundant Recursive Calls

  • پی بردن به منطق راه حل پایین به بالا Figuring Out The Logic For Our Bottom Up Solution

  • مرحله سوم - جدول بندی از پایین به بالا Third Step - Bottom Up Tabulation

  • مرحله چهارم - بهینه سازی از پایین به بالا Fourth Step - Bottom Up Optimization

  • لیست برنامه نویسی پویا Dynamic Programming List

عقب نشینی - سوال شماره 28 - حل کننده سودوکو (سخت) Backtracking - Question #28 - Sudoku Solver (Hard)

  • درک اصول عقبگرد Understanding The Basics Of Backtracking

  • سوال شماره 28 - حل کننده سودوکو Question #28 - Sudoku Solver

  • آموزش الگوی Backtracking Learning The Backtracking Template

  • استفاده از الگوی عقبگرد ما در منطق حل سودوکو Applying Our Backtracking Template To Sudoku Solver Logic

  • کدنویسی نحوه دریافت Box ID Coding How To Get Box ID

  • راه اندازی کد راه حل ما Setting Up Our Solution Code

  • کدگذاری بخش بازگشتی بازگشتی راه حل ما Coding The Recursive Backtracking Portion Of Our Solution

  • تفکر در مورد پیچیدگی مکان و زمان Thinking About The Space And Time Complexity

طراحی رابط - سوال شماره 29 - سلطنت Interface Design - Question #29 - Monarchy

  • درک طراحی رابط و سوال شماره 29 - سلطنت Understanding Interface Design & Question #29 - Monarchy

  • پی بردن به موارد آزمایشی ما Figuring Out Our Test Cases

  • تفکر در مورد منطقی سلطنت Thinking About The Logical Of The Monarchy

  • کدگذاری راه حل سلطنتی ما Coding Our Monarchy Solution

تلاش - سوال شماره 30 - اجرای پیشوند Trie (متوسط) Tries - Question #30 - Implement Prefix Trie (Medium)

  • معرفی تلاش ها Introducing Tries

  • سوال شماره 30 - اجرای پیشوند Trie Question #30 - Implement Prefix Trie

  • درک منطق روش های ما Understanding The Logic For Our Methods

  • پیاده سازی راه حل ساختار داده پیشوند Trie Implementing Our Prefix Trie Data Structure Solution

از اینجا به کجا برویم؟ Where To Go From Here?

  • متشکرم Thank You!

  • راهنمای یادگیری Learning Guideline

  • تاییدیه های لینکدین LinkedIn Endorsements

  • یک فارغ التحصیل شوید Become An Alumni

  • چالش های کدنویسی Coding Challenges

  • بررسی دوره Course Review

  • چالش نهایی The Final Challenge

ضمیمه: Big O Appendix: Big O

  • نمای کلی بخش Section Overview

  • کد خوب چیست؟ What Is Good Code?

  • Big O و مقیاس پذیری Big O and Scalability

  • O(n) O(n)

  • O (1) O(1)

  • تمرین: محاسبه O بزرگ Exercise: Big O Calculation

  • راه حل: محاسبه O بزرگ Solution: Big O Calculation

  • تمرین: Big O Calculation 2 Exercise: Big O Calculation 2

  • راه حل: محاسبه بزرگ O 2 Solution: Big O Calculation 2

  • ساده سازی Big O Simplifying Big O

  • قانون Big O 1 Big O Rule 1

  • قانون Big O 2 Big O Rule 2

  • قانون بزرگ 3 Big O Rule 3

  • O(n^2) O(n^2)

  • قانون 4 بزرگ O Big O Rule 4

  • ورق تقلب بزرگ ای Big O Cheat Sheet

  • این همه به چه معناست؟ What Does This All Mean?

  • O(n!) O(n!)

  • 3 ستون برنامه نویسی 3 Pillars Of Programming

  • پیچیدگی فضا Space Complexity

  • تمرین: پیچیدگی فضا Exercise: Space Complexity

  • تمرین: توییتر Exercise: Twitter

  • خلاصه بخش Section Summary

پیوست: آرایه ها Appendix: Arrays

  • معرفی آرایه ها Arrays Introduction

  • آرایه های استاتیک در مقابل دینامیک Static vs Dynamic Arrays

  • اختیاری: پیاده سازی یک آرایه Optional: Implementing An Array

ضمیمه: جداول هش Appendix: Hash Tables

  • مقدمه هش جداول Hash Tables Introduction

  • عملکرد هش Hash Function

  • برخورد هش Hash Collisions

  • جداول هش در مقابل آرایه ها Hash Tables VS Arrays

ضمیمه: لیست های پیوندی Appendix: Linked Lists

  • فهرست های پیوندی مقدمه Linked Lists Introduction

  • لیست پیوندی چیست؟ What Is A Linked List?

  • تمرین: چرا لیست های پیوندی؟ Exercise: Why Linked Lists?

  • راه حل: چرا لیست های پیوندی؟ Solution: Why Linked Lists?

  • اشاره گر چیست؟ What Is A Pointer?

  • لیست های دارای پیوند دوگانه Doubly Linked Lists

  • Singly VS لیست های دارای پیوند دوگانه Singly VS Doubly Linked Lists

  • بررسی لیست های پیوندی Linked Lists Review

ضمیمه: پشته + صف Appendix: Stacks + Queues

  • Stacks + Queues مقدمه Stacks + Queues Introduction

  • پشته ها Stacks

  • صف ها Queues

  • تمرین: پشته در مقابل صف Exercise: Stacks VS Queues

  • راه حل: پشته در مقابل صف Solution: Stacks VS Queues

  • بررسی پشته ها + صف ها Stacks + Queues Review

ضمیمه: درختان Appendix: Trees

  • معرفی درختان Trees Introduction

  • درختان باینری Binary Trees

  • O (log n) O(log n)

  • درختان جستجوی دودویی Binary Search Trees

  • متعادل در مقابل BST نامتعادل Balanced VS Unbalanced BST

  • مزایا و معایب BST BST Pros and Cons

  • تلاش می کند Tries

ضمیمه: جستجو + BFS + DFS Appendix: Searching + BFS + DFS

  • نمودار + پیمایش درخت Graph + Tree Traversals

  • مقدمه BFS BFS Introduction

  • معرفی DFS DFS Introduction

  • BFS در مقابل DFS BFS vs DFS

  • تمرین: BFS در مقابل DFS Exercise: BFS vs DFS

  • راه حل: BFS در مقابل DFS Solution: BFS vs DFS

  • widthFirstSearch() breadthFirstSearch()

  • Preorder، InOrder، PostOrder PreOrder, InOrder, PostOrder

  • depthFirstSearch() depthFirstSearch()

پیوست: بازگشت Appendix: Recursion

  • مقدمه بازگشت Recursion Introduction

  • سرریز پشته Stack Overflow

  • آناتومی بازگشت Anatomy Of Recursion

  • بازگشتی در مقابل تکرار شونده Recursive VS Iterative

  • زمان استفاده از بازگشت When To Use Recursion

  • بررسی بازگشت Recursion Review

ضمیمه: مرتب سازی Appendix: Sorting

  • مقدمه مرتب سازی Sorting Introduction

  • مشکل با sort() The Issue With sort()

  • الگوریتم های مرتب سازی Sorting Algorithms

  • مرتب سازی حباب Bubble Sort

  • تمرین: مرتب سازی حبابی Exercise: Bubble Sort

  • راه حل: مرتب سازی حباب Solution: Bubble Sort

  • انتخاب مرتب سازی Selection Sort

  • تمرین: انتخاب مرتب سازی Exercise: Selection Sort

  • راه حل: انتخاب مرتب سازی Solution: Selection Sort

  • الگوریتم های رقص Dancing Algorithms

  • مرتب سازی درج Insertion Sort

  • تمرین: مرتب سازی درج Exercise: Insertion Sort

  • راه حل: مرتب سازی درج Solution: Insertion Sort

  • ادغام مرتب سازی و O(n log n) Merge Sort and O(n log n)

  • تمرین: Merge Sort Exercise: Merge Sort

  • راه حل: Merge Sort Solution: Merge Sort

  • مرتب سازی سریع Quick Sort

بخش پاداش BONUS SECTION

  • سخنرانی پاداش ویژه Special Bonus Lecture

نمایش نظرات

در مصاحبه کدنویسی مسلط شوید: مصاحبه های فناوری بزرگ (FAANG).
جزییات دوره
36.5 hours
291
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
58,493
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Andrei Neagoie Andrei Neagoie

بنیانگذار zerotomastery.io

Yihua Zhang Yihua Zhang

توسعه دهنده ارشد نرم افزار