آموزش اصول طراحی سیستم: راهنمای مبتدیان برای مصاحبه

System Design Essentials: A Beginner's Guide to interview

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

به «ضرورت‌های طراحی سیستم: راهنمای مبتدیان برای ساخت بلوک‌ها» خوش آمدید، یک دوره آموزشی جامع Udemy که صریحاً برای مبتدیان تازه وارد طراحی سیستم طراحی شده است. چه یک فارغ التحصیل تازه وارد یا یک مهندس نرم افزار بدون پیش زمینه علوم کامپیوتر باشید، این دوره به شما کمک می کند تا قبل از غوطه ور شدن در مفاهیم پیچیده تر، اجزای اساسی طراحی سیستم را درک کنید.

برنامه درسی گام به گام ما موضوعات پیچیده را به دروس قابل فهم تقسیم می‌کند و به شما اطمینان می‌دهد که مفاهیم اساسی را درک کرده و پایه‌ای قوی در طراحی سیستم ایجاد می‌کنید.

آنچه یاد خواهید گرفت:

  1. مقدمه ای بر طراحی سیستم: مفاهیم اساسی، اصطلاحات و اهمیت طراحی سیستم در فرآیند توسعه نرم افزار را درک کنید.

  2. سرورها و کلاینت‌ها: درباره نقش‌ها و مسئولیت‌های سرورها و کلاینت‌ها و تعامل آنها در یک سیستم اطلاعاتی کسب کنید.

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

  4. ساختارها و الگوریتم های داده: با اصول ساختار داده و الگوریتم ها و نقش آنها در طراحی سیستم آشنا شوید.

  5. برنامه‌های سمت مشتری: چالش‌ها و محدودیت‌های پلتفرم‌های مختلف سمت مشتری و تأثیر آنها بر طراحی سیستم را بررسی کنید.

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

در پایان این دوره، شما به وضوح بلوک های اساسی طراحی سیستم را درک خواهید کرد و شما را آماده می کند تا عمیق تر در موضوع کاوش کنید و در حرفه حرفه ای خود برتری پیدا کنید. پس همین حالا ثبت نام کنید و اولین قدم را برای تسلط بر طراحی سیستم بردارید!


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

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

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

در پایان، یادگیری اصول اولیه و پرورش توانایی برای ساده‌سازی ایده‌ها جنبه‌های مهم بحث‌های طراحی سیستم موفق است.


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

مدل اصلی هر سیستم نرم افزاری که تا کنون پیاده سازی شده است Basic model of every software system ever implemented

  • معرفی بخش Section introduction

  • همه چیز با یک خط کد شروع می شود It all starts with a single line of code

  • مفهوم توابع Concept of functions

  • مفهوم نخ و فرآیند در زمینه سیستم های نرم افزاری Notion of thread and process in context of software systems

  • نقش سیستم عامل ها در مدل پایه Role of operating systems in the basic model

  • سخت افزار در تصویر جامع طراحی سیستم Hardware in the holistic picture of system design

  • محاسبه عناصر پردازنده و حافظه Compute elements of processor and memory

  • ذخیره سازی به عنوان یک عنصر از سیستم Storage as an element of system

  • شبکه به عنوان یک جزء سیستم Networking as a system component

  • گسترش مدل پایه به محاسبات ابری Expanding the basic model to cloud computing

  • چشم انداز عملکردی پشته ها در زیرساخت ابری Functional perspective of stacks in cloud infrastructure

  • مسابقه مقدماتی The basics quiz

هدف از سیستم های ساختمانی Purpose of building systems

  • تعریف محدوده سیستم Defining the scope of the system

  • سیستم هایی برای جمع آوری اطلاعات Systems meant for gathering information

  • سیستم هایی که اطلاعات را ذخیره می کنند Systems that store information

  • سیستم هایی که اطلاعات را پردازش می کنند Systems that process information

  • سیستم های بازیابی و جستجوی اطلاعات Information retrieval and search systems

  • سیستم های ارائه اطلاعات Information presentation systems

  • مسابقه طبقه بندی سیستم ها Systems classification quiz

مدل ساده برای یک سیستم پایان به پایان Simple model for an end to end system

  • معرفی بخش Section introduction

  • مدل اصلی سرور مشتری با یک سرور واحد Basic client server model with a single server

  • معماری میکروسرویس ها با سیستم دو سرور ساده شده است Microservices architecture simplified with two server system

  • مدل چند سرور با تایید و پاسخ تاخیر Multi-server model with acknowledgement and delayed response

  • تفاوت بین مدل های همزمان و ناهمزمان Difference between synchronous and asynchronous models

  • آزمون مدل سیستم ساده Simple sytem model Quiz

