OS

OpenStem

@openstem · Joined Jul 2026
7420 public items8 groups
Content7420Groups8
Quiz10 questions
What does the Singleton pattern ensure?
AA class can be subclassed only onceBA class has at most one instance and provides a global access pointCAn object can only be created by a factoryDAll methods are static
Software

Software · L4 · Design patterns — 10 Q

@openstem
Software · L4 · Design patterns — 10 Q
Quiz7 questions
Why do protocols like TLS use asymmetric crypto only for the handshake, not for bulk data?
AAsymmetric ciphers can't encrypt more than a few bytes at allBAsymmetric crypto is far slower than symmetric crypto, so it's used only to establish a shared session keyCSymmetric ciphers can't be implemented in hardwareDAsymmetric crypto is actually faster and preferred for everything
Software

Software · L4 · Applied Cryptography — 7 Q

@openstem
Software · L4 · Applied Cryptography — 7 Q
Quiz7 questions
Why does range-based sharding on a monotonically increasing key cause a hotspot?
ABecause range sharding requires more storage per shardBBecause all new writes land on whichever shard currently owns the highest rangeCBecause range sharding disables replicationDBecause it forces every read to scan all shards
Software

Software · L4 · Data Partitioning & Replication — 7 Q

@openstem
Software · L4 · Data Partitioning & Replication — 7 Q
Quiz7 questions
What does an error budget primarily govern?
AThe monetary cost of running infrastructureBThe tradeoff between shipping risky changes and pausing to focus on reliabilityCHow many engineers are on the on-call rotationDThe salary budget for the SRE team
Software

Software · L4 · Site Reliability Engineering — 7 Q

@openstem
Software · L4 · Site Reliability Engineering — 7 Q
Quiz8 questions
What is the main tradeoff of leaderless (quorum-based) replication compared to leader-based replication?
AIt removes the need for any conflict resolutionBIt favors write availability during partitions, at the cost of needing explicit conflict resolution when replicas divergeCIt guarantees linearizability automaticallyDIt eliminates the need for multiple replicas
Software

Software · L4 · Distributed Systems Engineering

@openstem
Software · L4 · Distributed Systems Engineering
Quiz8 questions
What is the primary benefit of moving cross-cutting network concerns into a service mesh sidecar?
AApplication code gets mTLS, retries, timeouts, and traffic shaping without implementing them itselfBIt removes the need for a network entirelyCIt eliminates the need for service-to-service authenticationDIt guarantees zero latency between services
Software

Software · L4 · Microservices Architecture & Resilience Patterns

@openstem
Software · L4 · Microservices Architecture & Resilience Patterns
Quiz8 questions
Within what scope does Kafka guarantee message ordering?
AAcross the entire topic, regardless of partitionBOnly within a single partitionCOnly across the entire clusterDKafka provides no ordering guarantees at all
Software

Software · L4 · Event Streaming & Kafka

@openstem
Software · L4 · Event Streaming & Kafka
Quiz8 questions
Which observability pillar is best suited to answering 'where in a multi-service call chain did the time go?'
AMetricsBLogsCTracesDNone of them can answer this
Software

Software · L4 · Observability: Metrics, Logs, and Traces

@openstem
Software · L4 · Observability: Metrics, Logs, and Traces
Quiz3 questions
Which of the following correctly characterises the class NP?
AProblems solvable in non-deterministic polynomial time, equivalently with polynomial-time verifiable certificatesBProblems solvable in polynomial time by a deterministic Turing machineCProblems whose complements are in PDProblems requiring exponential time in the worst case
Software

Software · L5 · Complexity Theory

@openstem
Software · L5 · Complexity Theory
Quiz3 questions
What are the three conditions under which the FLP impossibility result applies?
ASynchrony, randomisation, and majority fault toleranceBAsynchrony, determinism, and tolerance of at least one crash faultCPartial synchrony, Byzantine faults, and n > 3f processesDAsynchrony, probabilistic algorithms, and message loss
Software

