0% found this document useful (0 votes)
351 views21 pages

System Design Handbook

The Fellowship Program in System Design is a comprehensive, work experience-based course aimed at developing in-demand tech skills for aspiring Senior Software Developers. It includes hands-on learning in Low Level Design (LLD) and High Level Design (HLD), along with real-world projects and mentorship from industry professionals. The program is designed for Software Development Engineers (SDEs) looking to upskill or transition to product companies, with a focus on preparing participants for high-paying tech roles.

Uploaded by

pratheswarans
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
351 views21 pages

System Design Handbook

The Fellowship Program in System Design is a comprehensive, work experience-based course aimed at developing in-demand tech skills for aspiring Senior Software Developers. It includes hands-on learning in Low Level Design (LLD) and High Level Design (HLD), along with real-world projects and mentorship from industry professionals. The program is designed for Software Development Engineers (SDEs) looking to upskill or transition to product companies, with a focus on preparing participants for high-paying tech roles.

Uploaded by

pratheswarans
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

Fellowship Program

in System Design
Detailed Curriculum

HLD
LLD
Table of Contents
01 About the Program 3
02 Key Features 4
03 How is the Program Different from
other Courses?
5
04 Who is this Program For? 6
05 Detailed Syllabus 7
06 Hear from our Learners 18
07 Program Details & Admission Process 20
About the
Program
Succeed as a new-age Senior Software
Developer in top tech companies with
our comprehensive work experience-
based Fellowship program. In this
program, you will learn in-demand tech
skills through real work experience and
solve real work-like problems. 

Master both Low Level Design and High


Level Design as well as latest in-demand
cloud design patterns.
Key
Features

Experience a live AWS-deployed Mastering cloud design patterns like event-

distributed system with 4+ microservices driven and serverless architectures and

communicating through queues and REST concepts such as idempotency and load

APIs.
balancing to become a sought-after developer.

20+ micro-skilling exercises to master 9+ live sessions every month with well-

low level design and high level design structured interactive workshops from

skills in an actual developer environment. seasoned industry professionals.

Interview focused preparation for

cracking System Design rounds.


How is the Program
Different from other
Courses?
Transform learning with Crio's work experience-based approach! Unlike video-
based or note-based learning, our immersive program bridges the gap between
theory and practice. Engage in real-world projects and hands-on activities,
mirroring the challenges of top tech companies. Develop the skills of a Senior
Software Developer and excel in leadership roles. Experience true skill development
with Crio.Do!

Video Courses Bootcamps Crio.Do

Real work experience

True, work-like problem solving

Live sessions & mentorship

Job-ready portfolio

Career guidance
Who is this
Program For?
SDEs looking to upskill

SDEs wanting to change from service to

product companies

SDEs wanting to learn System Design


Get your dream
company through our
carefully-curated
Fellowship program!
Get placed in top tech companies by mastering in-demand System Design skills

through our carefully curated hands-on, work-like, project-based Fellowship

program.

In the Fellowship program, crack super dream jobs (15-40 LPA) in top product-

based companies in senior tech roles.


Low Level Design
8 weeks
Master the art of designing and developing industry-grade applications
using object-oriented design principles & design patterns. Get ready to
crack LLD & machine coding rounds with a structured approach that’s
easy to follow.

Applied OOPs Foundations


Apply OOPs concepts in practical scenarios
Practice creating relationships (IS-A, HAS-A, USES-A) and

cardinality for different use cases


Understand the importance of OOPs concepts through a

series of Design Critique sessions


Encapsulation Abstraction Inheritance Polymorphism
Relationships Cardinality

Designing clean and reusable industry grade applications


Learn tips & tricks to build reusable, modular and extensible
software
Learn to write bug-free code by designing testable components
Apply SOLID design principles when designing your solution
Understand the importance of Design patterns and how they

can simplify problem solving


Learn important design patterns like Singleton, Factory,

Builder, Strategy
Practice converting Product Requirement Docs (PRD) into

class diagrams and sequence diagrams by applying design

principles and patterns

Testable Code SOLID principles Object Oriented Design

Design Patterns Singleton Factory Builder Strategy

Class diagram Sequence diagram

