https://www.facebook.com/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/cassandra/2.1/cassandra/architecture/architectureIntro_c.html
http://cloudurable.com/blog/kafka-architecture/index.html
https://zookeeper.apache.org/doc/trunk/zookeeperOver.html
http://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf
https://research.google.com/archive/bigtable.html
https://en.wikipedia.org/wiki/CAP_theorem
https://en.wikipedia.org/wiki/Consistent_hashing
https://www.mongodb.com/mongodb-architecture
https://en.wikipedia.org/wiki/HTTP/2
https://en.wikipedia.org/wiki/Transport_Layer_Security