Go Gotchas
Microservice Madness
Payment Processing 101
HTTP Status Codes
CS FUNdamentals!
100

This happens when you write to a nil map in Go.

What is a panic?

100

This pattern involves one service calling another, which calls another, creating a long chain.

What is cascading failure (or service chaining)?

100

CVV stands for this.

What is Card Verification Value?

100

This status code means "Everything is OK".

What is 200?

100

This Big O notation represents constant time complexity.

What is O(1)?

200

The zero value of an interface in Go is this.

What is nil?

200

This pattern prevents cascading failures by stopping requests to an unhealthy service temporarily.

What is circuit breaker?

200

This fee is charged every time a card transaction occurs, regardless of amount.

What is a flat fee (or transaction fee)?

200

You get this code when you successfully create a resource via POST.

What is 201 (Created)?

200

This sorting algorithm has the best average case of O(n log n) but worst case of O(n²).

What is Quicksort?

300

This keyword makes a goroutine-safe variable for simple operations like incrementing counters.

What is atomic (or sync/atomic)?

300

This pattern uses unique IDs to track requests across multiple services.

What is distributed tracing (or correlation ID)?

300

PCI DSS allows storing card numbers but never this 3-4 digit code.

What is CVV/CVC (or security code)?

300

This status means "I'm a teapot" - an actual April Fools' joke in the spec.

What is 418?

300

This data structure uses LIFO while its cousin uses FIFO.

What is a stack (vs. queue)?

400

Passing this to a goroutine inside a for loop is a classic Go bug.

What is the loop variable (or iterator variable)?

400

This theorem states you can only guarantee two of: Consistency, Availability, and Partition Tolerance.

What is CAP theorem?

400

Level II/III card data includes this information for commercial cards to get better rates.

What is line item detail (or tax and PO number)?

400

This status indicates the client sent too many requests in a given time window.

What is 429 (Too Many Requests)?

400

This problem asks whether every problem whose solution can be quickly verified can also be quickly solved.

What is P vs NP?

500

This directive prevents the compiler from moving or optimizing away a variable, often seen as //go:___.

What is noescape (or nosplit/noinline)?

500

This percentage of uptime equals exactly 4.38 minutes of downtime per month.

What is 99.99% (four nines)?

500

In payment routing, this is the difference between "dual message" and "single message" systems.

What is authorization + settlement vs. combined (or credit vs. debit processing)?

500

This status code means the server understood the request but refuses to authorize it - different from 401.

What is 403 (Forbidden)?  

500

This distributed systems problem involves generals trying to coordinate an attack with unreliable messengers.

What is the Byzantine Generals Problem (or Byzantine Fault Tolerance)?