Discussion Topics
Hardware
CPU
L1/L2 caches
Memory
Disk
Bytes
File
Object
Serialize/Deserialize
File formats
Unicode/UTF8
OS
virtualization
persistence - file system
Concurrency/parallelism
syscall
signals/hardware interrupts
process/thread
code-data-stack-heap
bash
Inter-process communication
message passing, go channels, actor frameworks
thread sync, locks, semaphores, mutexes, monitors
Languages
compiler/interpreter
object
value vs reference
garbage collection
Databases
tuples
relations 1-1 1-n n-n
B-tree
LSM tree
normalization
star schema- fact and dimensions
OLTP/OLAP
SQL
indexes
partitioning
replication
write-ahead log
columnar, key-value, graph
message queues, AMQP, Kafka
Distributed systems
Leader election
Time, vector clocks
Networks
sockets
TCP/IP model
Web
HTTP
1.0 simple 1.1 reuse connections 2 binary+multiplex 3 QUIC
verbs
headers
UDP/TCP
Websocket
Security
CSP
XSS
CSRF
Auth
CORS
Public-key cryptography
How to store passwords?
cookies
certificates
Data Engineering
SQL
ETL
Data flow
Data Science
Statistics
Hypothesis testing
ML
regression
classification
Bayes
SWE
Observability
Logging vs telemetry
Monitoring
System Design
OOP
DDD
SOLID
Testing
types
dependency injection
tools
Packaging
dependency management
containers
orchestrators
CI/CD
🎰