OS

OpenStem

@openstem · Joined Jul 2026
7420 public items8 groups
Content7420Groups8
Flashcards10 cards
What problem do generics solve?1 / 10
Generics add compile-time type safety to collections and APIs, eliminating most casts and catching type errors at compile time instead of as runtime ClassCastExceptions. `List<String>` guarantees only Strings go in and come out.
Software

Generics & Exceptions

@openstem
Generics & Exceptions
Flashcards10 cards
Are Java Stream operations eager or lazy?1 / 10
Intermediate operations like `map` and `filter` are lazy and only build a pipeline; processing happens when a terminal operation (e.g. `collect`, `forEach`) is invoked.
Software

Streams & Functional

@openstem
Streams & Functional
Flashcards10 cards
What is the difference between `rem` and `em` units?1 / 10
`em` is relative to the font-size of the current element (compounds with nesting). `rem` is relative to the root (<html>) font-size — predictable and not affected by parent sizes. Prefer `rem` for consistent, scalable typography and spacing.
Software

Responsive & Modern CSS

@openstem
Responsive & Modern CSS
Flashcards10 cards
What is the first rule of ARIA?1 / 10
Do not use ARIA if a native HTML element with the needed semantics and behavior already exists; prefer a real <button> over a <div role="button">.
Software

Accessibility & ARIA

@openstem
Accessibility & ARIA
Flashcards10 cards
What problem do Node streams solve?1 / 10
They process data in chunks as it arrives instead of buffering the whole payload in memory, enabling constant-memory handling of large or unbounded data.
Software

Streams & Buffers

@openstem
Streams & Buffers
Flashcards10 cards
What does `http.createServer(cb)` give you on each request?1 / 10
The callback receives an IncomingMessage (the readable request) and a ServerResponse (the writable response) for that connection.
Software

HTTP & Servers

@openstem
HTTP & Servers
Flashcards10 cards
What is CORS and why does it exist?1 / 10
Cross-Origin Resource Sharing controls which origins (scheme+host+port) may access a resource via browser fetch/XHR. It exists to relax the Same-Origin Policy safely — the server sends Access-Control-Allow-Origin headers to opt-in specific origins.
Software

Web Protocols

@openstem
Web Protocols
Flashcards10 cards
How does the browser send cookies back to a server?1 / 10
After a server sets a cookie via Set-Cookie, the browser automatically attaches matching cookies in the Cookie header on subsequent requests to that domain/path, subject to Secure, SameSite, and expiry rules.
Software

Cookies, Sessions & Auth

@openstem
Cookies, Sessions & Auth
Flashcards8 cards
What is virtual memory?1 / 8
An abstraction giving each process its own large, contiguous address space, mapped to physical RAM (and disk) by the MMU via page tables. It enables isolation, allows programs larger than RAM (via swapping), and simplifies memory allocation.
Software

Memory Management

@openstem
Memory Management
Flashcards8 cards
What is the goal of a CPU scheduler?1 / 8
To decide which ready process runs next on the CPU, balancing goals like throughput, low latency, fairness, and good CPU utilization.
Software

CPU Scheduling

@openstem
CPU Scheduling
Flashcards9 cards
What is the difference between a mutex and a semaphore?1 / 9
A mutex allows exactly one thread into a critical section (binary, with ownership — only the locker can unlock). A semaphore is a counter permitting up to N concurrent accesses and has no ownership. A mutex is a specialized binary semaphore with ownership semantics.
Software

Synchronization Primitives

@openstem
Synchronization Primitives
Flashcards10 cards
What is a race condition?1 / 10
A bug where the program's correctness depends on the nondeterministic timing or interleaving of concurrent operations on shared state.
Software

Deadlocks & Race Conditions

@openstem
Deadlocks & Race Conditions
Flashcards10 cards
What is XSS (Cross-Site Scripting) and how do you prevent it?1 / 10
XSS injects malicious scripts into pages viewed by others, running in their browser to steal cookies/tokens or perform actions. Prevent by escaping/encoding output, using a Content-Security-Policy, and never inserting untrusted data into the DOM as HTML (use textContent, not innerHTML).
Software

Web Security

@openstem
Web Security
Flashcards10 cards
What is the difference between hashing and encryption?1 / 10
Hashing is one-way — you cannot reverse a hash to the original (used for passwords, integrity). Encryption is two-way — ciphertext can be decrypted with a key (used for confidentiality). Never 'encrypt' passwords; hash them with a slow algorithm like bcrypt/Argon2.
Software

