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 871–900 of 1208 results
A ten-minute ticket-grooming exercise in which a software engineer and a product manager groom a ticket that removes a game store's 12+ age rating and adds a Pending rating. It tests asking scope-changing questions, splitting the work into parallel tasks with clear dependencies, and giving a reasoned ETA.
PlaystationSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA 30-minute object-oriented exercise that turns a stream of item names into a printed receipt, then extends it to group items by type, apply a buy-three-get-two-free promotion and sort the lines alphabetically. It tests refactoring a shopping cart's storage and its add and remove methods, exact money handling and clean class design.
PlaystationSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests your ability to critically evaluate software quality practices—defensive automated testing versus pair programming—and construct a risk-adjusted, cost-effective engineering adoption strategy.
Point72Software EngineerSoftware Engineering FundamentalsOnline AssessmentThis question evaluates a candidate's understanding of the Apache Spark execution model, lazy evaluation, distributed processing (including jobs, stages, tasks, and shuffles), and performance-tuning considerations for batch and streaming pipelines on columnar data lakes.
Point72Data EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates a candidate's ability to integrate with RESTful APIs, manage authentication and HTTP responses, automate a client workflow, and organize reusable program logic.
ProfoundSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates understanding of concurrent programming and thread-safe design, including synchronization primitives, race-condition avoidance, listener lifecycle semantics, and event-delivery guarantees.
PurestorageSoftware EngineerSoftware Engineering FundamentalsOnsiteTests understanding of concurrency primitives, condition variables, thread synchronization, and memory visibility by designing a thread-safe one-shot trigger coordinating multiple waiting threads.
PurestorageSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement a small Python query builder with a fluent API covering table, select, where with condition objects, alias and a join on a shared column, where render() must return the exact SQL string an existing test suite expects. It tests clause ordering, literal quoting, alias qualification and builder design.
Pylon LendingSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates understanding of C++ language semantics (enum varieties, default values, aggregate initialization, implicit conversions, struct memory layout and padding), differences between preprocessing and compiled functions (macros versus inline/type-safe functions), and GPU performance trade-offs such as memory access patterns, coalescing, vectorized loads, and shared-memory staging. It is commonly asked to probe low-level reasoning about compilation versus preprocessing, type- and runtime-level trade-offs, and performance and power-efficiency in parallel kernels; it falls under Software Engineering Fundamentals and tests both conceptual understanding and practical application.
QualcommSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question tests the candidate's deep understanding of C++ memory management, RAII principles, and the specific use cases for raw versus smart pointers.
Qube Research & TechnologiesSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question tests the ability to interpret statistical properties of return distributions and explain the financial intuition behind the Black–Scholes option pricing model.
Qube Research & TechnologiesSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA front-end exercise to build a small React word-guessing game in JavaScript or TypeScript, where each submitted guess appears as a row of letter cells colored green, yellow, or red against a target word. It tests component state design, input validation, and a clearly specified letter-scoring rule, including repeated letters.
RampFrontend EngineerSoftware Engineering FundamentalsOnline AssessmentImplement a resilient HTTP traversal client that follows a sequence of clue-bearing API responses to reach a final payload while enforcing safety policies like loop detection, retry budgets, deadline management, response size caps, and origin-scoped auth tokens.
RampSoftware EngineerSoftware Engineering FundamentalsOnsiteBuild a small Wordle-style component that accepts a guess of up to five letters and colors each letter green, yellow or red against a fixed secret word, tested with SPEND. Tests input handling, pure scoring logic, repeated-letter rules and simple UI state under a 45-minute limit.
RampFrontend EngineerSoftware Engineering FundamentalsOnline AssessmentImplement a 5-letter, 5-guess Wordle-style game in React featuring correct duplicate-letter evaluation, virtual and physical keyboard support, and proper game-state transitions.
RampFrontend EngineerSoftware Engineering FundamentalsOnline AssessmentWrite a client that explores a maze served over HTTP, where each step returns JSON listing next step IDs, until it reaches the response carrying an exit message. Tests graph traversal with cycles and dead ends, bounded retries with backoff for a flaky server returning 503, and keeping network handling separate from search logic.
RampSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign and implement a robust in-memory calendar event service supporting full CRUD operations, conflict detection, and search, along with a comprehensive suite of unit test cases.
RampSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests your ability to design a robust object-oriented system that enforces financial invariants (no negative balances, atomic transfers) and handles complex object lifecycle management like merging accounts.
RampSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign and implement a configurable, explainable detector that identifies recurring subscription transactions from noisy transaction logs, handling price variations, irregular cadences, and missing cycles.
RampSoftware EngineerSoftware Engineering FundamentalsOnsiteThis problem tests your ability to manage and query interval-based time-series data, specifically determining state (location) by processing ordered flight events.
RampSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA coding exercise to find the exit of a maze of HTTP endpoints, where each JSON response lists the next paths to visit until one returns a congrats message. It tests graph traversal with deduplication, URL handling, and robust treatment of flaky 503 responses and malformed JSON with bounded retries.
RampSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates a candidate's engineering judgment about Python's language trade-offs and the steps needed to harden a working script for production use. It tests understanding of dynamic typing, concurrency limits, and correct handling of monetary data, commonly asked to assess practical software-engineering maturity beyond algorithmic correctness.
RampSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentThis problem tests graph theory fundamentals, specifically cycle detection and topological sorting in the context of a dependency-driven computation engine.
RampSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign an in-memory double-entry style financial transaction ledger that supports atomic transfers, strict balance invariants, and idempotency key handling.
RampSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement a per-IP sliding window rate limiter that tracks request timestamps to enforce rate limits over a rolling time window. The problem evaluates state management, time-window data structures, memory leak prevention, and edge-case handling.
RampSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates front-end engineering skills including React and TypeScript component design, DOM inspection and extraction, HTTP fetching and parsing, asynchronous timing for typewriter animations, resource cleanup, and testability with Mocha; domain: Software Engineering Fundamentals; level: practical application.
RampSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentThis problem tests your ability to model state transitions, encapsulate game logic, and handle user interactions in a clean, maintainable way.
RampSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenTests your ability to implement a new feature in a simulated unfamiliar codebase using AI tools responsibly, identifying subtle generated bugs, ensuring test coverage, and defending every architectural and implementation decision.
RampSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign an algorithm to find an exit path in an unknown maze using an interactive, stateful API with backtracking.
RampSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates entity resolution, record linkage, data normalization, conflict resolution, and data quality competencies within the Software Engineering Fundamentals domain by probing how to identify, group, and produce canonical person records from multiple noisy sources.
RampSoftware EngineerSoftware Engineering FundamentalsTechnical Screen