OS

OpenStem

@openstem · Joined Jul 2026
7420 public items8 groups
Content7420Groups8
Flashcards8 cards
What does a service mesh add on top of plain service-to-service HTTP calls?1 / 8
A service mesh injects a sidecar proxy next to each service instance to handle cross-cutting concerns transparently: mTLS encryption, retries, timeouts, load balancing, circuit breaking, and traffic shaping (canary splits) — all without the application code knowing about it. The control plane configures every sidecar's routing rules and collects telemetry centrally.
Software

Microservices Architecture & Resilience Patterns

@openstem
Microservices Architecture & Resilience Patterns
Flashcards8 cards
What is a Kafka partition, and why does it determine ordering guarantees?1 / 8
A partition is an append-only, ordered log — one shard of a topic. Kafka guarantees order only within a single partition, not across a topic's partitions, so events that must stay ordered relative to each other (e.g. all updates to one entity) need to be produced with the same partition key so they land on the same partition.
Software

Event Streaming & Kafka

@openstem
Event Streaming & Kafka
Flashcards8 cards
What are the 'three pillars' of observability, and what does each answer?1 / 8
Metrics (numeric time series — request rate, error rate, latency) answer 'is something wrong, and roughly how much?'. Logs (discrete timestamped events with detail) answer 'what exactly happened at this point?'. Traces (the causal chain of spans across services for one request) answer 'where in the call chain did the problem happen?'. Real debugging usually moves between all three: a metric alerts, a trace localizes the slow hop, a log explains why.
Software

Observability: Metrics, Logs, and Traces

@openstem
Observability: Metrics, Logs, and Traces
Flashcards5 cards
Define the complexity classes P and NP.1 / 5
P is the class of decision problems solvable by a deterministic Turing machine in polynomial time. NP is the class of decision problems whose YES-instances have certificates verifiable in polynomial time by a deterministic Turing machine. P ⊆ NP; whether P = NP is the central open question in theoretical computer science.
Software

Software · L5 · Complexity Theory

@openstem
Software · L5 · Complexity Theory
Flashcards4 cards
State the FLP impossibility result.1 / 4
Fischer, Lynch, and Paterson (1985): in a fully asynchronous message-passing system, there is no deterministic protocol that solves consensus even if at most one process may crash-fail. The key conditions: asynchrony (no bound on message delay or computation speed), determinism, and tolerance of just one crash. This rules out wait-free consensus in the pure async model.
Software

Software · L5 · Distributed Systems Theory

@openstem
Software · L5 · Distributed Systems Theory
Flashcards8 cards
Define a deterministic finite automaton (DFA) as a 5-tuple.1 / 8
A DFA is M = (Q, Σ, δ, q₀, F) where Q is a finite set of states, Σ is a finite alphabet, δ: Q × Σ → Q is the (total) transition function, q₀ ∈ Q is the start state, and F ⊆ Q is the set of accepting states. M accepts w ∈ Σ* iff the extended transition function δ̂(q₀, w) ∈ F.
Software

Software · L5 · Automata Theory & Formal Languages

