Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
System Design Fundamentals
Rating: 4.2 out of 5(389 ratings)
7,782 students

System Design Fundamentals

Design Fundamentals and Interview Process
Created byKamal Sharma
Last updated 5/2021
English

What you'll learn

  • Students would learn about System Design fundamentals and strategy of designing a large system.

Course content

2 sections11 lectures59m total length
  • Introduction1:06
  • Data Partitioning6:59
  • Data Redundancy and Replications2:50
  • Cache & CDN4:04
  • Load Balancing4:05
  • SQL vs NOSQL5:40

    Learn how SQL and NoSQL databases compare, including key-value stores, document databases, column families, and graph databases, and choose based on use case, schema flexibility, and agile development.

  • Big Data Solutions4:07
  • Hashing and Consistent Hashing3:59
  • Application Deployment Stretegy5:15

Requirements

  • The is no prerequisites for this course to start.

Description

Designing an application without knowing design fundamentals is like you are playing a game without knowing the rules. So You can consider design fundamentals as foundational knowledge for system design. It is as important as data structures for Coding interviews.

One thing is very important that there is nothing like wrong design, It always may be good or bad design. When interviewers ask you about system limitations or design problems then fundamental knowledge can be the key player to answer such questions because all the fundamentals are solutions for some specific problems.

The goal of such a question is to check your problem-solving ability on a complex problem. It is quite understandable that you might not have the experience to design such big applications but proposing the best possible solutions would show your understanding of design fundamentals.

The interviewer wants to see if you consider common distributed system challenges in your design like distributing the data to multiple machines and aggregating them together later and equally distributing the load on multiple servers. It is also quite interesting to see your design approach when user throughput increases.

System design questions are quite open-ended and there is no standard answer for such questions. They want to see that you think about operational scenarios, edge cases, limitations, and assumptions.

Interviewers can decide whatever direction the discussion will go in. With that in mind, even for the same question, you may have a completely different discussion with a different interviewer.

.

Who this course is for:

  • Students who are part of software design or development process would be benefited with the corse.