آموزش مصاحبه شغلی برنامه نویسی: راهنمای جامع موفقیت - آخرین آپدیت

دانلود Cracking the Coding Interview

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

آماده‌سازی برای مصاحبه شغلی برنامه‌نویسی

سوالات مصاحبه کدنویسی و آمادگی برای موفقیت در مصاحبه شرکت‌های بزرگ فناوری.

مهارت‌های مورد نیاز:

  • توانایی فرمول‌بندی مسائل واقعی
  • مهارت تحلیل مسئله، طراحی الگوریتم و تبدیل الگوریتم به یک برنامه تست شده
  • توانایی تحلیلی برای تعیین پیچیدگی محاسباتی یک الگوریتم
  • حل مسئله الگوریتمی

پیش‌نیازها: ساختمان داده‌ها و الگوریتم‌ها

هدف از این دوره، کمک به مهندسانی است که برای موقعیت‌های توسعه نرم‌افزار در شرکت‌های بزرگ فناوری (BIG Tech) مصاحبه می‌شوند، تا مصاحبه کدنویسی را با موفقیت پشت سر بگذارند.

این دوره شامل مجموعه‌ای از مسائل/سوالاتی است که در مصاحبه‌های کدنویسی مختلف پرسیده شده‌اند.

توجه داشته باشید که تعداد سوالات موجود در این دوره نامحدود است.

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

بنابراین، با خرید این دوره، شما چیزی را به دست می‌آورید که در طول سفر توسعه نرم‌افزارتان به شما کمک می‌کند.

در پایان این دوره:

شما توانایی فرمول‌بندی مسائل واقعی را خواهید داشت.

شما مهارت تحلیل مسئله، طراحی الگوریتم و تبدیل الگوریتم به یک برنامه تست شده را خواهید داشت.

شما توانایی تحلیلی برای تعیین پیچیدگی محاسباتی یک الگوریتم را خواهید داشت.

در مورد پیش‌نیاز این دوره، شما باید دانش پایه‌ای قوی در مورد ساختمان داده‌ها و الگوریتم‌ها داشته باشید.

توجه داشته باشید که این دوره به شما ساختمان داده‌ها و الگوریتم‌ها را آموزش نمی‌دهد.

این دوره به شما می‌آموزد که چگونه از ساختمان داده‌ها و الگوریتم‌ها برای حل مسائل مختلف استفاده کنید.

و در نهایت، این دوره با ضمانت بازگشت وجه ۳۰ روزه ارائه می‌شود.

بنابراین، شما واقعاً چیزی را از دست نمی‌دهید.

من بسیار هیجان‌زده هستم که شما را در این دوره ثبت‌نام شده می‌بینم.

متشکرم!


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

مقدمه Introduction

  • درباره این دوره About this Course

[رشته‌ها] بررسی اینکه آیا رشته داده شده جایگشتی از یک پالیندروم است یا خیر [Strings] Check whether the given String is a permutation of a palindrome

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • تحلیل پیچیدگی زمانی و مکانی Analysing the Time and Space Complexity

  • کدنویسی راه حل بهینه Coding the Optimal Solution

[لیست‌های پیوندی] برگرداندن عنصر Kام به آخر در لیست پیوندی [Linked Lists] Return Kth to last element in LinkedList.

  • شرح مسئله Problem Statement

  • راه حل جستجوی فراگیر Brute-Force Solution

  • بهینه‌سازی بیشتر Optimizing further

  • کدنویسی راه حل بهینه Coding the Optimal Solution

[پشته‌ها و صف‌ها] پشته با عملیات کمینه [Stacks and Queues] Stack with min Operation.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل بهینه Coding the optimal solution

[لیست‌های پیوندی] معکوس کردن یک لیست پیوندی تکی [Linked Lists] Reverse a Single LinkedList.

  • شرح مسئله Problem Statement

  • تمرین 1 Exercise-1

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل بهینه Coding the optimal solution

[جستجو] جستجوی یک آرایه مرتب شده برای اولین رخداد k [Searching] Search a Sorted Array for first occurrence of k.

  • شرح مسئله The Problem Statement

  • تمرین 1 Exercise-1

  • یافتن موارد آزمایشی Figuring out the Test Cases

  • تمرین 2 Exercise-2

  • راه حل جستجوی فراگیر Brute-Force Solution

  • بهینه‌سازی بیشتر Optimizing further

  • تمرین 3 Exercise-3

  • کدنویسی راه حل بهینه Coding the optimal solution

