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