محاسبه عناصر یک سیستم Compute elements of a systems

  • الگوریتم ها و ساختارهای داده به عنوان بخشی از طراحی سیستم سیستم های پیچیده Alogrithms and data strucutres as part of system design of complex systems

  • لزوم شناخت کامپایلرها برای طراحی سیستم های پیچیده Necessity of understanding compilers for designing complex systems

  • مورد عجیب خزنده های وب و ارتباط پنهان با سؤالات مصاحبه The curious case of web crawlers and hidden connection to interview questions

  • تجزیه و تحلیل Analytics

  • مسابقه عناصر محاسبه Compute elements Quiz

مبانی ساختارهای داده برای درک طراحی سیستم Fundamentals of data structures to understand system design

  • معرفی بخش Section introduction

  • مفهوم آرایه های دینامیک Concept of dynamics arrays

  • مفهوم لیست ها به عنوان ساختار داده Concept of lists as data structure

  • نمای کلی درختان به عنوان ساختار داده Overview of Trees as data structure

  • نمای کلی Hashmaps Hashmaps overview

  • ساختارهای داده بالاتر باید یاد گرفت که در هنگام ساختن سیستم های پیچیده از آنها استفاده کند Higher data strcutures one must learn to use while building complex systems

  • آزمون ساختار داده در طراحی سیستم Data Strcutures in system design quiz

دانش الگوریتم های مورد نیاز از دیدگاه طراحی سیستم Algorithms knowledge needed from system design perspective

  • بخش مقدمه Section Introduction

  • مرتب سازی Sorting

  • اهمیت درک مرتب‌سازی سریع و ادغام مرتب‌سازی در جزئیات Importance of understanding quick sort and merge sort in detail

  • الگوریتم های جستجو Search algorithms

  • جستجوی دودویی در درختان و پیمایش نمودار Binary search on trees and graph traversals

  • آزمون الگوریتم ها در طراحی سیستم Algorithms in system design Quiz

تحلیل پیچیدگی و تاثیر آن بر طراحی سیستم Complexity analysis and its impact on system design

  • پیچیدگی زمانی Time complexity

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

  • برنامه نویسی پویا و کامل بودن NP Dynamic programming and NP completeness

  • آزمون پیچیدگی Complexity Quiz

برنامه های کاربردی سمت مشتری به عنوان بلوک های ساختمان اساسی سیستم ها Client side applications as basic building blocks of systems

  • برنامه های سمت مشتری یک نمای کلی Client Side applications an overview

  • هدف از برنامه های سمت مشتری Purpose of client side applications

  • چه زمانی باید در پیچیدگی های قسمت جلویی فرو رفت؟ When to dive deep into front end complexities?

  • آزمون برنامه سمت مشتری Client Side application Quiz

سرورها - ستون فقرات انقلاب زیرساخت مدرن Servers - The backbone of modern infrastructure revolution

  • بخش مقدمه Section Introduction

  • ضرورت وجود سرورها Necessity of servers

  • سرور در مصاحبه های طراحی سیستم Server in system design interviews

  • سرورها همه جا هستند! یاد بگیرید که چگونه از ابتدا یکی بنویسید! Servers are everywhere! Learn how to write one from scratch!

  • مقیاس پذیری و سرورها Scalability and servers

  • آزمون سرور Server Quiz

نتیجه Conclusion

  • [سخنرانی پاداش] [Bonus Lecture]

نمایش نظرات

نظری ارسال نشده است.

آموزش اصول طراحی سیستم: راهنمای مبتدیان برای مصاحبه
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
1 hour
49
Udemy (یودمی) udemy-small
03 اردیبهشت 1402 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
301
از 5
ندارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Subodh Chiwate Subodh Chiwate

برنامه نویس، امور مالی شخصی، فناوری

من Subodh (36) هستم، یک برنامه نویس با MS در مهندسی برق و مقیم هند.

من روی پروژه‌هایی در حوزه‌های متعددی مانند بیمه، ایمیل، سیستم‌های تعبیه‌شده برای پزشکی از راه دور، توزیع سینمای دیجیتال، سیستم‌های توزیع‌شده، و ساختن نقشه کار کرده‌ام.

از کاوش در ارتباط بین چگونه و چرا در مورد هر مشکل فنی لذت می برم. در طول سالها متوجه شده ام که تحقیق یک سبک زندگی است و مهندسی یک نگرش است.

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

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

Udemy (یودمی)

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

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