[برنامه‌نویسی پویا] شمارش راه‌های بالا رفتن [Dynamic Programming] Count ways to climb.

  • شرح مسئله Problem Statement

  • درک شرح مسئله Understanding the problem statement

  • رویکرد بازگشتی Recursive approach

  • بهینه‌سازی با استفاده از Memoization Optimising using Memoization

[ریاضی] صفرهای انتهایی در فاکتوریل n [Math] Trailing Zeros in n factorial.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the solution

[جستجو] جستجوی یک آرایه مرتب شده برای ورودی برابر با اندیس آن [Searching] Search a Sorted Array for Entry equal to its Index.

  • شرح مسئله The Problem Statement

  • تمرین 1 Exercise-1

  • راه حل جستجوی فراگیر Bruteforce Solution

  • بهینه‌سازی بیشتر Optimizing further

  • نوشتن موارد آزمایشی Writing TestCases

  • اعتبارسنجی رویکرد با موارد آزمایشی Validating the approach with Test Cases

  • کدنویسی راه حل بهینه Coding the Optimal Solution

[رشته‌ها] معکوس کردن ترتیب کلمات در یک جمله [Strings] Reverse the order of words in a Sentence.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the Solution

[رشته‌ها] URLify کردن یک رشته [Strings] URLify a String.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the solution

[آرایه‌ها] آیا آخرین اندیس قابل دستیابی است؟ [Arrays] Is last index reachable?

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the Solution

[لیست‌های پیوندی] پیاده‌سازی محوربندی لیست [Linked Lists] Implement List Pivoting.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل بهینه Coding the optimal Solution

[درخت‌های جستجوی دودویی] ساختن یک درخت با ارتفاع کمینه از یک آرایه مرتب شده [Binary Search Trees] Construct a minimal height tree from a sorted array.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the solution

[پشته‌ها و صف‌ها] پیاده‌سازی یک صف با استفاده از پشته‌ها [Stacks and Queues] Implement a Queue using Stacks

  • شرح مسئله Problem Statement

  • درک شرح مسئله Understanding the Problem Statement

  • تمرین 1 Exercise-1

  • یافتن راه حل Figuring out the Solution

  • کدنویسی راه حل بهینه Coding the Optimal Solution

[انواع اولیه] بررسی اینکه آیا یک عدد صحیح اعشاری یک پالیندروم است یا خیر [Primitive Types] Check if a Decimal Integer is a Palindrome

  • شرح مسئله Problem Statement

  • تمرین 1 Exercise-1

  • یافتن راه حل Figuring out the Solution

  • کدنویسی راه حل بهینه Coding the Optimal Solution

[مرتب‌سازی] محاسبه تقاطع دو آرایه مرتب شده [Sorting] Compute the Intersection of two sorted arrays

  • شرح مسئله Problem Statement

  • تمرین 1 Exercise-1

  • راه حل جستجوی فراگیر Brute-Force Solution

  • بهینه‌سازی بیشتر - 1 Optimizing further - 1

  • بهینه‌سازی بیشتر - 2 Optimizing further - 2

  • نوشتن موارد آزمایشی Writing TestCases

  • اعتبارسنجی رویکرد با موارد آزمایشی Validating the approach with Testcases.

  • کدنویسی راه حل بهینه Coding the Optimal Solution

[آرایه‌ها] مسئله پرچم ملی هلند [Arrays] The Dutch National Flag Problem

  • شرح مسئله Problem Statement

  • راه حل جستجوی فراگیر Brute-Force Solution

  • بهینه‌سازی بیشتر Optimizing further

  • نوشتن موارد آزمایشی Writing TestCases

  • تمرین 1 Exercise-1

  • کدنویسی راه حل بهینه Coding the optimal solution

[حریصانه] مسئله پوشش بازه [Greedy] The Interval Covering Problem

  • شرح مسئله Problem Statement

  • درک شرح مسئله Understanding the Problem Statement

  • تمرین 1 Exercise-1

  • یافتن رویکرد Figuring out the approach

  • تمرین 2 Exercise-2

  • کدنویسی راه حل بهینه Coding the optimal solution

