practice a little every day, paws crossed ♡
Software Engineering Fundamentals Interview Questions
Practice 9403 coding, system design and machine learning questions from 546 companies, sorted by role, topic and interview round. Every question has step-by-step hints, a code runner that supports 8 languages and an AI mentor; members also get the full solution walkthrough.
- 9403
- Questions
- 546
- Companies
- 11
- Topics
- 8
- Languages
Showing 121–150 of 625 results
- ByteDanceMediumSoftware EngineerImplement an Idempotent Versioned Database Update
Tests your ability to design and implement a concurrency-safe, idempotent record update operation using optimistic concurrency control and deduplication keys.
Software Engineering FundamentalsTechnical ScreenDistributed SystemsConcurrencyAPI Design - ByteDanceMediumSoftware EngineerTCP vs UDP: Key Differences and the Applications That Suit Each
From a TikTok backend intern interview: compare TCP and UDP, including connection setup, reliability, ordering, flow and congestion control, message boundaries and overhead, and explain which applications suit each protocol. It tests tying transport-layer guarantees and their costs to real application needs.
Software Engineering FundamentalsTechnical Screen - ByteDanceEasySite Reliability EngineerTriage a Suddenly Slow Production Service
This question tests your structured approach to incident response and root cause analysis in a distributed production environment.
Software Engineering FundamentalsTechnical ScreenSREIncident ResponseDistributed Systems - Candid HealthEasySoftware EngineerImplement a Callback Signaling Registry with Register, Unregister and Signal
Implement a minimal in-process signaling system with register_callback, unregister_callback and signal functions that all return None. Tests requirement clarification, callback storage and hashability, execution order, isolation of failing callbacks, and prevention of reentrant signal loops.
Software Engineering FundamentalsTechnical Screen - Capital OneMediumSoftware EngineerDesign a transaction class for deposits/withdrawals
This problem tests your ability to design a robust, thread-safe class for managing bank account transactions, focusing on atomicity and data consistency.
Software Engineering FundamentalsTechnical ScreenConcurrencyObject-Oriented DesignThread-Safety - Capital OneMediumSoftware EngineerIn-Memory Banking System: Deposits, Transfers, Top-N Activity, Test Harness
An object-oriented coding exercise that builds an in-memory banking system in stages: creating accounts and deposits, transfers between accounts, and ranking the top N accounts by activity. It also tests writing a harness that runs string-array test commands, and confirming whether activity means operation count or amount moved.
Software Engineering FundamentalsTechnical Screen - Capital OneMediumSoftware EngineerMerchant-Locked Payment Codes: Trade-offs and a Buggy Checker
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.
Software Engineering FundamentalsTechnical Screencase-interviewdebuggingvalidation-logic - Capital OneMediumData ScientistTest and Run a Reproducible Data Science Pipeline
Design 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.
Software Engineering FundamentalsTechnical ScreenPythonData PipelinesTesting - Capital OneMediumSoftware EngineerVirtual Card Numbers Case: Trade-offs, Payment Validation Rules, Debugging
A 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.
Software Engineering FundamentalsTechnical Screen - CensysMediumFrontend EngineerAdd Case-Insensitive Search to a Support Ticket Queue UI and Debug Its Behavior
A 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.
Software Engineering FundamentalsTechnical Screen - Charta HealthMediumSoftware EngineerMake Token-Bucket Admission Safe Across Threads
Tests your ability to implement a thread-safe token bucket rate limiter with lazy refill, monotonic time tracking, and blocking admission control.
Software Engineering FundamentalsTechnical Screenconcurrencymultithreadingrate-limiting - Chicago Trading CompanyMediumSoftware EngineerImplement a Unique Pointer and Vector
This 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.
Software Engineering FundamentalsTechnical ScreenC++RAIIMemory Management - ChimeMediumBackend EngineerDesign browser history across tabs
This 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.
Software Engineering FundamentalsTechnical ScreenData StructuresStacksHash Maps - ChimeEasySoftware EngineerExplain sync/async, Go concurrency, SQL vs NoSQL
This 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.
Software Engineering FundamentalsTechnical Screen - CircleMediumSoftware EngineerIn-Memory Bank System With Top-N Activity Ranking and Expiring Pending Transfers
Implement 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.
Software Engineering FundamentalsTechnical Screen - CiscoEasySoftware EngineerReason About C Pointer and Array Declarations
This question tests the ability to parse complex C declarations and understand memory layout, pointer arithmetic, and the differences between pointers and arrays.
Software Engineering FundamentalsTechnical ScreenCPointersMemory - CitadelEasyFrontend EngineerBuild a Real-Time Event Feed Dashboard
Implement 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.
Software Engineering FundamentalsTechnical Screenreacttypescriptsliding-window - CitadelMediumSoftware EngineerDesign a Thread-Safe Shared Counter
This question evaluates concurrency and synchronization competencies, including atomicity, race conditions, concurrent data structures, and cross-process coordination for maintaining exact per-key counts.
Software Engineering FundamentalsTechnical Screen - CitadelMediumSoftware EngineerExplain JS types, Promises, Maps, WebSockets
Explain 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.
Software Engineering FundamentalsTechnical Screen - CitadelMediumSoftware EngineerHarbor Clash: A Two-Captain Terminal Naval Game, Setup Then Combat
Write 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.
Software Engineering FundamentalsTechnical Screenobject-oriented-designgameinput-validation - CitadelMediumSoftware EngineerIn-Memory Spreadsheet with Formulas, Cycle Detection and Read vs Write Computation
Implement 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.
Software Engineering FundamentalsTechnical Screen - CitadelMediumSoftware EngineerOrder Book With Per-Exchange BBO and Cross-Exchange NBBO Queries
Design 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.
Software Engineering FundamentalsTechnical Screen - CitadelMediumSite Reliability EngineerSolve Five Core Python Data-Processing Exercises
Implement 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.
Software Engineering FundamentalsTechnical Screen - CitadelMediumSoftware EngineerTwo-Player Terminal Battleship: Ship Placement From Input, Then Turn-Based Attacks
Build 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.
Software Engineering FundamentalsTechnical Screen - Citadel SecuritiesMediumSoftware EngineerDefine a Reliable Trade-Reconciliation Library Contract
Define trade-reconciliation contracts and OOP boundaries with exact values, timestamp tolerance, partial-fill questions, deterministic policy ownership, and traceable breaks.
Software Engineering FundamentalsTechnical Screen - Citadel SecuritiesMediumSoftware EngineerDesign a Top-Ten Trade Query with Exact Amounts
Design a top-ten trade query around an explicit ranking contract, exact monetary aggregation, bounded heaps, timestamp boundaries, and mutable-score streaming tradeoffs.
Software Engineering FundamentalsTechnical Screen - CloudflareMediumSoftware EngineerDesign an encrypted key-value store with login
This 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.
Software Engineering FundamentalsTechnical Screen - CognitivHardSoftware EngineerReason About Duplicate Data and Scaling in Spark
This 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.
Software Engineering FundamentalsTechnical ScreenApache SparkDistributed SystemsData Engineering - CoinbaseHardSoftware EngineerExtend a Banking Interface with Scheduled Payments and Account Merges
Implement an in-memory transactional banking system supporting scheduled payments, deterministic tick-based execution, idempotency, and account merging with balance consolidation and redirect tracking.
Software Engineering FundamentalsTechnical Screensystem-designdata-structuresconcurrency - CoinbaseMediumSoftware EngineerFee-Maximizing Block Assembly from a Mempool with Child-Pays-For-Parent
A 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.
Software Engineering FundamentalsTechnical Screen