OS

OpenStem

@openstem · Joined Jul 2026
7420 public items8 groups
Content7420Groups8
Flashcards10 cards
What does ACID stand for in database transactions?1 / 10
Atomicity (all or nothing), Consistency (valid state transitions only), Isolation (concurrent transactions don't interfere), Durability (committed data survives crashes). Most relational DBs guarantee ACID by default.
Software

Transactions & ACID

@openstem
Transactions & ACID
Flashcards10 cards
What does EXPLAIN ANALYZE tell you that EXPLAIN alone does not?1 / 10
`EXPLAIN ANALYZE` actually executes the query and reports actual row counts, actual execution times, and loop counts alongside planner estimates. `EXPLAIN` alone shows only the estimated plan. Discrepancies between estimated and actual rows signal stale statistics.
Software

Query Optimization

@openstem
Query Optimization
Flashcards10 cards
What does interactive rebase let you do?1 / 10
git rebase -i lets you reorder, edit, squash, fixup, or drop commits within a range, rewriting that part of history before sharing it.
Software

Rebase & Rewriting History

@openstem
Rebase & Rewriting History
Flashcards10 cards
What are the four object types in Git's object model?1 / 10
Blob (file contents), tree (directory listing), commit (snapshot pointer with metadata), and tag (annotated tag object).
Software

Internals & Recovery

@openstem
Internals & Recovery
Flashcards9 cards
What does `go vet` do?1 / 9
`go vet` is a static analysis tool that reports suspicious constructs the compiler accepts but are likely bugs, such as mismatched Printf format verbs or unreachable code.
Software

Standard Library & Tooling

@openstem
Standard Library & Tooling
Flashcards9 cards
How are generic functions declared in Go (1.18+)?1 / 9
With type parameters in square brackets before the argument list: `func Map[T, U any](s []T, f func(T) U) []U`. Constraints (like `any` or `comparable`) bound what types are allowed.
Software

Generics & Collections

@openstem
Generics & Collections
Flashcards10 cards
What is the difference between `Box<T>`, `Rc<T>`, and `Arc<T>`?1 / 10
`Box<T>` is a single-owner heap allocation. `Rc<T>` is reference-counted shared ownership for single-threaded use. `Arc<T>` is the atomic, thread-safe version of Rc for sharing across threads (slightly more overhead).
Software

Memory & Smart Pointers

@openstem
Memory & Smart Pointers
Flashcards10 cards
What do the `Send` and `Sync` marker traits guarantee?1 / 10
`Send` means a type can be transferred across thread boundaries; `Sync` means `&T` can be shared across threads safely. The compiler uses them to enforce data-race freedom.
Software

Concurrency & Async

@openstem
Concurrency & Async
Flashcards10 cards
What does the `synchronized` keyword guarantee?1 / 10
It provides mutual exclusion on a monitor lock so only one thread executes the guarded block per object, and establishes happens-before visibility for changes made inside it.
Software

Concurrency & Threads

@openstem
Concurrency & Threads
Flashcards10 cards
What lives on the heap versus the stack in the JVM?1 / 10
Objects and their instance fields live on the shared heap (garbage-collected), while each thread's stack holds frames with local variables and references to heap objects.
Software

JVM & Memory Model

@openstem
JVM & Memory Model
Flashcards10 cards
What are the main phases of the browser rendering pipeline?1 / 10
Roughly: parse HTML/CSS into the DOM/CSSOM, build the render tree, compute layout (reflow), paint pixels, then composite layers onto the screen.
Software

Browser Rendering & Performance

@openstem
Browser Rendering & Performance
Flashcards10 cards
How is CSS specificity scored, and what beats what?1 / 10
Specificity is a tuple (inline, IDs, classes/attributes/pseudo-classes, elements). Compared left to right, a higher group wins. Inline styles outrank ID selectors, which outrank classes, which outrank type selectors.
Software

CSS Architecture & Modern Selectors

@openstem
CSS Architecture & Modern Selectors
Flashcards10 cards
Why won't a surrounding try/catch catch an error thrown inside an async callback?1 / 10
The callback runs later on a separate stack after try/catch has already exited, so the throw escapes it; errors must be handled via the callback's error argument or an 'error' event.
Software

Error Handling & Debugging

@openstem
Error Handling & Debugging
Flashcards10 cards
What are the six phases of the Node.js event loop in order?1 / 10
timers → pending callbacks → idle/prepare → poll → check → close callbacks. Microtasks (process.nextTick, then Promises) are drained between every phase transition.
Software

Performance & Diagnostics

@openstem
Performance & Diagnostics
Flashcards10 cards
What port does HTTPS use by default?1 / 10
HTTPS uses TCP port 443 by default, versus port 80 for plain HTTP.
Software

TLS & HTTPS

@openstem
TLS & HTTPS
Flashcards10 cards
How does a WebSocket connection start?1 / 10
It begins as an HTTP request with an Upgrade: websocket header; if the server accepts (101 Switching Protocols), the connection switches to a persistent full-duplex WebSocket.
Software

WebSockets & Real-time

@openstem
WebSockets & Real-time
Flashcards8 cards
What does virtual memory provide to a process?1 / 8
Each process sees its own large, contiguous virtual address space that the OS maps to physical frames on demand, isolating processes and allowing more memory than RAM via paging to disk.
Software

Virtual Memory & Paging

@openstem
Virtual Memory & Paging
Flashcards8 cards
What does an inode store?1 / 8
File metadata — type, permissions, owner, size, timestamps, and pointers to the data blocks — but not the file's name, which lives in directory entries.
Software

File Systems & I/O

@openstem
File Systems & I/O
Flashcards10 cards
What characterizes the actor model?1 / 10
Independent actors hold private state and communicate only by asynchronous message passing, so there is no shared mutable memory to guard with locks.
Software

Concurrency Models

@openstem
Concurrency Models
Flashcards10 cards
What does an atomic operation guarantee?1 / 10
It executes as a single indivisible step relative to other threads — no other thread can observe a partial or interleaved intermediate state.
Software

Atomics & Memory Model

@openstem
Atomics & Memory Model
Flashcards10 cards
What two guarantees does TLS provide for data in transit?1 / 10
Confidentiality (encryption) and integrity (tamper detection), plus server authentication via certificates.
Software

TLS & Network Security

@openstem
TLS & Network Security
Flashcards10 cards
Why prefer short-lived access tokens with refresh tokens?1 / 10
Short access-token lifetimes limit the damage of a leaked token, while a longer-lived refresh token (stored more securely and revocable server-side) lets clients obtain new access tokens without re-login.
Software

API & Access Control

@openstem
API & Access Control
Flashcards10 cards
What is a Docker image layer?1 / 10
Each instruction in a Dockerfile creates a read-only layer; layers are stacked and cached, and a container adds a thin writable layer on top.
Software

Container Internals & Images

@openstem
Container Internals & Images
Flashcards10 cards
What are the three pillars of observability?1 / 10
Metrics, logs, and traces: metrics are aggregated numeric measurements, logs are discrete timestamped events, and traces follow a request across services.
Software

Observability & Monitoring

@openstem
Observability & Monitoring
Flashcards10 cards
What is the TDD cycle?1 / 10
Red-Green-Refactor: write a failing test (red), write minimal code to pass it (green), then refactor while keeping tests green.
Software

TDD & Coverage

@openstem
TDD & Coverage
Flashcards10 cards
What is the 'testing trophy' and how does it differ from the pyramid?1 / 10
Popularized for component/frontend work, it emphasizes integration tests as the largest middle layer (with static analysis at the base), arguing they give the best confidence-per-cost trade-off.
Software

Test Architecture & Strategy

@openstem
Test Architecture & Strategy
Flashcards10 cards
What is the God Object anti-pattern?1 / 10
A single class that knows or does too much, centralizing responsibilities and violating the Single Responsibility Principle, making it hard to maintain.
Software

Anti-patterns & Refactoring

@openstem
Anti-patterns & Refactoring
Flashcards10 cards
What is the main trade-off introduced by applying many design patterns?1 / 10
Patterns add indirection and abstraction. Used well they decouple and clarify; used excessively they obscure control flow and raise cognitive load. The trade-off is flexibility vs simplicity.
Software

Applying Patterns at Scale

@openstem
Applying Patterns at Scale
Flashcards10 cards
What is the modern way to configure HTTP security in Spring Security 6?1 / 10
Define a `SecurityFilterChain` bean using the lambda DSL on `HttpSecurity`. As of Spring Security 6 (Spring Boot 3) the component-based `WebSecurityConfigurerAdapter` was removed, so this bean-based approach is the only option.
Software

Spring Security

@openstem
Spring Security
Flashcards10 cards
What does a Spring Data JPA repository interface give you for free?1 / 10
Extending `JpaRepository` provides CRUD, pagination, and sorting plus derived query methods generated from method names — no implementation needed.
Software

Data Access & JPA

@openstem
Data Access & JPA

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