Topic
Software Engineering Fundamentals interview questions
1208 Software Engineering Fundamentals questions from 253 companies, with hints, runnable code and solution walkthroughs.
123 easy887 medium198 hard
Software Engineering Fundamentals interview questions by the numbers
Last updated
Katkat has 1,208 Software Engineering Fundamentals interview questions from 253 companies; the most come from OpenAI (5%), Stripe (4%) and Amazon (3%). By difficulty: 10% easy, 73% medium and 16% hard. The most common round is Technical Screen (52%). Frequent concepts include Data Structures, Concurrency, System Design and Algorithms.
Companies (253)
Difficulty
- Easy10% · 123
- Medium73% · 887
- Hard16% · 198
Interview rounds
- Technical Screen52% · 625
- Onsite37% · 448
- Online Assessment8% · 96
- HR Screen2% · 28
- Other1% · 11
Roles
- Software Engineer85% · 1026
- Frontend Engineer4% · 51
- Machine Learning Engineer2% · 30
- Backend Engineer2% · 25
- Data Scientist1% · 17
Frequent concepts
- Data Structures8% · 97
- Concurrency8% · 96
- System Design8% · 93
- Algorithms3% · 42
- API Design3% · 42
- Object-Oriented Design3% · 35
Most mentioned in interview experiences
- 1.Plant Infection Grid Simulation: Days to Stabilize, Immune Plants, Expiring Immunity5 reports
- 2.Bootstrap Service: Aggregate Downstream Services and Return the Right HTTP Status4 reports
- 3.Crawl an HTTP-served maze to its exit with 503 retries, dead ends and cycles4 reports
- 4.Find the Exit of an HTTP URL Maze Despite Flaky 503s and Bad JSON4 reports
- 5.In-Memory Workspace Credit System With Transfers, Top-K and Scheduled Transfers4 reports
- 6.Virtual Card Case Study: Trade-offs, Card Number Rule Checks, and Debugging a Filter4 reports
- 7.Virtual Card Numbers Case: Trade-offs, Payment Validation Rules, Debugging4 reports
- 8.Workspace Credit Ledger: Transfers, Top-K, Scheduled Transfers, Merges, Balance History4 reports
- 9.Build a UVM testbench: driver, monitor, scoreboard and coverage-driven closure3 reports
- 10.Debug a Layered Book Search Service Against Five Search Rules3 reports
Counted from 425 candidate interview experiences on Katkat. How we collect and count
Showing 1021–1050 of 1208 results
Define telemetry subtraction semantics, handle missing or repeated timestamps, and reconcile late events with versioned, idempotent corrections.
SpacexSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDiagnose and fix issues in a Python multiprocessing script where asynchronous workers fail to produce output, addressing pool lifecycle management, exception propagation, and centralized file I/O.
SpacexSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates backend API design competencies such as authentication and bearer-token access control, user profile data modeling, input validation, error handling, and state management for an in-memory service within the System Design category.
SpeakSoftware EngineerSoftware Engineering FundamentalsOnsiteA Spotify on-call case study: as the engineer paged about a misbehaving production server, investigate by asking for metrics, logs and command output. It tests triage, impact assessment, systematic host and service diagnostics, mitigation trade-offs and incident follow-through.
SpotifyBackend EngineerSoftware Engineering FundamentalsOnsiteA Spotify backend coding follow-up: for a function that finds the three-website visit pattern followed by the most distinct users, analyze time and memory using separate input dimensions such as records, users, longest per-user history and distinct sites. It also asks which functional and style changes the code needs before it ships in production.
SpotifyBackend EngineerSoftware Engineering FundamentalsOnsiteTests understanding of arrays versus linked lists beyond asymptotic Big O notation, focusing on CPU cache locality, memory layout overhead, reference stability, and practical queue design.
SquarepointQuantitative ResearcherSoftware Engineering FundamentalsTechnical ScreenThis problem tests your mastery of C++ variadic templates, template metaprogramming, and the `std::index_sequence` utility to perform type-level list manipulation.
SquarepointRisk Technology Software EngineerSoftware Engineering FundamentalsTechnical ScreenTests command-line proficiency and Bash scripting fundamentals by requiring a robust mechanism to count regular files across a directory tree while handling tricky filenames, symlinks, and recursion correctly.
SquarepointQuantitative ResearcherSoftware Engineering FundamentalsTechnical ScreenThis question evaluates architectural decision-making around data access patterns, comparing the introduction of an in-memory cache like Redis against optimizing relational database indexing and query plans.
SquarepointSoftware EngineerSoftware Engineering FundamentalsHR ScreenThis problem tests your understanding of C++ memory management, template programming, exception safety, and the performance implications of different data storage strategies.
SquarepointRisk Technology Software EngineerSoftware Engineering FundamentalsTechnical ScreenAssesses foundational Python runtime semantics and language mechanics, focusing on mutability, generator behavior, concurrency models under the GIL, and robust resource management.
SquarepointSoftware EngineerSoftware Engineering FundamentalsHR ScreenExplain database indexes, selective lookups, write overhead, composite keys, and why indexing every column can hurt a mixed workload.
SquarepointSoftware EngineerSoftware Engineering FundamentalsOnsiteAssess the candidate's understanding of low-latency Linux systems, comparing network socket tuning, kernel-bypass stacks, and lock-free shared memory along with NUMA and observability considerations.
SquarepointRisk Technology Software EngineerSoftware Engineering FundamentalsTechnical ScreenPractice Python tuple rebinding, shallow immutability, hash-table insertion and complexity, and caller-level handling of record-operation errors.
SquarepointSoftware EngineerSoftware Engineering FundamentalsOnsiteThis question tests the understanding of C++ smart pointer memory management, specifically how reference counting works across shared and weak pointers to prevent memory leaks and dangling references.
SquarepointRisk Technology Software EngineerSoftware Engineering FundamentalsTechnical ScreenImplement and Improve React Components evaluates requirements, assumptions, structured reasoning, trade-offs, and verification in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
SquarepointSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests practical Linux troubleshooting skills using standard command-line tools (`top`, `ps`, `find`, `kill`) to diagnose resource contention, safely manage processes, and handle tricky file artifacts.
SquarepointSoftware EngineerSoftware Engineering FundamentalsHR ScreenDesign an object-oriented recipe service where nested dishes consume raw inventory and an order either succeeds atomically or changes nothing. The prompt tests typed references, cycle detection, quantity expansion, overflow handling, concurrent stock updates, immutable views, and explicit replacement and query semantics.
StackAdaptSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates debugging and performance engineering skills for deep learning training pipelines, including diagnosing convergence and instability issues in PyTorch, scaling training with Fully Sharded Data Parallel (FSDP), designing sparse gradient all-reduce communication patterns, and judging when to implement custom CUDA/Triton kernels. Commonly asked for Machine Learning Engineer roles within the Software Engineering Fundamentals domain, it assesses both conceptual understanding of numerical stability and distributed systems and practical application skills in configuring multi-GPU training, communication trade-offs, and low-level performance and correctness validation.
Startups.ComMachine Learning EngineerSoftware Engineering FundamentalsOnsiteDescribe how Java manages memory automatically, from object allocation on the heap to how the JVM decides which objects are unreachable and reclaims them. The question tests knowledge of garbage collection algorithms, generational collection, collector trade-offs and how memory leaks still happen in Java programs.
StateSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentBuild a configurable validator for vendor onboarding CSV rows that flags missing fields, out-of-range lengths and banned words, then checks whether a vendor's display name and legal name share enough words.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenGrow a small text-driven policy engine, in stages, from one comparison per post into a full boolean expression language with left-to-right AND/OR and nested parentheses, while treating an AI pair-programmer as a junior you're delegating narrow, well-specified tasks to.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenMulti-part coding exercise: build a rule engine that accepts or denies payment transactions by evaluating text conditions over their attributes. The parts add single comparisons, then AND/OR chains evaluated strictly left to right, then nested parentheses. It tests parser design, modular code, and directing an AI coding assistant.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests your ability to inspect an opaque or changing backend endpoint, build a resilient React component with typed normalization and client-side caching, and handle edge cases gracefully.
StripeFrontend EngineerSoftware Engineering FundamentalsOnsiteThis question evaluates competency in frontend UI development, state management, real-time filtering, and aggregate computation (finding and highlighting maximum values) with attention to algorithmic efficiency; domain: frontend UI engineering (Other/Miscellaneous).
StripeSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentPlan coordinate parsing and drawing-API integration with explicit geometry semantics, request mapping, error handling, and idempotent recovery.
StripeSoftware EngineerSoftware Engineering FundamentalsOnsiteA three-part coding exercise: register data centers with locations and health states, compute great-circle distances with the haversine formula, then route each client to the nearest healthy data center. It tests clean class design, correct spherical distance math, tie-breaking and corner-case handling under time pressure.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA debugging exercise in the Colander validation library, where recorded results contain stray None values, nested lists that should be flat, and an inconsistent mix of empty lists and null. It tests tracing bad output back to the code that produces it, safe list flattening, None handling and choosing one canonical empty value.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA bug-squash exercise on a copy of the Mako Python template engine with planted bugs: lambda parameters vanish from regenerated code, a directory is mistaken for a template during lookup, and a comment-only control block fails to compile. It tests tracing failures through a template compiler, minimal library fixes and regression tests.
StripeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests the ability to traverse nested validation error trees and normalize them into a flattened dictionary mapping dotted-path keys to aggregated lists of error messages.
StripeSoftware EngineerSoftware Engineering FundamentalsOnsite