Designing large scale system components across layers


Learn best practices for designing APIs - using the right

HTTP status, versioning, naming conventions, query vs path

parameters and more


Learn how to add concurrency to your application, take care of

communication between different threads and ensure data

consistency
Understand how latency/throughput impacts software design

and the difference between I/O and CPU intensive applications


Go deeper into the world of schema design and understand how

it can impact extensibility, speed & querying capabilities of

your software
Learn the secret behind building large sub-systems

incrementally

API Design API Versioning Query param Path param

Schema design Normalization Threads Data consistency

I/O vs CPU intensive application Latency


InterviewBlitz - Design + Coding challenges

Learn the art of cracking machine coding rounds with focus on

coming up with quick designs and structured execution

Optimize code by using better data structures

Practice design questions such as BookMyShow, Splitwise, and

Trello, commonly asked in machine coding rounds conducted by

leading product companies


High Level Design

12 weeks

ZCommerce - Experience the life of a Senior SDE 

Experience the life of a Senior Software developer at a top product

company. Work on a LIVE production system deployed in AWS

simulating real-world scenarios that you must solve in order to

understand distributed system concepts, design patterns, and cloud-

computing.

Architecture and High Level Design Choices


Experience the life of a Senior Software developer at a top

product company. Work on a LIVE production system deployed in

AWS simulating real-world scenarios that you must solve in order

to understand distributed system concepts, design patterns, and

cloud-computing.

Understand the ZCommerce Microservice architecture and

contrast it with other styles like event-driven, big-compute,

big-data, and more

Learn why ZCommerce uses both EC2 (IaaS) & Elastic Beanstalk

(PaaS) and what other options were evaluated

Classify workloads in ZCommerce as read-heavy, write-heavy,

transactional, etc to figure out the right data store for each

workload

Understand the advantages of choosing REST API over gRPC

Decrease the response time of ZCommerce website using CDN

Microservices architecture Event-driven architecture

Containers Serverless Virtual Machines SQL vs NoSQL

Blob Time Series DB Colu mnar DB CAP Theorem

Transactions Data Consistenc y REST API g RPC

Static Content Hosting N


CD S3
Solve real world scenarios applying distributed system concepts
Solve multiple real world scenarios by applying various distributed

system concepts and cloud design patterns.


Get a bird's-eye view of ZCommerce Microservices and how

they communicate with each other


Find bugs in the ordering flow by tracing API requests across

different subsystems from the browser all the way to the

database using Browser Dev tool and Kibana


Figure out why a user is not able to access specific pages by

understanding authorization policies enforced by API Gateway


Understand how to handle Clickstream data traffic spikes

effectively using Kafka


Avoid duplicate orders from user scenarios such as accidental

multiple clicks using idempotency pattern


Keep the checkout experience lightning fast by processing

non-critical user flows in an asynchronous manner


Handle retries and throttling when integrating with rate-limited

external APIs
Create Lambdas to extend order processing functionality and

trigger them through webhooks

Code Comprehension Swagger Distributed Tracing

Kibana Authentication Authorization API Gateway

Message Queues Queue based Load Levelling Idempotency pattern

Pub-sub pattern Rate Limiting Retry Pattern Third party API

Lambda Webhook Kafka Partition Cloud Design Patterns


Building for Scale leveraging best practices for Cloud
After setting up the initial system, start solving scale and

performance challenges to ensure best-in-class user experience.


Troubleshoot multiple API performance issues by analyzing

metrics across different layers using Grafana and

MySQL Workbench
Design optimal solutions to manage load for BigBillionDay type

events using caching


Auto-scale notification service to send flash sale alerts to

millions of users using horizontal scaling and Load Balancer


Understand how large companies manage fast & concurrent

launches leveraging CI/CD pipelines, different environments

(dev, stage, prod, test) and Dev-Ops best practices


Do a rolling update for the order processing lambda function

you have written using a Load Balancer


Understand important aspects of a high availability system

such as Replication, Sharding, Circuit Breaker

API Performance Monitoring Metrics

Grafana MySQL Workbench DB Indexes Caching

Cache invalidation Auto-Scaling Horizontal scaling

