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 271–300 of 1208 results
A three-part fintech case on merchant-locked, single-merchant payment codes: discuss their trade-offs for cardholder and issuer, hand-validate sample codes against a digit-position rule table, then find and fix three planted bugs in a flawed validator.
Capital OneSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA three-part case study on prepaid travel cards: weigh the trade-offs of issuing them, manually check sample numbers against length, Luhn, and prefix rules, then debug Python filter code whose conditionals let invalid numbers through. Tests product reasoning, careful manual rule-checking, and evidence-driven debugging.
Capital OneSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement a policy validation engine for encoded virtual card numbers against incoming transactions, handling rule parsing, Luhn checksum verification, and structured status reporting.
Capital OneSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign and implement a robust, testable Python data pipeline class that validates input data schemas, handles feature transformation, logs execution metrics, and produces versioned outputs. Write targeted unit and integration tests ensuring graceful failure on corrupted inputs.
Capital OneData ScientistSoftware Engineering FundamentalsTechnical ScreenA three-part virtual credit card case study: weigh the benefits and costs of giving merchants virtual card numbers, check five sample numbers against length, Luhn checksum and prefix rules, and debug a Python filter whose conditionals accept invalid numbers. It tests product reasoning, careful manual analysis and evidence-driven debugging.
Capital OneSoftware EngineerSoftware Engineering FundamentalsOnsiteA three-stage case interview on virtual credit card numbers. It covers the benefits and problems of virtual cards for cardholders and the issuer, a hand walkthrough that validates payments against digit-by-digit card number rules, and debugging messy validator code for inverted boolean operators and boundary errors.
Capital OneSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA frontend exercise on an existing support ticket queue with Unresolved and Archived tabs, a ticket list and an activity panel: make the search box filter tickets by title or assignee regardless of letter case, then debug parts of the app that misbehave. It tests reading unfamiliar code, state design and systematic debugging.
CensysFrontend EngineerSoftware Engineering FundamentalsTechnical ScreenDesign and implement an in-memory prefix suggestion engine that indexes document titles, provides ranked auto-complete results, and prevents out-of-order race conditions from asynchronous search queries.
Charta HealthSoftware EngineerSoftware Engineering FundamentalsOnsiteTests your ability to implement a thread-safe token bucket rate limiter with lazy refill, monotonic time tracking, and blocking admission control.
Charta HealthSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests your understanding of C++ RAII, move semantics, template metaprogramming, and manual memory management by requiring the implementation of a scoped unique-ownership pointer and a custom dynamic array container.
Chicago Trading CompanySoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question tests the understanding of memory hierarchy and virtual memory translation, specifically the interactions between TLBs, page tables, and hardware caches.
Chicago Trading CompanySoftware EngineerSoftware Engineering FundamentalsOnsiteThis question tests the ability to design an efficient data structure for navigating browser history, requiring careful management of back/forward states across multiple independent tabs.
ChimeBackend EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates understanding of execution models (synchronous vs asynchronous and blocking vs non-blocking), Go concurrency patterns (goroutines, channels versus shared-memory with locks), and database paradigms (SQL vs NoSQL) relevant to backend engineering.
ChimeSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement an in-memory banking class in stages: create accounts, deposit and pay, rank the top n accounts by transaction activity, and support transfers that hold funds until the recipient accepts within a time window or they are refunded. Tests state modeling, validation, and timestamp-driven expiry.
CircleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA networking fundamentals question asking whether a successful ping to a server proves that port 443 on it is accessible, and how to check the port directly. It tests the difference between ICMP and TCP, the role of firewalls and listening services, and practical connectivity troubleshooting with command-line tools.
CiscoSoftware EngineerSoftware Engineering FundamentalsOnsiteA networking fundamentals question asking the candidate to explain the Border Gateway Protocol: why it exists, how peers form sessions and exchange routes, how a router selects the best path, and how BGP differs from interior protocols such as OSPF. It also probes troubleshooting and testing.
CiscoSoftware EngineerSoftware Engineering FundamentalsOnsiteA Python coding question asking for a to-do task manager class with create, read, update, and delete operations, where every task has a status of new, pending, or resolved. It tests data modeling, input validation, status transition rules, error handling for missing tasks, and testable class design.
CiscoSoftware EngineerSoftware Engineering FundamentalsOnsiteA Python fundamentals question about multiple inheritance in which two parent classes define a method with the same name and a child class inherits from both. It tests the method resolution order, C3 linearization, how super() follows that order, and when composition is the better design.
CiscoSoftware EngineerSoftware Engineering FundamentalsOnsiteA three-part Python and pytest fundamentals question covering how fixtures are injected, scoped, torn down, and shared; how decorators work and how to write one that preserves metadata; and how generators produce values lazily. It tests core language mechanics used in test automation.
CiscoSoftware EngineerSoftware Engineering FundamentalsOnsiteThis question tests the ability to parse complex C declarations and understand memory layout, pointer arithmetic, and the differences between pointers and arrays.
CiscoSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA two-part QA question on how to test a new feature and plan its test cases, and how to find, diagnose, and prevent flaky automated tests. It evaluates requirement analysis, test design techniques, risk-based prioritization, test levels, release exit criteria, and keeping a test suite trustworthy.
CiscoSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement a robust React hook to manage a high-frequency, real-time event feed dashboard with pause/resume controls, out-of-order de-duplication, memory bounding, and rolling time-window statistics.
CitadelFrontend EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates concurrency and synchronization competencies, including atomicity, race conditions, concurrent data structures, and cross-process coordination for maintaining exact per-key counts.
CitadelSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenExplain JS types, Promises, Maps, WebSockets 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.
CitadelSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenWrite a runnable two-player hidden-fleet game for the terminal: captains place vessels via typed commands with full validation, then alternate firing until one fleet is sunk; tests modeling, parsing, turn flow and shipping working code fast.
CitadelSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement a simplified in-memory spreadsheet in Python with set_cell, set_formula and get_cell, where formulas use the four arithmetic operators and may reference other formula cells. Follow-ups test circular-reference detection, legal repeated references, and the trade-offs of computing values on read versus on write, including caching and invalidation.
CitadelSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign and implement an in-memory order book that aggregates quantity by exchange, side and price, and answers per-exchange best bid and offer and cross-exchange NBBO queries. It tests heap ordering with lazy deletion, keeping the global view consistent when any exchange's best price moves, and precise amortized complexity analysis.
CitadelSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenOptimize an inefficient, quadratic tree-resolution routine into a linear-time, cache-friendly implementation suitable for ultra-low-latency execution.
CitadelSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentImplement and explain: repeat a message `n` times with blank lines; square a list then reverse it; FizzBuzz; count case-sensitive words; and return the second-largest unique integer or `None`. Make the API or object boundaries explicit, then cover invariants, edge cases, testing strategy, and operational trade-offs.
CitadelSite Reliability EngineerSoftware Engineering FundamentalsTechnical ScreenBuild a two-player Battleship game as a class that runs in the terminal, with players taking turns to place ships by typing coordinates and sizes, then extend it so they can attack each other's fleets. It tests object modeling, input parsing and validation, turn handling, and delivering a large amount of working code under time pressure.
CitadelSoftware EngineerSoftware Engineering FundamentalsTechnical Screen