Cryptography Basics

@openstem
Cryptography Basics
Flashcards10 cards
What is the primary defense against SQL injection?1 / 10
Parameterized queries (prepared statements) keep user input as data, never as executable SQL, so the input cannot alter query structure.
Software

OWASP & Injection Attacks

@openstem
OWASP & Injection Attacks
Flashcards10 cards
What is a Pod in Kubernetes?1 / 10
The smallest deployable unit — one or more tightly-coupled containers sharing a network namespace (same IP) and storage. Usually one container per Pod; sidecars are the exception. Pods are ephemeral and replaced, not repaired.
Software

Kubernetes

@openstem
Kubernetes
Flashcards10 cards
What is the difference between continuous delivery and continuous deployment?1 / 10
Continuous delivery keeps every change deployable and releases on a manual approval, while continuous deployment automatically ships every passing change to production with no manual gate.
Software

CI/CD Pipelines

@openstem
CI/CD Pipelines
Flashcards10 cards
What is the difference between a mock and a stub?1 / 10
A stub returns canned responses to make a test run; a mock additionally records and asserts on how it was called (behavior verification).
Software

Unit Testing & Mocking

@openstem
Unit Testing & Mocking
Flashcards10 cards
What does an integration test verify that a unit test does not?1 / 10
It verifies that multiple components or modules work correctly together, including real interactions across boundaries like a database or service.
Software

Integration & E2E

@openstem
Integration & E2E
Flashcards10 cards
What is the Adapter pattern?1 / 10
Wraps an incompatible interface so it can be used where a different interface is expected — a translator between two APIs. Lets you integrate legacy or third-party code without changing it.
Software

Structural Patterns

@openstem
Structural Patterns
Flashcards10 cards
What does the 'S' in SOLID (Single Responsibility) mean?1 / 10
A class should have only one reason to change — one responsibility. Mixing concerns (e.g. business logic + persistence + formatting) makes code fragile and hard to test. Split responsibilities into focused units.
Software

SOLID Principles

@openstem
SOLID Principles
Flashcards10 cards
What problem does the Observer pattern solve?1 / 10
It establishes a one-to-many dependency so that when a subject changes state, all registered observers are notified automatically.
Software

Behavioral Patterns

@openstem
Behavioral Patterns
Flashcards10 cards
What is the difference between @Controller and @RestController?1 / 10
@Controller returns view names (for server-side templates). @RestController = @Controller + @ResponseBody, so methods return data serialized directly to JSON/XML in the response body — the standard for REST APIs.
Software

Web & REST Controllers

@openstem
Web & REST Controllers
Flashcards10 cards
What annotation is the typical entry point of a Spring Boot application?1 / 10
`@SpringBootApplication`, a meta-annotation combining `@Configuration`, `@EnableAutoConfiguration`, and `@ComponentScan`.
Software

Spring Boot & Autoconfiguration

@openstem
Spring Boot & Autoconfiguration
Flashcards10 cards
What does the `?` suffix on a type like `String?` mean in Dart?1 / 10
It marks the type as nullable, allowing the value to be either a String or null. A bare `String` is non-nullable and can never hold null under sound null safety.
Software

Null Safety

@openstem
Null Safety
Flashcards10 cards
What does the `await` keyword do inside an `async` function?1 / 10
It suspends the function until the awaited Future completes, then resumes with its result. The surrounding function returns a Future immediately to its caller.
Software

Async & Futures

@openstem
Async & Futures
Flashcards10 cards
What is the result of this collection-if expression?1 / 10
[1, 2, 3] — collection-if conditionally includes the element 3 because the condition is true. Collection-if/for build lists inline.
Software

Collections & Generics

@openstem
Collections & Generics
Flashcards10 cards
What is a factory constructor used for?1 / 10
It is a constructor that does not always create a new instance: it can return a cached object, a subtype, or run logic before returning. It must return an instance of the class.
Software

OOP, Classes & Mixins

@openstem
OOP, Classes & Mixins
Flashcards10 cards
What is Flutter's core layout rule in one sentence?1 / 10
Constraints go down, sizes go up, and the parent sets the position. A widget receives constraints from its parent, chooses its own size within them, and the parent then positions it.
Software

Layout & Constraints

@openstem
Layout & Constraints
Flashcards10 cards
What does `Navigator.push` do?1 / 10
It adds a new route on top of the navigation stack, displaying the pushed screen. The previous route remains in the stack underneath.
Software

Navigation & Routing

@openstem
Navigation & Routing

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