[دستکاری بیت] تولید مجموعه توانی [Bit Manipulation] Generate the Power Set

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل بهینه Coding the optimal solution

[بازگشت] تولید تمام زیرمجموعه‌ها با استفاده از بازگشت [Recursion] Generate all subsets using Recursion.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the Solution

[بازگشت] تولید تمام زیرمجموعه‌های با اندازه k [Recursion] Generate all subsets of size k.

  • شرح مسئله Problem Statement

  • یافتن رویکرد_بخش-1 Figuring out the approach_Part-1

  • یافتن رویکرد_بخش-2 Figuring out the approach_Part-2

  • کدنویسی راه حل Coding the Solution

[رشته‌ها] کدگذاری طول اجرا [Strings] Run Length Encoding

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل بهینه Coding the optimal solution

[درخت‌های جستجوی دودویی] اولین کلید بزرگتر از مقدار داده شده در یک درخت جستجوی دودویی [Binary Search Trees] First Key greater than a given value in a Binary Search Tr

  • شرح مسئله Problem Statement

  • راه حل جستجوی فراگیر Brute-Force Solution

  • یافتن رویکرد Figuring out the approach

  • نوشتن موارد آزمایشی Writing TestCases

  • تمرین 1 Exercise-1

  • کدنویسی راه حل بهینه Coding the optimal solution

[بازگشت] برج‌های هانوی [Recursion] Towers Of Hanoi

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the solution

  • تحلیل پیچیدگی زمانی Analysing the Time Complexity

[برنامه‌نویسی پویا] طولانی‌ترین زیردنباله صعودی [Dynamic Programming] Longest Increasing Subsequence

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل بهینه Coding the optimal solution

[دستکاری بیت] شمارش بیت‌های معکوس برای تبدیل A به B [Bit Manipulation] Flip Bits count to convert A to B

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the solution

[رشته‌ها] بررسی اینکه آیا رشته A جایگشتی از B است یا خیر [Strings] Check whether Strings A is a permutation of B.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

[گراف‌ها] مسیر بین دو گره در یک گراف جهت‌دار [Graphs] Route Between two Nodes in a Directed Graph

  • شرح مسئله Problem Statement

  • یافتن رویکرد_بخش-1 Figuring out the approach_Part-1

  • یافتن رویکرد_بخش-2 Figuring out the approach_Part-2

  • کدنویسی راه حل بهینه Coding the Optimal Solution

[رشته‌ها] بررسی اینکه آیا رشته چرخشی از رشته دیگر است یا خیر [Strings] Check whether the String is a Rotation of another String.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

[بازگشت] چاپ تمام ترکیب‌های پرانتزهای متعادل [Recursion] Print all combinations of balanced parentheses.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the Solution

  • تحلیل پیچیدگی زمانی و مکانی Analysing Time Complexity and Space Complexity

[لیست‌های پیوندی] حذف یک گره با دسترسی فقط به آن گره [LinkedLists] Delete a node given only access to that node.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

[بازگشت] محاسبه تمام جایگشت‌های یک رشته از کاراکترهای منحصر به فرد [Recursion] Compute all permutations of a string of unique characters

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the Solution

  • محاسبه زمان اجرا Calculating the Runtime

[بازگشت] محاسبه جایگشت‌های یک رشته با کاراکترهای تکراری [Recursion] Compute Permutations of a String with duplicate characters.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the solution

[جستجو] جستجو در یک آرایه مرتب شده چرخانده شده [Searching] Search in a Sorted Rotated array

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • تمرین Exercise

[رشته‌ها] آیا یک ویرایش فاصله دارد؟ [Strings] Is One Edit Away

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the Solution

[لیست‌های پیوندی] تشخیص حلقه و گره در ابتدای حلقه [LinkedLists] Detection of loop and the node at the beginning of the loop.

  • شرح مسئله Problem Statement

  • تشخیص حلقه Loop Detection

  • یافتن اولین گره حلقه Finding the first node of the Loop

  • کدنویسی راه حل Coding the Solution

