System Design Introduction For Interview.
551,514 views
0

 Published On Nov 26, 2017

  / tusharroy25  
This video describes how to prepare for system design interview. Below is all the content described in the video.
A - Ask good questions
B - Don't use buzzwords
C - Clear and organized thinking
D - Drive discussions with 80-20 rule

Things to consider
Features
API
Availability
Latency
Scalability
Durability
Class Diagram
Security and Privacy
Cost-effective

Concepts to know
Vertical vs horizontal scaling
CAP theorem
ACID vs BASE
Partitioning/Sharding
Consistent Hashing
Optimistic vs pessimistic locking
Strong vs eventual consistency
RelationalDB vs NoSQL
Types of NoSQL
Key value
Wide column
Document-based
Graph-based
Caching
Data center/racks/hosts
CPU/memory/Hard drives/Network bandwidth
Random vs sequential read/writes to disk
HTTP vs http2 vs WebSocket
TCP/IP model
ipv4 vs ipv6
TCP vs UDP
DNS lookup
Http & TLS
Public key infrastructure and certificate authority(CA)
Symmetric vs asymmetric encryption
Load Balancer
CDNs & Edges
Bloom filters and Count-Min sketch
Paxos
Leader election
Design patterns and Object-oriented design
Virtual machines and containers
Pub-sub architecture
MapReduce
Multithreading, locks, synchronization, CAS(compare and set)

Tools
Cassandra
MongoDB/Couchbase
Mysql
Memcached
Redis
Zookeeper
Kafka
NGINX
HAProxy
Solr, Elastic search
Amazon S3
Docker, Kubernetes, Mesos
Hadoop/Spark and HDFS

References
https://docs.datastax.com/en/cassandr...
http://cloudurable.com/blog/kafka-arc...
https://zookeeper.apache.org/doc/trun...
http://www.allthingsdistributed.com/f...
https://research.google.com/archive/b...
https://en.wikipedia.org/wiki/CAP_the...
https://en.wikipedia.org/wiki/Consist...
https://www.mongodb.com/mongodb-archi...
https://en.wikipedia.org/wiki/HTTP/2
https://en.wikipedia.org/wiki/Transpo...

show more

Share/Embed