Quick Revision

GK One-Line Question & Answer

15541+ short questions with short answers, covering every category and sub-category on the site — no long articles to scroll through. Good for a fast recap before an exam, or a few minutes of daily practice.

Software Engineering → Introduction to Software Engineering 5

What is 'API contract testing' for backward compatibility and what specific breaking change category does semantic versioning fail to catch automatically?
Contract testing verifies actual API behaviour matches a published schema across versions; semantic versioning relies on humans correctly classifying changes — it fails to catch 'silent' breaking changes where a developer mistakenly tags a breaking change as a minor/patch bump (e.g., changing a field's data type while believing it's backward compatible), since SemVer is a convention, not an automatically enforced guarantee
click to copy
What is 'feature branch lifetime' standard and what specific risk increases non-linearly as branch age increases?
Coding standards often mandate short-lived branches (merge within 1-2 days) because merge conflict probability and complexity increase non-linearly with divergence time — both branches' code evolves independently, increasing the surface area of potential conflicts and the cognitive difficulty of resolving them correctly as more unrelated changes accumulate on both sides
click to copy
What is 'configuration as code' standard and what specific deployment risk does hardcoding configuration values introduce?
Configuration as code stores environment-specific settings (database URLs, API keys, feature flags) outside the application binary, in version-controlled config files or environment variables — hardcoding values (e.g., a production database URL embedded directly in source code) risks accidentally deploying production credentials to lower environments or requiring a full rebuild/redeploy for any configuration change, including emergency fixes
click to copy
What is 'dependency pinning' versus 'dependency ranges' in package management standards and what stability/security trade-off exists between them?
Pinning (exact version: 'lodash: 4.17.21') guarantees reproducible builds but requires manual intervention to receive security patches; ranges ('lodash: ^4.17.0') automatically receive compatible updates including security fixes but risk unexpected behaviour changes from a dependency's minor update breaking the application unexpectedly
click to copy
What is 'twelve-factor app' methodology's stance on logs and what anti-pattern does it explicitly discourage?
Twelve-factor treats logs as a stream of event data, written unbuffered to stdout — explicitly discouraging applications from managing their own log file rotation/storage/routing, since this couples the application to infrastructure concerns; instead, the execution environment captures stdout and routes it to the appropriate destination (file, log aggregator, etc.)
click to copy

Software Engineering → Coding Standards 1

What is 'graceful shutdown' coding standard for distributed services and what data loss risk does ignoring it create?
Graceful shutdown handlers respond to termination signals (SIGTERM) by finishing in-flight requests, closing database connections cleanly, and deregistering from service discovery before exiting — ignoring it (immediate process kill) risks dropping in-progress requests mid-transaction, leaving database connections in inconsistent states, and routing new traffic to a service that's already shutting down
click to copy