[درخت‌های جستجوی دودویی] اعتبارسنجی یک درخت جستجوی دودویی [Binary Search Trees] Validate a Binary Search Tree.

  • شرح مسئله Problem Statement

  • یافتن رویکرد_بخش-1 Figuring out the approach_Part-1

  • یافتن رویکرد_بخش-2 Figuring out the approach_Part-2

  • کدنویسی راه حل Coding the solution

[مرتب‌سازی] ادغام دو آرایه مرتب شده [Sorting] Merge two sorted arrays.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

[لیست‌های پیوندی] حذف تکراری‌ها [LinkedLists] Remove duplicates.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the solution

[پشته‌ها و صف‌ها] مرتب‌سازی یک پشته [Stacks and Queues] Sorting a Stack.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

[لیست‌های پیوندی] تعیین نقطه تقاطع دو لیست پیوندی [LinkedLists] Determine the intersection point of two Linked Lists.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

[درخت‌های دودویی] ایجاد لیست پیوندی در هر عمق [Binary Trees] Create LinkedList at each depth.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

[لیست‌های پیوندی] اضافه کردن دو عدد نمایش داده شده توسط لیست‌های پیوندی [LinkedLists] Add two numbers represented by Linked Lists.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the solution

[درخت‌های دودویی] بررسی اینکه آیا درخت دودویی داده شده متعادل است یا خیر [Binary Trees] Check whether the given Binary Tree is balanced.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the solution

[آرایه‌ها] دنباله پیوسته با بزرگترین مجموع [Arrays] Contiguous sequence with the largest sum.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

[پشته‌ها] ارزیابی عبارت پسوندی [Stacks] Evaluation of Postfix Expression.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

[برنامه‌نویسی پویا] طولانی‌ترین زیردنباله پالیندرومیک [Dynamic Programming] Longest Palindromic Subsequence

  • شرح مسئله Problem Statement

  • رویکرد بازگشتی Recursive approach

  • بهینه‌سازی با استفاده از Memoization Optimizing using Memoization

[جستجو] یافتن جفت‌ها با جمع [Searching] Find Pairs with Sum.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the Solution

[درخت‌های دودویی] جد مشترک پایین‌ترین [Binary Trees] Lowest Common Ancestor

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the Solution

[حریصانه] مسئله حداکثرسازی زمانبندی بازه [Greedy] Interval scheduling maximization problem

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the Solution

[رشته‌ها] آیا کاراکترها منحصر به فرد هستند؟ [Strings] Are characters unique

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

[آرایه‌ها] صفر کردن ماتریس [Arrays] Zeroing the Matrix

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • بهینه‌سازی بیشتر Optimizing further

  • کدنویسی راه حل Coding the Solution

[درخت‌های دودویی] آیا متقارن است؟ [Binary Trees] Is Symmetric

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

[پشته‌ها] پیاده‌سازی یک API پشته با استفاده از یک پشته [Heaps] Implement a Stack API using a Heap.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

[آرایه‌ها] حذف تکراری‌ها از یک آرایه مرتب شده بدون استفاده از فضای اضافی [Arrays] Delete duplicates from a sorted array without using additional space.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the Solution

[بازگشت] محاسبه تمام یادآورها برای یک شماره تلفن [Recursion] Compute all mnemonics for a phone number.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the Solution

[لیست‌های پیوندی] ادغام دو لیست پیوندی مرتب شده [Linked Lists] Merge two sorted linked lists.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

[معماها] کوزه‌های آب [Puzzles] Jugs of Water

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

[آرایه‌ها] افزایش یک عدد صحیح با دقت دلخواه [Arrays] Increment an arbitrary-precision Integer.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • کدنویسی راه حل Coding the Solution

[رشته‌ها] مسئله نگاه کن و بگو [Strings] The Look-And-Say Problem.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

  • تحلیل پیچیدگی زمانی Analysing the Time Complexity

[درخت‌های دودویی] پیاده‌سازی پیمایش میانی بدون بازگشت [Binary Trees] Implement Inorder Traversal without Recursion.

  • شرح مسئله Problem Statement

  • یافتن رویکرد Figuring out the approach

منابع Resources

  • دانلود کد منبع و راه‌اندازی محیط Downloading the source code and setting up the environment.

نمایش نظرات

آموزش مصاحبه شغلی برنامه نویسی: راهنمای جامع موفقیت
جزییات دوره
11 hours
208
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,379
4.3 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Harshith Gandham Harshith Gandham

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