Lead Engineer Glossary
874 topics across 17 sections.
JavaScript language fundamentals
- ECMAScript
- Language editions and compatibility
- Strict mode
- Primitive values
- Objects
- undefined
- null
- NaN
- Truthiness
- Type coercion
- Equality: == and ===
- Object.is
- typeof
- instanceof
- Lexical scope
- Block scope
- Function scope
- Hoisting
- Temporal dead zone
- Closures
- First-class functions
- Higher-order functions
- Pure functions
- Side effects
- Function declarations
- Function expressions
- Arrow functions
- this binding
- call, apply, and bind
- arguments
- Rest parameters
- Spread syntax
- Destructuring
- Default parameters
- Template literals
- Optional chaining
- Nullish coalescing
- Logical assignment
- Short-circuit evaluation
- Ternary expressions
- Object property descriptors
- Getters and setters
- Computed properties
- Property enumeration
- Prototype chain
- Prototypal inheritance
- Constructor functions
- Classes
- extends and super
- Private class fields
- Static class members
- new semantics
- Symbols
- Well-known symbols
- Iterables
- Iterators
- Generators
- Async generators
- Map
- Set
- WeakMap
- WeakSet
- Arrays
- Sparse arrays
- Typed arrays
- ArrayBuffer
- DataView
- BigInt
- Number precision
- Floating-point arithmetic
- Regular expressions
- Unicode and UTF-16
- JSON serialization
- toJSON
- Date and time handling
- Internationalization APIs
- Error objects
- Custom errors
- Exception propagation
- Defensive copying
- Shallow copy
- Deep copy
- Referential equality
- Immutability
- Functional array methods
- Property access and optional properties
- Object identity
- Garbage collection basics
- Memory leaks
- Finalization and weak references
JavaScript asynchronous programming and runtime
- Call stack
- Heap
- Run-to-completion
- Event loop
- Task queue
- Microtask queue
- Promise jobs
- Timers
- setTimeout
- setInterval
- Animation frame callbacks
- Idle callbacks
- Promises
- Promise states
- Promise chaining
- Promise error propagation
- Promise.all
- Promise.allSettled
- Promise.race
- Promise.any
- async and await
- Top-level await
- Async iteration
- Cancellation
- AbortController
- Abort signals
- Race conditions
- Concurrency limits
- Backpressure
- Debouncing
- Throttling
- Retry strategies
- Exponential backoff
- Jitter
- Idempotency
- Web Workers
- Shared Workers
- Service Workers
- Worker messaging
- Structured clone
- Shared memory
- Atomics
- Message channels
- Streams
- Readable streams
- Writable streams
- Transform streams
- Stream backpressure
- Node.js event loop
- Node.js worker threads
- Node.js child processes
- Node.js streams
- Node.js buffers
- Event emitters
- Unhandled promise rejections
- Async context propagation
- Async resource cleanup
- Deadlocks in async workflows
- Fairness and starvation
JavaScript modules, packages, and tooling
- ES modules
- CommonJS
- Module resolution
- Static imports
- Dynamic imports
- Circular dependencies
- Tree shaking
- Side-effect annotations
- Package managers
- npm
- pnpm
- yarn
- Lockfiles
- Semantic versioning
- Dependency ranges
- Peer dependencies
- Optional dependencies
- Supply-chain risk
- Package provenance
- Bundlers
- Code splitting
- Chunk loading
- Minification
- Source maps
- Transpilation
- Babel
- TypeScript
- tsconfig
- Type declarations
- Declaration merging
- Structural typing
- Generics
- Conditional types
- Mapped types
- Discriminated unions
- Type narrowing
- unknown versus any
- Runtime validation
- Linters
- Formatters
- Static analysis
- Build caching
- Incremental builds
- Monorepos
- Workspace packages
- Version constraints
- Feature detection
- Polyfills
- Browser compatibility matrices
- Runtime compatibility matrices
C# language fundamentals
- C# language versions
- .NET SDK and target frameworks
- Value types
- Reference types
- Stack and heap concepts
- Nullable reference types
- Nullable value types
- Nullability annotations
- var
- dynamic
- Type inference
- Boxing and unboxing
- Structs
- Records
- Classes
- Interfaces
- Enums
- Tuples
- Pattern matching
- Switch expressions
- is patterns
- with expressions
- Properties
- Indexers
- Fields
- Access modifiers
- init properties
- Required members
- Constructors
- Static constructors
- Finalizers
- Inheritance
- Composition
- Virtual dispatch
- Method overloads
- Method overrides
- Extension methods
- Partial types
- Generic types
- Generic constraints
- Variance: covariance and contravariance
- Delegates
- Events
- Lambdas
- Expression trees
- LINQ
- Deferred execution
- Query versus method syntax
- Iterator methods
- yield return
- Exceptions
- Exception filters
- Custom exception design
- using declarations
- IDisposable
- IAsyncDisposable
- ref, out, and in
- Span<T>
- Memory<T>
- ReadOnlySpan<T>
- StringBuilder
- String interning
- Culture-aware comparisons
- DateTime and DateTimeOffset
- TimeSpan
- Guid
- decimal versus floating point
- Attributes
- Reflection
- Source generators
- Unsafe code
- Pointers
- C# analyzers
- Language analyzers
- Code style rules
- global using
- File-scoped namespaces
- Assembly metadata
- Strong naming
- API compatibility
.NET runtime and application development
- Common Language Runtime
- Intermediate Language
- JIT compilation
- Ahead-of-time compilation
- Tiered compilation
- Dynamic PGO
- Garbage collector generations
- Server GC
- Workstation GC
- Large object heap
- Pinned object heap
- Allocation pressure
- Object pooling
- Finalization queue
- GC pauses
- Managed memory
- Native memory
- SafeHandle
- Assembly loading
- Assembly load contexts
- Dependency injection
- Service lifetimes
- Options pattern
- Configuration providers
- Logging abstractions
- Structured logging
- OpenTelemetry for .NET
- Middleware pipelines
- Hosted services
- Background services
- Health checks
- Minimal APIs
- ASP.NET Core routing
- Model binding
- Validation
- Filters
- Endpoint filters
- Authentication middleware
- Authorization policies
- Claims-based identity
- Data protection
- Kestrel
- HTTP.sys
- SignalR
- gRPC
- Entity Framework Core
- Change tracking
- Migrations
- LINQ providers
- ADO.NET
- Connection pooling
- HttpClient lifetime
- IHttpClientFactory
- Serialization options
- System.Text.Json
- Source-generated serialization
- Localization
- Resource files
- Background queues
- Graceful shutdown
Browser, HTML, CSS, and rendering
- HTML semantics
- Document Object Model
- CSS Object Model
- Accessibility tree
- DOM events
- Event propagation
- Capturing and bubbling
- Event delegation
- Shadow DOM
- Custom elements
- Web Components
- Forms and constraint validation
- HTML parsing
- CSS cascade
- Specificity
- Inheritance in CSS
- Cascade layers
- CSS variables
- Layout
- Normal flow
- Flexbox
- Grid
- Containing blocks
- Stacking contexts
- Paint order
- Compositing
- z-index
- Reflow and repaint
- Style recalculation
- Critical rendering path
- Layout thrashing
- Forced synchronous layout
- requestAnimationFrame
- Resize Observer
- Intersection Observer
- Mutation Observer
- Browser storage
- Cookies
- Local storage
- Session storage
- IndexedDB
- Cache Storage
- Browser history
- Navigation API
- View transitions
- Responsive design
- Media queries
- Container queries
- Intrinsic sizing
- Font loading
- Image formats
- Responsive images
- Lazy loading
- Browser compatibility
- Progressive enhancement
- Graceful degradation
- Browser security model
- Same-origin policy
- Cross-origin isolation
- Browser process model
Web architecture and application design
- Client-server architecture
- Monoliths
- Modular monoliths
- Microservices
- Service boundaries
- Domain-driven design
- Bounded contexts
- Aggregates
- Domain events
- CQRS
- Event sourcing
- Hexagonal architecture
- Clean architecture
- Layered architecture
- Dependency inversion
- Ports and adapters
- API design
- REST
- GraphQL
- gRPC
- WebSockets
- Server-Sent Events
- Webhooks
- API versioning
- Pagination
- Filtering and sorting
- Idempotent HTTP methods
- HTTP status codes
- Content negotiation
- Caching headers
- ETags
- Conditional requests
- CORS
- Content Security Policy
- Compression
- HTTP/1.1
- HTTP/2
- HTTP/3
- TLS
- DNS
- CDN
- Reverse proxy
- Load balancer
- API gateway
- BFF pattern
- Server-side rendering
- Static site generation
- Incremental static regeneration
- Hydration
- Partial hydration
- Islands architecture
- Streaming SSR
- Edge rendering
- Progressive web apps
- Offline-first design
- Multi-tenancy
- Feature flags
- Configuration management
- Secrets management
- Backward-compatible changes
Web performance and capacity
- Core Web Vitals
- Largest Contentful Paint (LCP)
- Interaction to Next Paint (INP)
- Cumulative Layout Shift (CLS)
- First Contentful Paint (FCP)
- Time to First Byte (TTFB)
- Time to Interactive (legacy metric)
- Real User Monitoring (RUM)
- Field data
- Lab data
- CrUX
- Lighthouse
- WebPageTest
- Performance budgets
- Performance regressions
- p50, p75, p95, and p99
- Long tasks
- Main-thread blocking
- Total Blocking Time
- JavaScript execution cost
- Bundle size
- Parse and compile cost
- Dead code elimination
- Lazy loading
- Preloading
- Prefetching
- preconnect
- Resource hints
- Critical CSS
- Font subsetting
- Image compression
- AVIF and WebP
- Responsive image delivery
- Brotli and gzip
- Cache hit ratio
- Cache-control strategy
- CDN cache keys
- Cache invalidation
- Request waterfalls
- Connection reuse
- DNS lookup cost
- TLS handshake cost
- Network latency
- Bandwidth constraints
- Payload budgets
- Rendering performance
- Animation performance
- GPU compositing
- content-visibility
- Virtualized lists
- Pagination versus infinite scroll
- Memory footprint
- CPU profiling
- Heap profiling
- Allocation profiling
- Database query performance
- N+1 queries
- Connection pool saturation
- Queueing delay
- Throughput
- Little’s Law
- Load testing
- Stress testing
- Soak testing
- Capacity planning
- Autoscaling
- Tail latency
- Coordinated omission
- Performance SLOs
- Performance observability
Debugging and diagnostics
- Reproduction steps
- Minimal reproductions
- Hypothesis-driven debugging
- Binary search debugging
- Delta debugging
- Regression isolation
- Breakpoints
- Conditional breakpoints
- Logpoints
- Watch expressions
- Call stacks
- Async stack traces
- Source maps
- Browser DevTools
- Network panel
- Elements panel
- Performance panel
- Memory panel
- Coverage panel
- Console diagnostics
- HAR files
- Packet captures
- Structured logs
- Correlation IDs
- Distributed traces
- Metrics
- Profiles
- Dumps
- Heap snapshots
- Core dumps
- Thread dumps
- Flame graphs
- Sampling profilers
- Instrumentation profilers
- Race detection
- Deadlock diagnosis
- Memory leak diagnosis
- Production debugging
- Feature-flag rollback
- Incident timelines
- Error budgets
- Blameless postmortems
- Root cause analysis
- Five whys
- Fault trees
- Symptom versus cause
- Heisenbugs
- Nondeterministic failures
- Environment parity
- Time-dependent bugs
Testing and quality engineering
- Unit testing
- Integration testing
- Contract testing
- End-to-end testing
- Component testing
- Visual regression testing
- Accessibility testing
- Load testing
- Property-based testing
- Fuzz testing
- Mutation testing
- Snapshot testing
- Test doubles
- Mocks
- Stubs
- Fakes
- Test fixtures
- Test data builders
- Arrange-Act-Assert
- Deterministic tests
- Flaky tests
- Test isolation
- Parallel test execution
- Test containers
- Browser automation
- Playwright
- WebDriver
- Coverage metrics
- Branch coverage
- Mutation score
- Risk-based testing
- Shift-left testing
- Test pyramid
- Continuous testing
- CI quality gates
- Static analysis
- Dependency scanning
- SAST
- DAST
- Software composition analysis
Security and privacy
- Threat modeling
- STRIDE
- Attack surface
- Least privilege
- Defense in depth
- Authentication
- Authorization
- Session management
- OAuth 2.0
- OpenID Connect
- SAML
- JWT
- Cookie security attributes
- CSRF
- XSS
- SQL injection
- Command injection
- SSRF
- Path traversal
- Clickjacking
- Prototype pollution
- Deserialization risks
- Secrets leakage
- Password hashing
- Key rotation
- Encryption at rest
- Encryption in transit
- TLS certificate management
- CORS misconfiguration
- CSP
- Subresource Integrity
- Dependency vulnerabilities
- SBOM
- Supply-chain attacks
- Rate limiting
- Abuse prevention
- Data minimization
- PII handling
- Retention policies
- Privacy by design
Databases, data, and messaging
- Relational modeling
- Normalization
- Denormalization
- Primary keys
- Foreign keys
- Unique constraints
- Indexes
- Composite indexes
- Covering indexes
- Query plans
- Transactions
- Isolation levels
- ACID
- Optimistic concurrency
- Pessimistic locking
- Deadlocks
- Read replicas
- Sharding
- Partitioning
- Connection pooling
- Migrations
- Online schema changes
- NoSQL data modeling
- Document databases
- Key-value stores
- Search indexes
- Redis
- Cache-aside
- Write-through cache
- Write-behind cache
- Cache stampede
- Message queues
- Pub/sub
- Kafka
- RabbitMQ
- Delivery guarantees
- At-most-once delivery
- At-least-once delivery
- Exactly-once claims
- Dead-letter queues
- Outbox pattern
- Inbox pattern
- Saga pattern
- Eventual consistency
- Schema evolution
- Data contracts
- CDC
- Data retention
- Backup and restore
- Disaster recovery
Cloud, containers, and deployment
- Linux fundamentals
- Processes and signals
- File descriptors
- Environment variables
- DNS and service discovery
- Containers
- Docker images
- Container layers
- Multi-stage builds
- Container registries
- Kubernetes
- Pods
- Deployments
- Services
- Ingress
- Readiness probes
- Liveness probes
- Resource requests and limits
- Horizontal Pod Autoscaler
- Serverless computing
- Functions as a Service
- Infrastructure as Code
- Terraform
- Cloud IAM
- Object storage
- Managed databases
- CDN configuration
- Secrets stores
- CI/CD
- Build pipelines
- Artifact promotion
- Blue-green deployment
- Canary deployment
- Rolling deployment
- Progressive delivery
- Database deployment sequencing
- Rollback strategies
- Feature flag rollout
- Deployment health checks
- Supply-chain provenance
Reliability, observability, and incident response
- Service Level Indicator (SLI)
- Service Level Objective (SLO)
- Service Level Agreement (SLA)
- Error budgets
- Availability
- Reliability
- Resilience
- Fault tolerance
- Graceful degradation
- Bulkheads
- Circuit breakers
- Timeouts
- Retries
- Retry storms
- Hedged requests
- Rate limiting
- Backpressure
- Queue depth
- Health checks
- Synthetic monitoring
- Distributed tracing
- Trace context propagation
- OpenTelemetry
- Metrics cardinality
- Log sampling
- Alert fatigue
- Actionable alerting
- On-call practices
- Incident command
- Runbooks
- Disaster recovery
- Recovery Time Objective (RTO)
- Recovery Point Objective (RPO)
- Chaos engineering
- Failure injection
- Dependency mapping
- Regional failover
- Graceful shutdown
- Load shedding
- Post-incident learning
Leadership and technical direction
- Technical strategy
- Architecture decision records
- Design reviews
- RFC process
- Technical roadmaps
- System ownership
- Code review
- Mentoring
- Delegation
- Conflict resolution
- Cross-team communication
- Stakeholder management
- Product-engineering partnership
- Risk assessment
- Technical debt
- Prioritization
- Estimation
- Incremental delivery
- Scope management
- Decision reversibility
- Team interfaces
- Hiring and interviews
- Coaching
- Psychological safety
- Incident leadership
- Operational readiness
- Documentation strategy
- Knowledge sharing
- Engineering standards
- Measuring engineering outcomes
- Managing migrations
- Breaking changes
- Deprecation plans
- Build-versus-buy decisions
- Long-term maintainability
Accessibility, usability, and inclusive design
- WCAG
- Semantic controls
- Keyboard navigation
- Focus management
- Screen readers
- ARIA
- Accessible names
- Color contrast
- Reduced motion
- Zoom and reflow
- Form labels
- Error identification
- Captions and transcripts
- Touch target sizing
- Cognitive load
- Internationalization
- Localization
- Right-to-left layouts
- Locale-aware dates
- Locale-aware numbers
- Time-zone correctness
- Translation expansion
- Inclusive language
Useful cross-cutting concepts
- Big O notation
- Time complexity
- Space complexity
- Amortized analysis
- Data structures
- Hash tables
- Trees
- Graphs
- Queues
- Heaps
- Sorting
- Search algorithms
- Caching tradeoffs
- Consistency models
- Concurrency models
- Parallelism
- Determinism
- Idempotency
- Reproducibility
- Compatibility
- Observability
- Maintainability
- Testability
- Reversibility
- Failure domains
- Risk
- Tradeoff analysis