OS
OpenStem
@openstem · Joined Jul 2026
7420 public items8 groups
Flashcards10 cards
What do HTTP status code classes 2xx, 3xx, 4xx, 5xx mean?1 / 10
2xx success (200 OK, 201 Created), 3xx redirection (301 Moved, 304 Not Modified), 4xx client error (400 Bad Request, 401 Unauthorized, 404 Not Found), 5xx server error (500 Internal, 503 Unavailable).
HTTP Fundamentals
@openstem
HTTP FundamentalsFlashcards10 cards
What is the difference between TCP and UDP?1 / 10
TCP is connection-oriented and reliable — ordered, error-checked, retransmitted (web, email, file transfer). UDP is connectionless and unreliable but fast and low-overhead — no ordering or delivery guarantees (video streaming, gaming, DNS).
TCP/IP & DNS
@openstem
TCP/IP & DNSFlashcards9 cards
What is the difference between a process and a thread?1 / 9
A process is an independent program with its own memory address space. A thread is a unit of execution within a process; threads of the same process share memory and resources. Threads are cheaper to create and switch between, but share state (needing synchronization).
Processes & Threads
@openstem
Processes & ThreadsFlashcards9 cards
What is the primary role of an operating system?1 / 9
The OS manages hardware resources (CPU, memory, storage, devices) on behalf of programs and provides a clean abstraction layer — processes, files, sockets — so applications don't program hardware directly.
OS Fundamentals
@openstem
OS FundamentalsFlashcards9 cards
What is a race condition?1 / 9
A bug where the program's correctness depends on the non-deterministic timing/interleaving of concurrent operations on shared mutable state — e.g. two threads incrementing a counter without synchronization can lose updates. Prevented with locks, atomics, or avoiding shared mutability.
Fundamentals
@openstem
FundamentalsFlashcards9 cards
What is the difference between a process and a thread?1 / 9
A process is an independent program with its own memory space, file handles, and resources. Threads within a process share the same memory and resources but have their own stack, registers, and program counter. Processes are isolated; threads are lightweight peers within a process.
Threads & Processes
@openstem
Threads & ProcessesFlashcards10 cards
What is the difference between authentication and authorization?1 / 10
Authentication (authn) verifies WHO you are (login, credentials). Authorization (authz) determines WHAT you are allowed to do (permissions, roles). Authentication always comes first.
Authentication & Authorization
@openstem
Authentication & AuthorizationFlashcards10 cards
What three properties make up the CIA triad?1 / 10
Confidentiality (only authorized parties can read data), Integrity (data isn't tampered with undetected), and Availability (systems and data are accessible when needed). It's the core model for evaluating security.
Security Fundamentals
@openstem
Security FundamentalsFlashcards10 cards
What is the difference between a Docker image and a container?1 / 10
An image is an immutable, layered template (the blueprint). A container is a running (or stopped) instance of an image with its own writable layer. One image → many containers, like a class → objects.
Docker
@openstem
DockerFlashcards10 cards
What problem does Docker Compose solve?1 / 10
Compose defines and runs multi-container applications from a single YAML file. Instead of many `docker run` commands, you declare services, networks, and volumes once and start them all with `docker compose up`.
Docker Compose Fundamentals
@openstem
Docker Compose FundamentalsFlashcards10 cards
What is the test pyramid?1 / 10
A guideline for test distribution: many fast, cheap unit tests at the base, fewer integration tests in the middle, and few slow, brittle end-to-end tests at the top. It optimizes for fast feedback and maintainability.
Test Types
@openstem
Test TypesFlashcards10 cards
What is Test-Driven Development (TDD)?1 / 10
Write a failing test first (Red), write the minimal code to pass it (Green), then improve the design (Refactor) — repeat. It drives design from requirements and creates a safety net for refactoring.
Practices
@openstem
PracticesFlashcards10 cards
What is a software design pattern?1 / 10
A reusable, named solution to a recurring design problem in a given context. A pattern is not a finished piece of code but a template/blueprint describing how to structure classes and objects to solve the problem.
Pattern Fundamentals
@openstem
Pattern FundamentalsFlashcards10 cards
What is the Singleton pattern and what is its main drawback?1 / 10
Ensures a class has only one instance with a global access point. Useful for shared resources (config, logging) but is often an anti-pattern: it introduces global state, hides dependencies, and makes unit testing harder (hard to mock/reset).
Creational Patterns
@openstem
Creational PatternsFlashcards10 cards
What is Inversion of Control (IoC) in Spring?1 / 10
Instead of objects creating their own dependencies, the Spring IoC container creates and injects them. This decouples components, centralizes wiring, and makes testing easy (inject mocks). Dependency Injection is the mechanism that implements IoC.
Core & Dependency Injection
@openstem
Core & Dependency InjectionFlashcards9 cards
Which files does Spring Boot read external configuration from by default?1 / 9
application.properties or application.yml on the classpath (and config locations). Spring Boot binds these values into beans and supports profile-specific variants like application-dev.yml.
Configuration & Properties
@openstem
Configuration & PropertiesFlashcards9 cards
What is sound null safety in Dart?1 / 9
Types are non-nullable by default; you must explicitly opt in with `?` (e.g. String?) to allow null. The compiler guarantees a non-nullable variable can never be null, eliminating null-reference errors at compile time. Introduced in Dart 2.12 and made mandatory (no opt-out) in Dart 3.0.
Language Basics
@openstem
Language BasicsFlashcards9 cards
How are optional named parameters declared in a Dart function?1 / 9
They are wrapped in `{ }` in the signature, e.g. `void f({int x = 0})`. Callers pass them by name, and each may have a default or be marked `required`.
Control Flow & Functions
@openstem
Control Flow & FunctionsFlashcards10 cards
What does 'everything is a widget' mean in Flutter?1 / 10
The entire UI is built from widgets — not just buttons and text, but also layout (Row, Column, Padding), styling, and even the app itself. Widgets are immutable descriptions of part of the UI; Flutter builds a tree of them and renders it.
Widgets & State
@openstem
Widgets & StateFlashcards10 cards
How do you declare a variable whose type is inferred in Dart?1 / 10
Use `var` (mutable) or `final` (single assignment) and let Dart infer the type from the initializer, e.g. `var count = 0;` infers `int`.
Dart for Flutter
@openstem
Dart for FlutterFlashcards10 cards
What is the difference between SSR, SSG, and ISR in Next.js?1 / 10
SSR (Server-Side Rendering) renders HTML per request. SSG (Static Site Generation) renders at build time, serving static HTML. ISR (Incremental Static Regeneration) serves static pages but regenerates them in the background after a revalidation interval — combining SSG speed with fresh data.
Rendering & Routing
@openstem
Rendering & RoutingFlashcards10 cards
What is Next.js?1 / 10
A React framework for building full-stack web apps. It adds file-based routing, server rendering, data fetching, bundling, and a build/deploy toolchain on top of React.
Next.js Fundamentals
@openstem
Next.js FundamentalsFlashcards8 cards
What are the building blocks of a NestJS application?1 / 8
Modules (organize related code), Controllers (handle incoming requests and routing), and Providers/Services (business logic, injectable). Nest wires them via a built-in dependency injection container — a structured, Angular-inspired architecture.
Architecture
@openstem
ArchitectureFlashcards8 cards
Which decorator maps a GET request to a controller method?1 / 8
`@Get()` — placed on a controller method, optionally with a path segment like `@Get(':id')`. Sibling decorators include @Post, @Put, @Patch, and @Delete.
Decorators & Routing
@openstem
Decorators & RoutingFlashcards10 cards
What is MongoDB's data model?1 / 10
A document database: data is stored as flexible, JSON-like documents (BSON) grouped into collections. Documents in a collection need not share the same schema. Maps naturally to objects in code — no joins/normalization required for nested data.
Documents & Queries
@openstem
Documents & QueriesFlashcards10 cards
What does the $inc update operator do?1 / 10
It increments (or decrements with a negative value) a numeric field by the given amount, creating the field at that value if it doesn't exist.
CRUD & Operators
@openstem
CRUD & OperatorsFlashcards10 cards
What is MVCC in PostgreSQL?1 / 10
Multi-Version Concurrency Control: readers never block writers and writers never block readers, because each transaction sees a consistent snapshot. Updates create new row versions rather than locking; old versions are cleaned up by VACUUM.
Postgres Features
@openstem
Postgres FeaturesFlashcards10 cards
What command connects to a PostgreSQL database interactively?1 / 10
`psql -U <user> -d <database>` opens the interactive SQL terminal. Inside, `\dt` lists tables, `\d table` describes one, and `\q` quits.
PostgreSQL Basics
@openstem
PostgreSQL BasicsFlashcards10 cards
What is Amazon S3 and what is its core abstraction?1 / 10
S3 (Simple Storage Service) is object storage — you store files ('objects') in 'buckets', accessed by key over HTTP. It's highly durable (11 nines), scalable, and used for static assets, backups, data lakes, and static website hosting. Not a filesystem — there are no real folders.
Core Services
@openstem
Core ServicesFlashcards10 cards
What does 'elasticity' mean in cloud computing?1 / 10
Elasticity is the ability to automatically scale resources up or down to match demand, so you provision capacity dynamically instead of buying for peak load.
Cloud Fundamentals
@openstem
Cloud Fundamentals