Vertical scaling Devops CI/CD pipeline Load Balancer

Rolling Update Replication Sharding Circuit Breaker

Resource Pooling
InterviewBlitz - High Level System Design Challenges
Utilize the practical knowledge gained to solve real world

design problems often asked in interviews

Learn how to effectively design systems prioritizing right

use-cases and making the appropriate tradeoffs

Practice commonly asked interview questions like design

Twitter timeline, Notification system, BookMyShow, Hotstar


Optional

Basic DSA

Programming Essentials [Beginner]


Develop logic building skills by solving simple math,
recursion, implementation problems
Learn Time & Space complexity
Get introduced to data structures & traversals -
Linkedlist & Trees

Logic Building Collections

Space and Time Complexity

Arrays and Strings [Beginner]


Learn various patterns of problem solving in arrays &
strings and apply them in a wide variety of problems
Learn the art of debugging that is critical for your timed

interviews

Matrix Two Pointers Sliding Window Prefix Sum

Bit Manipulation Sorting Binary Search


Optional

Intermediate DSA

Step up your interview cracking ability by learning advanced Data


structures and Algorithms through our carefully designed curriculum,
exclusive videos, in-depth mentorship, live sessions, practice with

curated problems and timed assessments.

Stack, Queue and Linked List


[Intermediate]
Learn Linked List implementation and application
Apply Queue, Stack to solve real world problems

Data Structure Application Linked List

Stack Queue

Hash, Heap, Trees [Intermediate]


Apply Hash, Heap to solve real world problem
Learn BFS/DFS to solve multiple Tree problems
effectively

Data Structure Application Hash

Heap Binary Tree Binary Search Tree

BFS DFS Recursion


Optional

Advanced DSA

Learn advanced Data Structures and Algorithms to crack interviews


through our curated curriculum, exclusive videos, expert mentorship,
live sessions, problem-solving practice, and timed assessments.

Graphs, Greedy and Backtracking


[Advanced]
Deep dive into graph problem patterns and implement
common algorithms like Prim’s, Kruskal’s and Djikstra’
Learn common problem solving approaches like greedy
& backtracking

Graph BFS Graph DFS Shortest Path

Graph Partitioning Greedy Method

Advanced recursion and backtracking

Topological Sort

Dynamic Programming and Advanced DS


Learn the art of DP and practice problems using
Memoization and Tabulatio
Get introduced to advanced DS like Trie, Segment Trees
and solve related problems

DP Memoization DP Tabulations Knapsack

Spanning Tree Trie Segment Tree


Hear from our
Learners
"Initially, when I joined Crio, I thought it would be
like BootCamp programs. But after joining, I
really liked the way Crio had organised the
Sonali
Dash program..It’s not at all like typical classroom-
based training. You have to do it on your own.”

“Enrolling for Crio’s programs proved to be a master


stroke for me. It started from the basics and after
every completed module, I saw myself making a big
stride forward. I learnt a lot by implementing my Venkata
Amaresh
learnings in a work-like environment.”

“I did internships in a few companies and then


worked full-time. While working, I realised there
was some gap between what I learned and what I
Chakradhar D
was trying to do. Crio helped me bridge that gap.”

08
“The reason I chose Crio over other programs
was- other platforms give us videos where you
have to watch and learn, and do it on your own.
Myleshan
Praburam But here at Crio, there’s no watch and learn.
There’s only DO and learn.”

“In most of the courses, you go through online


classes and then do some problems, but this is
completely DIFFERENT. A duration of six months
is really long and, if you put effort, you can Namrata
change your whole life, let alone switch from one Kumari
company to another."

“If you are passionate about building software,


you will love Crio’s programs...In every interview, I
was asked about my Crio Projects. Because of the
Sagar
Vrajalal way I worked on these projects, I was confident
about my answers.”

08
Program Details &
Admission Process
1 2 3
Complete the
Complete the
Start your

application assessment test free trial

4 5
Earn your scholarship Start your Crio Fellowship
after the trial Program

PROGRAM DURATION
6 Months | Fully Online

For further details,


drop us an email at
[email protected]

08
HLD
LLD

www.crio.do

You might also like