لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش اصول طراحی سیستم: راهنمای مبتدیان برای مصاحبه
System Design Essentials: A Beginner's Guide to interview
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
طراحی سیستم، مهندسی نرم افزار، توسعه اپلیکیشن، ساختارهای داده، الگوریتم ها، مبانی برنامه نویسی مبانی طراحی سیستم: مفاهیم اساسی، اصطلاحات و اهمیت طراحی سیستم در توسعه نرم افزار را درک کنید. نقش های سرور و کلاینت: درک مسئولیت ها و تعامل بین سرورها و کلاینت ها در یک سیستم. تجزیه و تحلیل پیچیدگی: در مورد پیچیدگی زمان و مکان و اهمیت آنها در ساخت سیستم های کارآمد بیاموزید. ساختارها و الگوریتم های داده: کسب دانش در مورد ساختارها و الگوریتم های داده پایه و نقش آنها در طراحی سیستم. برنامه های کاربردی سمت مشتری: چالش ها و محدودیت های پلتفرم های مختلف سمت مشتری و تأثیر آنها بر طراحی سیستم را بررسی کنید. پیش نیازها: درک اولیه مفاهیم برنامه نویسی: آشنایی با اصول اساسی برنامه نویسی مانند متغیرها، حلقه ها و دستورات شرطی مفید خواهد بود. دانش حداقل یک زبان برنامه نویسی: آشنایی با هر زبان برنامه نویسی (مانند پایتون، جاوا یا جاوا اسکریپت) به دانش آموزان کمک می کند تا مفاهیم را به طور موثرتری درک کنند. اشتیاق به یادگیری: میل شدید به یادگیری و کشف دنیای طراحی سیستم برای استفاده حداکثری از این دوره ضروری است. هیچ تجربه قبلی در زمینه طراحی سیستم مورد نیاز نیست: این دوره به طور خاص برای مبتدیانی طراحی شده است که ممکن است دانش یا تجربه قبلی در طراحی سیستم نداشته باشند.
به «ضرورتهای طراحی سیستم: راهنمای مبتدیان برای ساخت بلوکها» خوش آمدید، یک دوره آموزشی جامع Udemy که صریحاً برای مبتدیان تازه وارد طراحی سیستم طراحی شده است. چه یک فارغ التحصیل تازه وارد یا یک مهندس نرم افزار بدون پیش زمینه علوم کامپیوتر باشید، این دوره به شما کمک می کند تا قبل از غوطه ور شدن در مفاهیم پیچیده تر، اجزای اساسی طراحی سیستم را درک کنید.
برنامه درسی گام به گام ما موضوعات پیچیده را به دروس قابل فهم تقسیم میکند و به شما اطمینان میدهد که مفاهیم اساسی را درک کرده و پایهای قوی در طراحی سیستم ایجاد میکنید.
آنچه یاد خواهید گرفت:
مقدمه ای بر طراحی سیستم: مفاهیم اساسی، اصطلاحات و اهمیت طراحی سیستم در فرآیند توسعه نرم افزار را درک کنید.
سرورها و کلاینتها: درباره نقشها و مسئولیتهای سرورها و کلاینتها و تعامل آنها در یک سیستم اطلاعاتی کسب کنید.
پیچیدگی زمانی و مکانی: مروری بر تحلیل پیچیدگی و اهمیت آن سیستمهای ساختمانی ناکارآمد به دست آورید.
ساختارها و الگوریتم های داده: با اصول ساختار داده و الگوریتم ها و نقش آنها در طراحی سیستم آشنا شوید.
برنامههای سمت مشتری: چالشها و محدودیتهای پلتفرمهای مختلف سمت مشتری و تأثیر آنها بر طراحی سیستم را بررسی کنید.
نمونههای سادهشده دنیای واقعی: جنبههای عملی طراحی سیستم را از طریق مطالعات موردی و مثالهایی که به راحتی دنبال میشوند، درک کنید، و از انتقال آرام از تئوری به عمل اطمینان حاصل کنید.
در پایان این دوره، شما به وضوح بلوک های اساسی طراحی سیستم را درک خواهید کرد و شما را آماده می کند تا عمیق تر در موضوع کاوش کنید و در حرفه حرفه ای خود برتری پیدا کنید. پس همین حالا ثبت نام کنید و اولین قدم را برای تسلط بر طراحی سیستم بردارید!
تسلط بر اصول اولیه و سادهسازی ایدهها برای بحثهای عملی طراحی سیستم ضروری است. با درک کامل بلوک های ساختمانی اساسی، می توانید با اطمینان بیشتری پیچیدگی های طراحی سیستم های مقیاس پذیر، کارآمد و انعطاف پذیر را بررسی کنید. اهمیت یادگیری این اصول را نمی توان اغراق کرد، زیرا آنها به عنوان پایه ای قوی عمل می کنند که بر اساس آن می توانید تخصص خود را ایجاد کنید و در طول فرآیند طراحی تصمیمات آگاهانه بگیرید.
سادهسازی ایدهها یک مهارت ارزشمند است، عمدتاً در هنگام برقراری ارتباط با اعضای تیم که ممکن است سطوح مختلف درک داشته باشند یا از پیشینههای حرفهای متفاوت باشند. با تجزیه مفاهیم پیچیده به عبارات قابل هضم و به راحتی قابل ربط، می توانید اطمینان حاصل کنید که همه افراد درگیر در بحث در یک صفحه هستند. این باعث ایجاد یک محیط مشارکتی و فراگیرتر می شود که در آن همه شرکت کنندگان می توانند بینش ها و ایده های خود را برای ایجاد یک طراحی کلی بهتر مشارکت دهند.
بهعلاوه، سادهسازی ایدهها در طول بحثهای طراحی سیستم، امکان حل کارآمدتر مشکل را فراهم میکند. هنگامی که مفاهیم به وضوح و سرراست ارائه می شوند، شناسایی چالش های بالقوه، ابداع راه حل های موثر و بهینه سازی طراحی برای عملکرد بهتر آسان تر می شود. این مهارت همچنین به پر کردن شکافها بین ذینفعان فنی و غیرفنی کمک میکند و امکان همکاری روانتر و یک محصول نهایی منسجمتر را فراهم میکند.
در پایان، یادگیری اصول اولیه و پرورش توانایی برای سادهسازی ایدهها جنبههای مهم بحثهای طراحی سیستم موفق است.
سرفصل ها و درس ها
مدل اصلی هر سیستم نرم افزاری که تا کنون پیاده سازی شده است
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!
من Subodh (36) هستم، یک برنامه نویس با MS در مهندسی برق و مقیم هند.
من روی پروژههایی در حوزههای متعددی مانند بیمه، ایمیل، سیستمهای تعبیهشده برای پزشکی از راه دور، توزیع سینمای دیجیتال، سیستمهای توزیعشده، و ساختن نقشه کار کردهام.
از کاوش در ارتباط بین چگونه و چرا در مورد هر مشکل فنی لذت می برم. در طول سالها متوجه شده ام که تحقیق یک سبک زندگی است و مهندسی یک نگرش است.
من از ایجاد محتوا و ویرایش ویدیو همراه با مطالعه مرتبط با تجارت، امور مالی شخصی، اقتصاد، بیوگرافی، تاریخ و برنامه نویسی/مهندسی نرم افزار لذت می برم.
ایده ها و پیشنهادات شما همیشه مورد استقبال قرار می گیرد.
نمایش نظرات