| Concurrency |
Races exist; a mutex protects a critical section. |
Bounded pools, deadlock avoidance, cancellation, visibility. |
Contention is the scaling ceiling; partitioning beats locking. |
| Event-driven |
Events are past-tense facts; publishers don't know subscribers. |
Idempotent consumers, per-key ordering, outbox over dual write. |
Sagas, replay safety, schema evolution as a forever commitment. |
| Caching |
TTL, eviction, hit ratio, which layer to put it in. |
Cache-aside, key versioning, invalidate on write, negative caching. |
Stampede, cold start, hot keys — the cache is also a new outage. |
| Indexing |
Turns a scan into a lookup; costs write throughput. |
Composite column order, selectivity, covering indexes, reading plans. |
LSM vs B-tree amplification, plan instability, shard key over index. |
| Message queues |
Producer, broker, consumer, ack, retry. |
At-least-once + idempotency, consumer groups, DLQ, lag alerts. |
Log vs broker, hot partitions, poison messages, backpressure. |
| Fault tolerance |
Always time out; redundancy; degrade rather than fail. |
Backoff + jitter, breakers, bulkheads, deadline propagation. |
Metastable failure, blast radius, gray failure, error budgets. |
| Go · goroutines |
go f(), WaitGroup, -race. |
Context everywhere, bounded pools, errgroup, leak review. |
Scheduler behaviour, GOMAXPROCS in containers, pprof/goleak. |
| Go · channels |
Send, receive, close, range, buffered vs not. |
select with ctx.Done, pipelines, semaphores, ownership rules. |
Happens-before, when a mutex is the better tool, deadlock shapes. |
| Go · interfaces |
Implicit satisfaction; method sets and receivers. |
Accept interfaces/return structs, typed-nil trap, test seams. |
Dispatch and allocation cost, interface pollution, generics vs interfaces. |
| Go · errors |
Errors are values; check immediately; no exceptions. |
%w, errors.Is/As, handle once, recover at boundaries. |
Retryable vs terminal taxonomy; errors as public API and telemetry. |
| AWS · the map |
Account, region, AZ; the core services; shared responsibility. |
Multi-AZ by default, IaC, roles over keys, alarms on symptoms. |
Multi-account blast radius, control vs data plane, quotas, RTO/RPO, cost as design. |
| AWS · network & IAM |
VPC, subnets, security groups, load balancer, policies. |
Public/private/isolated tiers, SG vs NACL, VPC endpoints, STS roles. |
Policy evaluation order, IRSA, conditions, least privilege from CloudTrail. |
| AWS · managed services |
Which service solves which problem. |
RDS vs DynamoDB, SQS vs FIFO vs Kinesis, Lambda vs containers. |
Partition-key limits, failover windows, connection ceilings, quota exhaustion. |
| K8s · model |
Pod, Deployment, Service, Ingress, ConfigMap; apply and describe. |
Labels as wiring, workload types, instant rollback, RBAC and quotas. |
CRDs and operators, admission control, etcd limits, data plane independence. |
| K8s · running it |
Requests and limits; reading OOMKilled and CrashLoopBackOff. |
Three probes, rolling updates, graceful shutdown, PDB, spread, HPA. |
Throttling vs OOM, cascading readiness, GOMAXPROCS in a quota, scaling latency. |