sys-design System design notes. Core software and systems engineering concepts Easy Describe DNS Describe HTTP Describe SSH Describe FTP Explain object-oriented programming Explain recursion in programming Explain the C programming language Explain the OSI model Explain Public Key Infrastructure Medium Design a database Describe DHCP Describe the boot process of an x86 Linux machine Describe the process from typing an address to finishing a page load Design a message queue Design a scalable HTTP endpoint monitor Explain E-Mail Hard Design a Twitter clone Design a distributed OS Design a hypervisor Design a distributed database Specialty Cryptocurrency Explain Bitcoin Design a zero-trust distributed smart-contracts system Security Explain iptables Design a RAT (Remote-Access Trojan) Databases and storage Design a filesystem Design a multi-paradigm database Software Explain the differences between musl and the GNU Standard library OS - Windows Describe SMB Explain DirectX OS - Linux and Unix Explain the design principles behind Unix Explain the POSIX standard Describe NFS Explain Btrfs Explain ext4