Software · L5 · Distributed Systems Theory

@openstem
Software · L5 · Distributed Systems Theory
Quiz6 questions
What guarantee does the subset construction (Rabin & Scott, 1959) provide?
AEvery NFA can be converted to an equivalent DFA, possibly with up to 2^n states for an n-state NFABEvery DFA can be converted to a smaller NFA in polynomial timeCNFAs recognise a strictly larger class of languages than DFAsDThe subset construction reduces the number of states in every case
Software

Software · L5 · Automata Theory & Formal Languages

@openstem
Software · L5 · Automata Theory & Formal Languages
Quiz6 questions
What distinguishes the π-calculus from CSP in terms of expressive power?
AThe π-calculus supports asynchronous shared-memory communication; CSP does notBThe π-calculus allows channel names to be communicated as data, enabling dynamic reconfiguration of communication topologyCCSP supports recursion while the π-calculus does notDThe π-calculus has no notion of internal choice
Software

Software · L5 · Process Calculi & Concurrency Theory

@openstem
Software · L5 · Process Calculi & Concurrency Theory
Quiz6 questions
Which statement best describes the Church–Turing thesis?
AA theorem proving Turing machines can compute any functionBAn unprovable but well-supported claim that Turing machines capture every intuitively effective computational procedureCA proof that P = NPDA theorem stating all decidable languages are regular
Software

Software · L5 · Computability Theory

@openstem
Software · L5 · Computability Theory
Quiz6 questions
Which property defines a one-way function f?
Af is hard to compute but easy to invertBf is efficiently computable, but no PPT adversary can find a preimage of f(x) for random x except with negligible probabilityCf is a bijection with an efficiently computable inverseDf is a random oracle
Software

Software · L5 · Cryptographic Foundations

@openstem
Software · L5 · Cryptographic Foundations
Quiz6 questions
Two operations from different transactions 'conflict' when...
AThey both read the same data itemBThey belong to transactions that started at the same timeCThey access the same data item and at least one of them is a writeDThey appear in different tables of the schema
Software

Software · L5 · Database Theory & Query Optimization

@openstem
Software · L5 · Database Theory & Query Optimization
Quiz6 questions
Which statement correctly distinguishes data parallelism from model parallelism?
AData parallelism partitions the model across devices; model parallelism replicates itBData parallelism replicates the full model and shards the data across workers; model parallelism partitions the model itself because it does not fit on one deviceCThe two terms are synonyms for the same techniqueDData parallelism requires a parameter server; model parallelism never does
Software

Software · L5 · Distributed Machine Learning Systems

@openstem
Software · L5 · Distributed Machine Learning Systems
Quiz6 questions
What is the key structural difference between small-step and big-step operational semantics?
ASmall-step is used only for typed languages; big-step only for untyped languagesBSmall-step defines a single-step relation e → e' composed via →*; big-step defines a direct relation e ⇓ v to the final valueCBig-step semantics can express non-termination directly, small-step cannotDThey differ only in notation and are otherwise formally identical
Software

Software · L5 · Programming Language Semantics

@openstem
Software · L5 · Programming Language Semantics
Quiz7 questions
In a 'may' dataflow analysis, how are facts from multiple incoming CFG edges combined at a merge point?
ABy intersection (∩), keeping only facts true on every incoming pathBBy union (∪), keeping facts true on at least one incoming pathCBy discarding all incoming facts and restarting from bottomDBy averaging numeric fact values
Software

Software · L5 · Program Analysis & Abstract Interpretation

@openstem
Software · L5 · Program Analysis & Abstract Interpretation
Quiz8 questions
What does the Hoare triple {P} C {Q} assert about a program C that never terminates from some P-satisfying state?
AThe triple is falseBThe triple is vacuously true, since partial correctness only constrains terminating executionsCThe triple is undefinedDQ must be false
Software

Software · L5 · Hoare Logic & Program Verification

