system design

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/43

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 2:10 AM on 10/9/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

44 Terms

1
New cards

Authorization

The process of determining what an authenticated entity or user is permitted to do or access.

2
New cards

Authentication vs. Authorization

Authentication verifies identity (confirming who you are), whereas authorization checks permissions (determining what you may do).

3
New cards

Availability (System Design)

The proportion of time that a system remains operational and responds usefully within an acceptable timeframe.

4
New cards

Annual downtime permitted by 99.99%99.99\% availability

Approximately 52.6 minutes52.6\,\text{minutes} per year.

5
New cards

Durability (ACID)

The guarantee that once a transaction is committed, its changes survive crashes, restarts, or power failures.

6
New cards

PostgreSQL: Impact of setting synchronous_commit = off

A transaction can be acknowledged before its write-ahead log (WAL) is flushed to disk, which may lead to recent committed data being lost after a crash.

7
New cards

Immutability (Architecture)

A design principle where existing data values are never overwritten in place; updates produce new values or append new records.

8
New cards

System design example of immutability

An append-only ledger that records new transactions instead of modifying or overwriting historical transactions.

9
New cards

Reliability

The capacity of a system to consistently execute correctly over time, tolerate faults, and fail gracefully.

10
New cards

Reliability vs. Availability

Availability measures whether a service is reachable and responds, whereas reliability measures whether the service behaves correctly over time.

11
New cards

Authentication

The process of verifying an entity's identity to confirm they are who they claim to be.

12
New cards

Process (Operating Systems)

An executing program instance with its own dedicated virtual address space and OS resources, containing one or more threads.

13
New cards

Memory sharing between separate processes

Separate processes cannot directly share memory because each has its own virtual address space; explicit inter-process communication (IPC) or shared memory regions are required.

14
New cards

Thread

An operating system execution unit inside a process that shares the process's memory space while keeping its own stack and register state.

15
New cards

Resources shared among threads in a process

The heap, global variables, executable code, and open file descriptors are shared; thread stacks and registers remain private.

16
New cards

Primary cause of multithreading data races

Multiple threads concurrently accessing and mutating shared memory without adequate synchronization, leading to unpredictable interleaving.

17
New cards

Lock contention

A concurrency bottleneck where multiple execution threads compete for the same lock, causing waiting, serialized execution, and reduced throughput.

18
New cards

Green threads (Goroutines)

Lightweight, user-space execution threads scheduled by a runtime or virtual machine rather than the operating system kernel.

19
New cards

Eventual consistency

A distributed data model where reads may temporarily return stale values, but all replicas eventually converge if write operations cease.

20
New cards

Real-world example of eventual consistency

A distributed social media like counter showing slightly different counts on different nodes until updates propagate across all replicas.

21
New cards

Strong consistency (Linearizability)

A model where operations behave as if executed on a single atomic copy of data; any read beginning after a write completes is guaranteed to observe that write or a later update.

22
New cards

Use case requiring strong consistency

High-contention inventory allocation, such as booking the final seat on a flight where two competing buyers cannot both succeed.

23
New cards

Circuit Breaker pattern

A system pattern that temporarily blocks requests to an unresponsive dependency to fail fast, protect resources, and periodically test for recovery.

24
New cards

Three operational states of a Circuit Breaker

Closed (requests flow normally), Open (calls fail fast without hitting the dependency), and Half-Open (a limited number of trial requests probe for dependency recovery).

25
New cards

Logarithm

The mathematical inverse of exponentiation; log⁡b(n)=x\log_b(n) = x means that bx=nb^x = n.

26
New cards

Value of log⁡2(8)\log_2(8)

33, because 23=82^3 = 8.

27
New cards

Mathematical reason Binary Search is O(log⁡(n))\mathcal{O}(\log(n))

Each step halves the remaining search range; reaching a single element after kk iterations satisfies n2k=1\frac{n}{2^k} = 1, giving k=log⁡2(n)k = \log_2(n).

28
New cards

Effect of doubling input size in Binary Search

The required step count increases by approximately 11 step because log⁡2(2n)=log⁡2(n)+1\log_2(2n) = \log_2(n) + 1.

29
New cards

Reason logarithm base is omitted in Big-O notation

Changing logarithmic bases simply scales the value by a constant factor via log⁡b(n)=log⁡a(n)log⁡a(b)\log_b(n) = \frac{\log_a(n)}{\log_a(b)}, and constant factors are dropped in asymptotic analysis.

30
New cards

202^0

11

31
New cards

212^1

22

32
New cards

222^2

44

33
New cards

232^3

88

34
New cards

242^4

1616

35
New cards

252^5

3232

36
New cards

262^6

6464

37
New cards

272^7

128128

38
New cards

282^8

256256

39
New cards

292^9

512512

40
New cards

2102^{10}

10241024

41
New cards

log⁡2(32)\log_2(32)

55

42
New cards

log⁡2(128)\log_2(128)

77

43
New cards

log⁡2(256)\log_2(256)

88

44
New cards

log⁡2(1024)\log_2(1024)

1010