Katkat

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 448 results

  • CoupangMediumSoftware Engineer
    Anagram Group Tracker with Add, Remove, and Largest-Group Queries: Read vs Write Trade-offs

    Design an in-memory data structure that supports adding words, removing words, and querying the largest anagram group. Tests canonical key generation, dynamic maximum maintenance, and read-versus-write algorithmic trade-offs.

    Software Engineering FundamentalsOnsitehash-tabledesignstrings
  • CrestaMediumSoftware Engineer
    Build a Tool-Calling Chat Agent That Searches and Books Flights via a REST API

    An AI-assisted coding round: turn a Python starter script into a terminal chat agent that uses LLM tool calling to search flights, save passenger details and book a flight through a three-endpoint REST API. It tests tool schemas, a multi-step tool loop, ID handling, booking safeguards and error handling.

    Software Engineering FundamentalsOnsite
  • CrestaMediumSoftware Engineer
    Design a Robust Feature Flag Evaluation Engine

    Implement an in-memory feature flag evaluation engine that evaluates flags against user attributes using rule predicates, deterministic percentage rollouts, and a true-wins resolution policy.

    Software Engineering FundamentalsOnsiteSoftware ArchitectureData StructuresHashing
  • CrowdstrikeMediumSoftware Engineer
    Implement an In-Memory Key-Value Cache with Expiry, Then Sketch a Redis-Like Server

    Implement an in-memory key-value cache in the spirit of Redis, with get, set, delete and per-key expiry, then briefly discuss how a Redis-like server is built and where caches fit in a system. It tests data structure choices, expiry and eviction logic, thread safety, and practical knowledge of caching patterns.

    Software Engineering FundamentalsOnsite
  • CrowdstrikeMediumSoftware Engineer
    Review a Sample Python Function Aloud and Label Every Finding by Severity

    Review a short hypothetical Python function that builds a user profile from a database query and a billing-service call, narrating your reasoning aloud. The exercise tests how you read unfamiliar code and whether every comment is clearly labeled as must-fix, could-improve or a personal preference.

    Software Engineering FundamentalsOnsite
  • DatabricksMediumSoftware Engineer
    Add Sliding-Window Get and Put Activity Metrics to a Key-Value Store

    Design and implement an in-memory key-value store that tracks read and write throughput (operations per second) over configurable sliding windows.

    Software Engineering FundamentalsOnsitedata-structuressliding-windowsystem-design
  • DatabricksMediumSoftware Engineer
    Build a Durable Key-Value Cache

    This question tests the ability to design a crash-recoverable key-value store by implementing a write-ahead log (WAL) to ensure data durability and system integrity after an unexpected failure.

    Software Engineering FundamentalsOnsiteSystems DesignDurabilityLogging
  • DatabricksHardSoftware Engineer
    Design Snapshot Set Iteration and Clarify Durable Writes

    Design a memory-efficient snapshotting set supporting concurrent mutations and isolated iteration, and define the reliability and persistence contracts required for durable writes.

    Software Engineering FundamentalsOnsitemvccconcurrencystorage-engines
  • DatabricksHardSoftware Engineer
    Design a Cache with Hit Counts

    This question tests the ability to design a thread-safe, high-performance cache that maintains frequency metadata alongside data, requiring an understanding of efficient data structures and concurrency control.

    Software Engineering FundamentalsOnsiteConcurrencyData StructuresHash Maps
  • DatabricksHardSoftware Engineer
    Design a Key-Value Store with Hit Counting

    Design a concurrent, in-memory key-value store that tracks read-access frequency using a sliding-window hit counter per key while keeping memory footprint bounded.

    Software Engineering FundamentalsOnsiteconcurrencysliding-windowsystem-design
  • DatabricksHardSoftware Engineer
    Design a Write-Ahead Log Writer with Batch Writes

    Design and implement a concurrent write-ahead log (WAL) engine featuring group commit, monotonic sequence assignment, torn-tail crash recovery, and explicit durability promises.

    Software Engineering FundamentalsOnsitestorage-enginesconcurrencysystems-programming
  • DatabricksMediumSoftware Engineer
    Design a multithreaded event logger

    This problem tests your ability to design a thread-safe, high-throughput logging system that balances memory efficiency with I/O performance under concurrent load.

    Software Engineering FundamentalsOnsiteConcurrencyMultithreadingDesign Patterns
  • DatabricksMediumSoftware Engineer
    Explain storing files to disk with concurrency

    This question tests your understanding of OS-level file I/O operations, the risks of concurrent writes to the same file descriptor, and how to implement robust thread-safe mechanisms to maintain file integrity.

    Software Engineering FundamentalsOnsiteConcurrencyFile I/OOS Fundamentals
  • DatabricksMediumSoftware Engineer
    Implement Column Pruning and Filter Pushdown on a Query Plan Tree

    Given a SQL query represented as a tree of scan, filter, project and join nodes, write runnable rewrites that prune unused columns from every scan and push filter conditions down toward the tables. Tests query-optimizer fundamentals, recursive tree rewriting and preserving query results.

    Software Engineering FundamentalsOnsite
  • DatabricksMediumFrontend Engineer
    Implement Resilient Autocomplete Data Fetching

    Implement resilient autocomplete fetching with a quiet period, bounded retries, newest-query precedence, and reuse of recent results. Cover empty input, out-of-order responses, cancellation during waits and requests, error classification, freshness and capacity policies, unmount safety, accessibility, shared requests, and responsive ranking.

    Software Engineering FundamentalsOnsite
  • DatabricksMediumSoftware Engineer
    Implement a Concurrent Buffered File Logger

    Design and implement a thread-safe, buffered logger that aggregates concurrent writes across multiple threads and flushes them to disk efficiently with documented ordering guarantees.

    Software Engineering FundamentalsOnsiteConcurrencyMultithreadingObject-Oriented Design
  • DatabricksMediumSoftware Engineer
    Integer Set with O(1) Snapshot Iterators Unaffected by Later Changes

    Design a set of integers with amortized constant-time add and remove whose iterators capture the exact contents at creation time without copying, stay independent of later changes and of each other, and fit in linear total space. Also compares a shared history log with per-key logs.

    Software Engineering FundamentalsOnsite
  • DecagonMediumSoftware Engineer
    Shopping Cart with Undo and Redo for Add and Remove Operations

    A coding exercise to build a shopping cart class whose add and remove operations can be undone and redone. It tests how history entries are represented, how capped removals and deleted lines are reversed exactly, what a new change does to the redo history, and how empty-history cases are handled.

    Software Engineering FundamentalsOnsite
  • Deutsche BankHardSoftware Engineer
    Explain Java follow-ups after solving coding problem

    This question evaluates proficiency in Java programming and software engineering fundamentals, covering competencies such as refactoring for changing requirements, input validation, performance analysis for large datasets, selection of Java collections, generics, exception design, and unit testing.

    Software Engineering FundamentalsOnsite
  • DigitaloceanMediumSoftware Engineer
    Clarify a Longest-Repeating-Character Replacement Problem

    Clarify replacement and substring semantics, then analyze the conditional sliding-window criterion based on window size and maximum character frequency.

    Software Engineering FundamentalsOnsite
  • DigitaloceanMediumSoftware Engineer
    Specify House-Selection Constraints Before Choosing a Robbery Dynamic Program

    Clarify house layout and selection conflicts, derive a conditional linear dynamic program, and explain how circular or graph constraints change it.

    Software Engineering FundamentalsOnsite
  • DiscordMediumSoftware Engineer
    Demonstrate effective AI-assisted coding workflow

    This question evaluates a candidate's proficiency with AI-assisted coding workflows, including prompt formulation, tool and library selection, design critique, testing approaches, and iterative feature development to demonstrate engineering judgment and ownership.

    Software Engineering FundamentalsOnsite
  • DisneyMediumSoftware Engineer
    Build a sortable, searchable movie list UI

    This question tests the ability to design a performant, reactive frontend component that handles data manipulation, asynchronous API integration, and efficient DOM rendering.

    Software Engineering FundamentalsOnsiteFrontendReactPerformance
  • DisneyEasySoftware Engineer
    How would you run a mentoring-focused code review?

    This question evaluates mentoring-focused code review competencies, including code quality and maintainability analysis, frontend architecture (React/TypeScript), testing strategy, accessibility and security awareness, plus written and interpersonal feedback skills.

    Software Engineering FundamentalsOnsite
  • DisneyEasyData Engineer
    Prompting an LLM to Migrate a Java Codebase to Python and Clean a Large Database

    Explain how you would prompt a large language model to migrate a Java codebase to Python and to help clean a database with tens of thousands of rows. It tests prompt design, verification of generated code and data fixes, data quality measurement, security of AI-assisted work and the handling of sensitive data.

    Software Engineering FundamentalsOnsite
  • DocuSignEasySoftware Engineer
    Design a JSON Schema Validator

    Design and implement a modular JSON schema validator that verifies data against structural schemas, supporting primitive types, nested objects, arrays, regex patterns, numeric ranges, and strict field controls.

    Software Engineering FundamentalsOnsiterecursionoopdesign
  • DoorDashMediumSoftware Engineer
    Bootstrap Service: Aggregate Downstream Services and Return the Right HTTP Status

    Implement a bootstrap service that calls several independent downstream services concurrently, aggregates their data into one response for a client app, and returns an HTTP status code that reflects partial or total failure. It tests concurrent calls, timeouts, per-section error reporting, and mapping downstream failures to client-facing status codes.

    Software Engineering FundamentalsOnsite
  • DoorDashMediumSoftware Engineer
    Build Resilient Aggregation and Debug Routing

    This question evaluates skills in building resilient API aggregation, fault-tolerant retry handling and test coverage for transient failures, as well as debugging and improving load-balancer routing policies including adding round-robin distribution and reasoning about consistent hashing.

    Software Engineering FundamentalsOnsite
  • DoorDashMediumSoftware Engineer
    Build Two Interacting Services That Carry Out a Realistic Refund Flow

    A senior coding exercise, with an AI assistant allowed, to build two cooperating services that carry out a refund end to end. It tests service boundaries, a refund state machine, idempotent retries, handling of declines and timeouts, and a runnable simulation of realistic refund scenarios.

    Software Engineering FundamentalsOnsite
  • DoorDashMediumSoftware Engineer
    Build a Resilient Bootstrap API with Partial Upstream Results

    Combine Consumer, Payment, and Address APIs with correct identifier dependencies, partial success, bounded timeouts, and complete response fields.

    Software Engineering FundamentalsOnsite