@openstem
Software · L5 · Hoare Logic & Program Verification
Quiz8 questions
What is the essential structural difference between LL(1) and LR(1) parsing?
ALL(1) builds top-down by prediction; LR(1) builds bottom-up by shift and reduceBLL(1) requires more memory than LR(1) in every caseCLR(1) cannot handle any form of arithmetic expressionDThey are two names for the same algorithm
Software

Software · L5 · Compiler Construction Theory

@openstem
Software · L5 · Compiler Construction Theory
Note~82 words · 1 min
What Is a Pattern? A pattern is something that repeats in the same way. You can find patterns everywhere! Computers use patterns too. When a program does the same thing over and over, it follows a pattern. Spotting patterns helps you solve
Software

Software · L1 · Patterns: Spotting What Repeats

@openstem
Software · L1 · Patterns: Spotting What Repeats
Note~154 words · 1 min
Transform, Don't Mutate JavaScript arrays ship two families of methods: ones that return a new array (map, filter, slice) and ones that mutate in place (push, splice, sort). Reaching for the non-mutating family by default keeps data flow pr
Software

Software · L1 · JavaScript: Array Method Choices

@openstem
Software · L1 · JavaScript: Array Method Choices
Note~156 words · 1 min
Narrowing Before You Use a Value Once a value's type includes `null` or `undefined`, TypeScript won't let you use it until you've ruled those out. The two most common tools for that are the nullish coalescing operator `??` (supply a default
Software

Software · L1 · TypeScript: Handling Optional and Nullish Values

@openstem
Software · L1 · TypeScript: Handling Optional and Nullish Values
Note~140 words · 1 min
Four Built-ins, Four Jobs Python's built-in collections overlap in what they can hold but differ sharply in what they guarantee. Picking the wrong one doesn't usually cause a crash — it just makes the code fight against behavior it doesn't
Software

Software · L1 · Python: Choosing the Right Collection

@openstem
Software · L1 · Python: Choosing the Right Collection
Note~97 words · 1 min
Trigger, Render, Commit A re-render doesn't touch the screen right away. React first runs your component functions to build a new tree (the render phase), then compares it against the previous tree, and only afterwards mutates the real DOM
Software

Software · L1 · React: The Render Cycle

@openstem
Software · L1 · React: The Render Cycle
Note~177 words · 1 min
Reading Big-O at a Glance Big-O describes how an algorithm's work grows as the input size n grows. Knowing the common classes by name makes it fast to reason about a new problem without re-deriving the math each time. Deciding How to Solve
Software

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

@openstem
Software · L1 · Data Structures & Algos: Picking the Right Approach
Note~167 words · 1 min
From main() to a Running App Calling `SpringApplication.run(App.class, args)` bootstraps the whole application: it creates the ApplicationContext, loads and registers beans, applies autoconfiguration, and (for a web app) starts the embedded
Software

Software · L1 · Spring Boot: Application Lifecycle & Logging

@openstem
Software · L1 · Spring Boot: Application Lifecycle & Logging
Note~135 words · 1 min
Match the Data Shape to the Database There is no single 'best' database — each type trades away something (joins, flexibility, raw speed) to excel at a particular access pattern. Picking well starts with describing the shape of the data and
Software

Software · L1 · System Design: Choosing a Database Type

@openstem
Software · L1 · System Design: Choosing a Database Type
Note~141 words · 1 min
What Is a Transaction? A transaction wraps one or more statements so they succeed or fail together. `BEGIN` starts it, `COMMIT` makes every change permanent, and `ROLLBACK` undoes everything as if none of it happened. This matters whenever
Software

Software · L1 · SQL: Transactions & ACID

@openstem
Software · L1 · SQL: Transactions & ACID
Note~109 words · 1 min
One Branch per Change Instead of committing directly to main, most teams isolate each change on its own short-lived branch. That keeps main always deployable and gives reviewers a clean diff to look at. If review comes back with requested c
Software

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

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

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