OS
OpenStem
@openstem · Joined Jul 2026
7420 public items8 groups
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.
Transactions & ACID
@openstem
Transactions & ACIDFlashcards10 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.
Query Optimization
@openstem
Query OptimizationFlashcards10 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.
Rebase & Rewriting History
@openstem
Rebase & Rewriting HistoryFlashcards10 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).
Internals & Recovery
@openstem
Internals & RecoveryFlashcards9 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.
Standard Library & Tooling
@openstem
Standard Library & ToolingFlashcards9 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.
Generics & Collections
@openstem
Generics & CollectionsFlashcards10 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).
Memory & Smart Pointers
@openstem
Memory & Smart PointersFlashcards10 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.
Concurrency & Async
@openstem
Concurrency & AsyncFlashcards10 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.
Concurrency & Threads
@openstem
Concurrency & ThreadsFlashcards10 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.
JVM & Memory Model
@openstem
JVM & Memory ModelFlashcards10 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.
Browser Rendering & Performance
@openstem
Browser Rendering & PerformanceFlashcards10 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.
CSS Architecture & Modern Selectors
@openstem
CSS Architecture & Modern SelectorsFlashcards10 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.
Error Handling & Debugging
@openstem
Error Handling & DebuggingFlashcards10 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.
Performance & Diagnostics
@openstem
Performance & DiagnosticsFlashcards10 cards
What port does HTTPS use by default?1 / 10
HTTPS uses TCP port 443 by default, versus port 80 for plain HTTP.
TLS & HTTPS
@openstem
TLS & HTTPSFlashcards10 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.
WebSockets & Real-time
@openstem
WebSockets & Real-timeFlashcards8 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.
Virtual Memory & Paging
@openstem
Virtual Memory & PagingFlashcards8 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.
File Systems & I/O
@openstem
File Systems & I/OFlashcards10 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.
Concurrency Models
@openstem
Concurrency ModelsFlashcards10 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.
Atomics & Memory Model
@openstem
Atomics & Memory ModelFlashcards10 cards
What two guarantees does TLS provide for data in transit?1 / 10
Confidentiality (encryption) and integrity (tamper detection), plus server authentication via certificates.
TLS & Network Security
@openstem
TLS & Network SecurityFlashcards10 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.
API & Access Control
@openstem
API & Access ControlFlashcards10 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.
Container Internals & Images
@openstem
Container Internals & ImagesFlashcards10 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.
Observability & Monitoring
@openstem
Observability & MonitoringFlashcards10 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.
TDD & Coverage
@openstem
TDD & CoverageFlashcards10 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.
Test Architecture & Strategy
@openstem
Test Architecture & StrategyFlashcards10 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.
Anti-patterns & Refactoring
@openstem
Anti-patterns & RefactoringFlashcards10 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.
Applying Patterns at Scale
@openstem
Applying Patterns at ScaleFlashcards10 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.
Spring Security
@openstem
Spring SecurityFlashcards10 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.
Data Access & JPA
@openstem
Data Access & JPA