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 301–330 of 1208 results
Define trade-reconciliation contracts and OOP boundaries with exact values, timestamp tolerance, partial-fill questions, deterministic policy ownership, and traceable breaks.
Citadel SecuritiesSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign a top-ten trade query around an explicit ranking contract, exact monetary aggregation, bounded heaps, timestamp boundaries, and mutable-score streaming tradeoffs.
Citadel SecuritiesSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenGiven a list of currency conversion rates, determine whether an arbitrage opportunity exists and return a sequence of conversions that ends in the starting currency with more money than it began with. Tests graph modeling, cycle detection, reconstruction of the profitable sequence, and handling of floating-point precision.
Citadel SecuritiesSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement a thread-safe producer-consumer queue in C++, first with a mutex, then with a spin lock, then as a lock-free design with explicit memory ordering. Tests the C++ memory model, contention and cache effects, blocking versus spinning, and where memory is allocated on the hot path.
Citadel SecuritiesSoftware EngineerSoftware Engineering FundamentalsOnsiteThis question evaluates a candidate's understanding of secure authentication, key management, and applied cryptography for encrypting data at rest within a user-scoped key–value store.
CloudflareSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates a candidate's troubleshooting and incident-response skills, including root-cause analysis, systems-level reasoning, and prioritization under production constraints.
CloudflareSoftware EngineerSoftware Engineering FundamentalsHR ScreenThis problem tests the ability to design an idempotent, scalable data deduplication pipeline in Apache Spark while considering distributed systems constraints like data skew and state management.
CognitivSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA front-end UI coding question: build a credit card form with card number, name, expiry and security code, where every field is validated and the fields are linked, so the detected card network changes formatting and security-code rules. It tests state design, caret-safe input formatting, error timing, accessibility and safe handling of card data.
CohereFrontend EngineerSoftware Engineering FundamentalsOnsiteThis question tests the ability to design a robust pipeline for an LLM-based agent interacting with a stateful environment, focusing on context management, output validation, and error recovery.
CohereMachine Learning EngineerSoftware Engineering FundamentalsOnsiteA live coding round: replace the heuristic Python implementation of a terminal text game with one driven by an LLM while keeping the game playable end to end. AI assistants are allowed, but the round judges your own implementation and debugging, including validating model output, fallbacks, and tests with a fake model.
CohereMachine Learning EngineerSoftware Engineering FundamentalsOnsiteImplement an in-memory task management system that tracks task lifecycles, assignments, and deadlines with efficient indexing and querying. Tests data structure design, state management, and multi-field sorting.
CoinbaseSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentThis question evaluates understanding of iterator/cursor semantics, stateful side effects and mutation, practical debugging and trace reasoning, and basic query API design such as adding limit or order_by features.
CoinbaseSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign an in-memory cloud credit ledger that processes top-ups, charges with delayed deterministic rebates, account merges with canonical alias resolution, historical balance lookups, and spending leaderboards.
CoinbaseSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentThis question evaluates the ability to design in-memory data models and algorithms for time-based task assignment semantics, including TTL-based expiration, per-user quotas, priority-based listing, and correct handling of multiple concurrent assignments and completion rules.
CoinbaseSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentThis problem tests the ability to design stable, deterministic cursor-based pagination systems that handle non-unique sort keys and schema evolution without breaking backward compatibility.
CoinbaseBackend EngineerSoftware Engineering FundamentalsOnsiteImplement an in-memory transactional banking system supporting scheduled payments, deterministic tick-based execution, idempotency, and account merging with balance consolidation and redirect tracking.
CoinbaseSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA coding question on assembling a cryptocurrency block from a very large mempool: pick transactions that maximize fees within a fixed block size using a fast heuristic, then extend the selection to parent links and Child-Pays-For-Parent incentives. An optional part asks for the minimum fee a child must pay to pull its parent into the next block.
CoinbaseSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates skills in reusable frontend component design, including API design, state management (controlled vs uncontrolled), event handling, keyboard navigation, and accessibility (roles, focus behavior, and ARIA) for production-ready UI components.
CoinbaseFrontend EngineerSoftware Engineering FundamentalsOnsiteThis problem tests your ability to handle asynchronous data fetching, state synchronization, and UI interactions in React, specifically managing a list of blog posts with optimistic updates and sorting.
CoinbaseSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement debounced async autocomplete input 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.
CoinbaseSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis interview question evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer for Implement debounced autocomplete component states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
CoinbaseSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenA multi-part coding problem about filling a block of capacity 100 from a large, unsorted mempool of transactions with fees and sizes, where speed matters more than optimality. Later parts add parent transactions that must be included first, child-pays-for-parent across multi-level chains, and an optional minimum fee for a new child.
CoinbaseSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests your ability to design a simple RESTful API and implement core CRUD operations with server-side validation for an expense tracking system.
Color HealthSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign an algorithm to construct an explainable dependency graph between API tools by matching output and input schemas and identifying unresolved requirements.
ComposioSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentDesign a fixed-capacity LRU cache whose get, put, and current-value average operations all run in expected constant time. Reason through map and recency-list invariants, running-sum updates, replacement and eviction edge cases, numeric precision, overflow, and tests that catch aggregate or ordering bugs.
ConfluentSoftware EngineerSoftware Engineering FundamentalsOnsiteA progressive coding round that builds search over a collection of documents. It starts with exact whole-word lookup, extends to multi-word queries whose words need not be adjacent, and ends with words combined by AND and OR, testing inverted indexes, set operations and clarifying ambiguous query semantics.
ConfluentSoftware EngineerSoftware Engineering FundamentalsOnsiteExplain what Linux does from shell parsing through process creation, exec, waiting, and exit status, then trace paths, permissions, file descriptors, directories, procfs, and network inspection. Compare containers and virtual machines through their actual isolation boundaries and operational trade-offs.
ConfluentSoftware EngineerSoftware Engineering FundamentalsOnsiteExplain variadic functions 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.
ConfluentSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement the core of tail -n for a seekable file that may be many gigabytes without scanning it all when the requested suffix is small. Work through backward block reads, chunk boundaries, trailing-newline semantics, bounded memory, binary-versus-text handling, safe decoding, and mutation assumptions.
ConfluentSoftware EngineerSoftware Engineering FundamentalsOnsiteA machine-coding exercise that asks you to build a search component over a list of text documents, first finding the documents that contain a given word and then those where a phrase's words appear in the same sequence. It tests tokenization choices, index design, and handling of repeated words and edge cases.
ConfluentSoftware EngineerSoftware Engineering FundamentalsOnsite