@openstem
Software · L5 · Automata Theory & Formal Languages
Flashcards7 cards
What is CSP, and what are its two core composition operators?1 / 7
Communicating Sequential Processes (Hoare, 1978) is a process algebra where processes interact only through synchronous, rendezvous-style events on named channels — there is no shared memory. The two core operators are prefixing, a → P (perform event a, then behave as P), and choice, P □ Q (external choice between P and Q, resolved by the environment's first event). Parallel composition P ‖ Q synchronises processes on shared alphabet events.
Software

Software · L5 · Process Calculi & Concurrency Theory

@openstem
Software · L5 · Process Calculi & Concurrency Theory
Flashcards7 cards
Define a Turing machine as a formal tuple.1 / 7
A Turing machine is M = (Q, Σ, Γ, δ, q₀, q_accept, q_reject) where Q is a finite state set, Σ is the input alphabet, Γ ⊇ Σ is the tape alphabet (including a blank symbol ⊔ ∉ Σ), δ: Q × Γ → Q × Γ × {L, R} is the transition function, q₀ is the start state, and q_accept, q_reject ∈ Q are distinguished halting states. M operates on a semi-infinite tape with a read/write head; each step reads the symbol under the head, writes a symbol, moves the head, and changes state.
Software

Software · L5 · Computability Theory

@openstem
Software · L5 · Computability Theory
Flashcards7 cards
Define a one-way function (OWF), and explain its role in modern cryptography.1 / 7
A function f: {0,1}* → {0,1}* is one-way if it is efficiently computable (in polynomial time) but hard to invert: for every probabilistic polynomial-time (PPT) adversary A, the probability that A(f(x)) outputs some x′ with f(x′) = f(x), over a uniformly random x, is negligible. OWFs are the minimal cryptographic primitive — Impagliazzo and Luby (1989) showed that essentially all of private-key cryptography (pseudorandom generators, pseudorandom functions, digital signatures, commitment schemes) can be built from OWFs, and conversely most of these primitives imply the existence of an OWF, making OWF existence the foundational assumption of the field.
Software

Software · L5 · Cryptographic Foundations

@openstem
Software · L5 · Cryptographic Foundations
Flashcards7 cards
What is relational algebra, and why is it considered the formal foundation of SQL?1 / 7
Relational algebra (Codd, 1970) is a procedural query language of operators — selection σ, projection π, union ∪, set difference −, Cartesian product ×, and (derived) join ⋈ — that transform relations (sets of tuples) into relations. Every SQL query has an equivalent relational-algebra expression, and query engines internally translate declarative SQL into an algebra expression (a logical plan) precisely so they can apply algebraic identities to transform it into an equivalent but cheaper plan before execution.
Software

Software · L5 · Database Theory & Query Optimization

@openstem
Software · L5 · Database Theory & Query Optimization
Flashcards7 cards
Distinguish data parallelism from model parallelism in distributed training.1 / 7
Data parallelism replicates the full model on every worker; each worker computes gradients on a distinct shard of a mini-batch, and gradients are aggregated (e.g. by summing/averaging) before the shared parameters are updated. Model parallelism instead partitions the model itself across workers — different workers hold different layers or tensor slices — because the model is too large to fit in one device's memory, and activations must be passed between workers as they flow through the partitioned computation graph.
Software

Software · L5 · Distributed Machine Learning Systems

@openstem
Software · L5 · Distributed Machine Learning Systems
Flashcards8 cards
Distinguish small-step (structural) operational semantics from big-step (natural) operational semantics.1 / 8
Small-step semantics defines a one-step reduction relation e → e' capturing a single unit of computation; the meaning of a program is the (possibly infinite) sequence of steps e →* e_final. Big-step semantics defines a relation e ⇓ v directly relating an expression to its final value, described all at once. Small-step exposes intermediate states (useful for reasoning about non-termination, concurrency, and interleaving); big-step is more concise for defining evaluators but cannot directly express non-termination as a first-class judgement.
Software

Software · L5 · Programming Language Semantics

@openstem
Software · L5 · Programming Language Semantics
Flashcards7 cards
Define a dataflow analysis in terms of transfer functions and a lattice.1 / 7
A dataflow analysis assigns each program point a value from a lattice (L, ⊑) representing an abstract fact (e.g. the set of live variables). Each CFG edge/statement has a transfer function f: L → L propagating facts across it; the analysis computes, for every point, the least fixpoint of these equations subject to a meet (∩) or join (∪) at control-flow merge points, depending on whether the analysis is 'must' or 'may'.
Software

Software · L5 · Program Analysis & Abstract Interpretation

@openstem
Software · L5 · Program Analysis & Abstract Interpretation
Flashcards8 cards
Define a Hoare triple {P} C {Q} and state what it asserts about program C.1 / 8
{P} C {Q} asserts partial correctness: if the precondition P holds in the initial state and command C terminates, then the postcondition Q holds in the resulting state. It says nothing about whether C actually terminates — a program that loops forever from any state satisfying P vacuously satisfies {P} C {Q} for any Q.
Software

Software · L5 · Hoare Logic & Program Verification

@openstem
Software · L5 · Hoare Logic & Program Verification
Flashcards8 cards
What is the essential difference between LL(1) and LR(1) parsing?1 / 8
LL(1) builds a parse tree top-down, predicting which production to expand next using one lookahead token — it requires a grammar with no left recursion and disjoint FIRST sets per alternative. LR(1) builds the tree bottom-up, shifting tokens onto a stack and reducing by a production once a right-hand side is fully recognized on top of it; LR(1) accepts a strictly larger class of grammars, including left-recursive ones, at the cost of a more complex, table-driven parser generator.
Software

Software · L5 · Compiler Construction Theory

@openstem
Software · L5 · Compiler Construction Theory
Flashcards10 cards
Why are indexes important in MongoDB?1 / 10
Without an index, a query does a full collection scan (O(n)). Indexes (B-tree) let MongoDB locate matching documents quickly. Index fields used in query filters and sorts. Like any DB, indexes speed reads but slow writes and use memory.
Software

Indexes & Scaling

@openstem
Indexes & Scaling
Quiz3 questions
What is an algorithm?
AA type of computerBA step-by-step list of instructionsCA picture drawn by a robotDA very fast calculator
Software

Software · L1 · Algorithms and Sequencing

@openstem
Software · L1 · Algorithms and Sequencing
Quiz2 questions
Can a computer think for itself without any instructions?
AYes, computers are very smart on their ownBNo, computers only do what people tell themCOnly if they are switched onDOnly if they are connected to the internet
Software

Software · L1 · Computers and What They Do

@openstem
Software · L1 · Computers and What They Do
Quiz5 questions
What does `[1, 2, 3].map(x => x * 2)` return?
A`[1, 2, 3]`, unchangedBA new array `[2, 4, 6]`C`undefined`DThe number 6
Software

Software · L1 · JavaScript: Fundamentals Check

@openstem
Software · L1 · JavaScript: Fundamentals Check
Quiz5 questions
What does `0 ?? 5` evaluate to?
A5B0CundefinedDNaN
Software

Software · L1 · TypeScript: Optional & Nullish Values

@openstem
Software · L1 · TypeScript: Optional & Nullish Values
Quiz5 questions
You need to check membership of thousands of items as fast as possible, and order doesn't matter. Which collection fits best?
AlistBtupleCsetDA plain string
Software

Software · L1 · Python: Choosing a Collection

@openstem
Software · L1 · Python: Choosing a Collection
Quiz5 questions
Which phase of React's render cycle actually mutates the real DOM?
AThe render phaseBThe commit phaseCThe diff phase (a separate step from render)DThe browser's paint phase
Software

Software · L1 · React: Render Cycle Check

@openstem
Software · L1 · React: Render Cycle Check
Quiz5 questions
You need O(1) average lookups by key and don't care about ordering. What's the best fit?
AHash tableBBalanced BSTCSingly linked listDUnsorted array
Software

Software · L1 · Data Structures & Algos: Picking the Right Approach

@openstem
Software · L1 · Data Structures & Algos: Picking the Right Approach
Quiz5 questions
You need multi-table joins and strong ACID transactions for financial records. Which database type fits best?
ARelational (SQL)BKey-value storeCGraph databaseDDocument database
Software

Software · L1 · System Design: Choosing a Database Type

@openstem
Software · L1 · System Design: Choosing a Database Type
Quiz5 questions
What does `COMMIT` do at the end of a transaction?
AUndoes every statement since BEGINBMakes every statement since BEGIN permanentCLocks the table permanentlyDDeletes the transaction log
Software

Software · L1 · SQL: Transactions & ACID

@openstem
Software · L1 · SQL: Transactions & ACID
Quiz5 questions
Why work on a separate feature branch instead of committing directly to main?
AFeature branches are required by Git itselfBIt keeps main always deployable and gives reviewers a clean diffCIt makes commits smaller automaticallyDIt disables CI on the branch
Software

Software · L1 · Git & Dev Workflow: The Feature Branch Workflow

@openstem
Software · L1 · Git & Dev Workflow: The Feature Branch Workflow
Quiz5 questions
Which function works ONLY on slices, maps, and channels?
AnewBmakeCBoth work identically on any typeDNeither — you must always use a literal
Software

Software · L1 · Go: Creating Values

@openstem
Software · L1 · Go: Creating Values
Quiz5 questions
A function only needs to read a Vec<i32>, not own or mutate it. What should its parameter type be?
AVec<i32> (take ownership)B&Vec<i32> (an immutable borrow)C&mut Vec<i32> (a mutable borrow)DVec<i32>.clone()
Software

Software · L1 · Rust: Move, Borrow, or Clone?

@openstem
Software · L1 · Rust: Move, Borrow, or Clone?
Quiz5 questions
What does the `new` keyword actually do in `Car c = new Car();`?
AAllocates memory for the object and invokes its constructorBDeclares the Car classCImports the Car class from another packageDDeletes any existing Car object
Software

Software · L1 · Java: Classes & Objects

@openstem
Software · L1 · Java: Classes & Objects
Quiz5 questions
Which tree combines the DOM and CSSOM before layout can happen?
AThe accessibility treeBThe render treeCThe event treeDThere is no such combination step
Software

Software · L1 · HTML & CSS: Layout & Semantics Check

@openstem
Software · L1 · HTML & CSS: Layout & Semantics Check

We use privacy-friendly product analytics (no session recording, PII masked) to improve OpenStem. Load analytics? Privacy Policy