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 361–390 of 1208 results

  • 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
  • DatabricksMediumSoftware Engineer
    Design a Customer Revenue Index with Referrals and Threshold Queries

    Tests designing an in-memory index that tracks direct and referral revenue across customers and efficiently supports threshold-bounded minimum revenue queries using balanced search trees.

    Software Engineering FundamentalsTechnical ScreenDesignBalanced BSTHash Table
  • 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
  • DatadogMediumSoftware Engineer
    Implement DeleteTree With Limited Filesystem APIs

    Implement a robust recursive tree-deletion algorithm using a restricted set of filesystem primitives. This question tests post-order traversal, managing call-stack and heap memory across deep and wide directory structures, and handling edge cases cleanly.

    Software Engineering FundamentalsTechnical Screentreestackdfs
  • DatologyaiHardSoftware Engineer
    Cursor-Based Text Editor: Typing, Backspace, and Four-Way Cursor Movement

    Implement a TextEditor class with a single cursor that supports typing a character, backspace, and rendering the text with a | at the cursor, then extend it with left/right and up/down cursor movement. Tests choice of representation, per-operation cost, and boundary handling across lines of different lengths.

    Software Engineering FundamentalsTechnical Screen
  • DatologyaiEasySoftware Engineer
    Text Editor with a Cursor: Typing, Backspace, and Four-Way Cursor Movement

    Implement a text editor class that types characters at a cursor, deletes with backspace, and renders the text with a bar marking the cursor. Follow-ups add left/right and then up/down cursor movement, testing the choice of data structure for cheap edits, boundary handling, and line-aware navigation.

    Software Engineering FundamentalsTechnical Screen
  • DatologyaiEasySoftware Engineer
    Word Count and Multiset Intersect Using Only a Mock Spark RDD API

    Given a minimal mock of a Spark RDD with only flatMap, groupByKey, union and collect, implement a word count function and a duplicate-preserving intersect of two RDDs. Tests composing transformations without map or reduce, tracking which input an item came from, and reasoning about the cost of grouping.

    Software Engineering FundamentalsTechnical Screen
  • DecagonHardSoftware Engineer
    Add Nested Begin, Commit, and Abort Semantics to a Shopping Cart

    Design and implement an in-memory shopping cart that supports nested transactions via begin, commit, and abort operations with proper scope isolation.

    Software Engineering FundamentalsTechnical ScreenTransactionsData StructuresDesign Patterns
  • DecagonMediumSoftware Engineer
    Deliver Messages in Fixed Batches with Per-Message Retry Delays

    Send a list of outbound messages to a provider that only accepts five per call, then retry failed messages only after the provider's own per-message cooldown has elapsed. Tests chunking, scheduling retries by readiness time instead of busy-waiting, and handling partial batch failures cleanly.

    Software Engineering FundamentalsTechnical Screenschedulingretriesqueues
  • DecagonHardSoftware Engineer
    Design a Space-Efficient Versioned Recipe Shopping Cart

    Design an in-memory versioned shopping cart that aggregates recipe ingredients for bulk discounts, supports atomic mutations, and allows rolling back and checking out earlier cart snapshots efficiently.

    Software Engineering FundamentalsTechnical Screendata-structuresdesignevent-sourcing
  • DecagonMediumSoftware Engineer
    Send Requests in Batches of Five and Retry Failures After a Per-Request Delay

    A practical coding exercise: send a list of requests to an API that accepts at most five per call, then retry failed requests only after the per-request delay returned by the API. It tests batching, retry scheduling with timestamps, waiting without busy loops and clean handling of partial failures.

    Software Engineering FundamentalsTechnical Screen
  • 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
  • DecagonMediumSoftware Engineer
    Solve 3x3 Tic-Tac-Toe with Backtracking: Perfect-Play Result and Best Move

    Write a backtracking solver for 3x3 tic-tac-toe that determines the result of a given position under perfect play by both sides and returns a best move for the player to move. It tests win detection, recursive game-tree search, undoing moves correctly, and reasoning about search cost, memoization and pruning.

    Software Engineering FundamentalsTechnical Screen
  • DeshawMediumSoftware Engineer
    Compare Linux Containers and Virtual Machines

    Tests in-depth understanding of Linux operating system virtualization mechanisms, contrasting hardware-level hypervisors with OS-level container isolation primitives across security, performance, and operational dimensions.

    Software Engineering FundamentalsTechnical ScreenLinuxOperating SystemsDocker
  • DeshawMediumSoftware Engineer
    Explain What Happens When a Linux Shell Runs ls

    Tests end-to-end understanding of Linux OS fundamentals, systems programming concepts, system calls, and how a POSIX shell interacts with the kernel to execute a command.

    Software Engineering FundamentalsTechnical ScreenLinuxOperating SystemsSystem Calls
  • 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
  • DiscordHardSoftware Engineer
    Explain C++ alignment and ABI stability

    This question evaluates mastery of C++ low-level memory concepts—memory alignment, padding and struct/class layout—and understanding of ABI stability, including calling conventions, name mangling, vtable layout and other binary compatibility concerns, reflecting competence in systems-level C++ and binary interfacing.

    Software Engineering FundamentalsHR Screen
  • DiscordHardSoftware Engineer
    Explain your database experience and debugging approach

    This question assesses the candidate's depth in database architecture, specifically regarding isolation levels and race conditions, while testing their methodology for validating code generated by AI or external tools.

    Software Engineering FundamentalsHR ScreenDatabasesConcurrencyDebugging
  • 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
  • DisneyMediumSoftware Engineer
    Discuss Terraform, Infrastructure as Code, and AWS Experience

    Describe infrastructure-as-code experience through reviewed changes, state management, cloud validation, drift, partial failures, and honest ownership.

    Software Engineering FundamentalsHR Screen