Backend Engineering & Performance Topics
Backend system optimization, performance tuning, memory management, and engineering proficiency. Covers system-level performance, remote support tools, and infrastructure optimization.
Platform Specific Optimization and Constraints
Understand how target-platform constraints change optimization and design decisions across a product's deployment surfaces. Mobile (iOS/Android): battery and thermal limits, constrained memory, background execution limits, and app-store binary size caps. Web: variable bandwidth, cold-start/first-load budgets, browser and device fragmentation, and no control over the client's hardware. Desktop/server: wide hardware variance (CPU/GPU/RAM tiers) with no fixed baseline to target. Real-time/console-class systems (PS5, Xbox Series X, high-refresh PC): fixed frame-time budgets (commonly 30-60 FPS on mobile, 60+ FPS on console/PC), where quality knobs like resolution, LOD, particle count, draw distance, and physics precision are scaled per platform to hit the budget. Covers how to profile per platform (Xcode Instruments, Android Profiler, browser devtools, console vendor profilers, general CPU/GPU profilers) and how to reason about which constraint (memory, power, bandwidth, latency) dominates the optimization strategy for a given target.
Garbage Collected Memory Management
Covers memory management in managed runtimes that use garbage collection. Topics include the memory model distinguishing value types and reference types, stack and heap allocation patterns, how common garbage collection algorithms work and their runtime impacts such as pause times and allocation throughput, causes of allocation pressure, and strategies to reduce garbage collection overhead. Practical techniques include avoiding boxing, reusing and preallocating collections, using value types or structs for small frequently instantiated data, object pooling, and data oriented design trade offs versus object oriented design for performance. Candidates should also know profiling tools, memory budgeting for constrained platforms such as mobile or game consoles, and platform specific considerations for engines like Unity.
Advanced Linux Performance and Services
Advanced administration focused on service lifecycle, process management, and system performance. Topics include deep systemd service management and unit file authoring, dependency ordering and service recovery, process lifecycle and signal handling, cgroups and resource controls, tuning kernel parameters, diagnosing CPU and memory pressure, understanding page cache and swap behavior, out of memory scenarios, I O performance analysis, interpreting load average, and using performance and sampling tools such as top, htop, pidstat, iostat, vmstat, sar, and perf for identifying bottlenecks and implementing mitigations.
Performance Strategy and Resource Efficiency
High level strategy for balancing performance, resource constraints, and cost. Topics include trade off analysis, when to optimize versus accept costs, algorithm and data structure selection under resource constraints, power and energy trade offs, memory and storage budgets, and cost aware performance design. Candidates should discuss prioritization, measurement driven decision making, and resource efficient system design.
Critical Path Analysis and System Level Optimization
Identifying and optimizing critical paths: app startup time, time-to-first-frame, time-to-interactive. Understanding dependencies between components and how to minimize critical path length. Profiling and optimizing at system level, not just function level. Tracing end-to-end performance and identifying bottlenecks across layers.
Scaling and Performance Optimization
Centers on diagnosing performance issues and planning for growth, including capacity planning, profiling and bottleneck analysis, caching strategies, load testing, latency and throughput trade offs, and cost versus performance considerations. Interviewers will look for pragmatic approaches to scale systems incrementally while maintaining reliability and user experience.
Technical Performance Awareness
Addresses awareness of software and system performance considerations: identifying bottlenecks, profiling tools, time and space complexity trade offs, efficient resource usage, platform specific constraints such as frame rate and battery for mobile, and best practices for optimization. Candidates should be able to explain profiling workflows, common performance pitfalls, and how to prioritize performance improvements without premature optimization.
Caching Strategies and In Memory Storage
Caching strategies for improving performance and reducing latency: HTTP caching semantics (Cache-Control, ETag, conditional requests, Vary), application-level caching with Redis and Memcached, in-memory data structures for caching, cache eviction policies (LRU, LFU, FIFO), cache invalidation strategies, TTL selection and trade-offs, and the consistency and performance implications of deciding what and when to cache.
Performance Optimization Under Resource Constraints
Technical approaches for optimizing code and systems when operating under constraints such as limited memory, strict frame or latency budgets, network bandwidth limits, or device-specific limitations. Topics include profiling and instrumentation to identify bottlenecks, algorithmic complexity improvements, memory and data structure trade-offs, caching and data locality strategies, parallelism and concurrency considerations, and platform-specific tuning. Emphasize measurement-driven optimization, benchmarking, risk of premature optimization, graceful degradation strategies, and communicating performance trade-offs to product and engineering stakeholders.