Katkat

practice a little every day, paws crossed ♡

Software Engineer 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 1231–1260 of 2336 results

  • LyftMediumSoftware Engineer
    Design a Distributed Web Crawler

    Design a distributed web crawler that starts from seed URLs and scales across roughly 1,000 heterogeneous worker devices. The question covers canonical URL identity and crawl scope, a durable partitioned frontier with atomic deduplication, host-level politeness and robots handling, lease-based coordination with at-least-once delivery and idempotent effects, fetch/parse/storage schemas, near-duplicate detection, recrawl and backpressure, capacity estimation, safety controls, and the enqueue/status/results API. A common Lyft software engineer onsite system design question testing distributed-systems judgment, correctness under retries, and operational thinking.

    System DesignOnsite
  • LyftHardSoftware Engineer
    Design a Donation Platform

    A Lyft onsite system design question: design an online donation platform that processes one-time and recurring donations through an external payment provider while guaranteeing no lost, duplicated, or wrong-amount charges. It tests payment-flow correctness, idempotency, append-only ledgers, reconciliation, data modeling, consistency tradeoffs, and scaling for donation spikes.

    System DesignOnsite
  • LyftEasySoftware Engineer
    Design a Fault-Tolerant Wikipedia Archiver

    Design a fault-tolerant system that archives Wikipedia and keeps versioned content current using one reliable coordinator, many unreliable untrusted workers, and durable blob storage. Cover policy-aware discovery, large-frontier deduplication, task assignment, result validation, safe publication, failure recovery, and recrawling.

    System DesignOnsite
  • LyftMediumSoftware Engineer
    Design a Globally Versioned Key-Value Store

    Design a globally versioned key-value store with sparse key histories, binary-search reads, atomic version publication, and correct history retention.

    Software Engineering FundamentalsOnsite
  • LyftMediumSoftware Engineer
    Design a One-to-One Chat Service

    Design a durable one-to-one chat service with conversation ordering, idempotent sends, offline replay, and secure multi-device delivery.

    System DesignOnsite
  • LyftMediumSoftware Engineer
    Design a Transactional In-Memory Key-Value Store

    Design a transactional in-memory key-value store with correct value counts, efficient rollback, and explicitly defined command semantics.

    Software Engineering FundamentalsOnsite
  • LyftMediumSoftware Engineer
    Design a Wiki Crawler That Keeps Every Stored Page at Most Five Days Stale

    A system design question about crawling and storing all the content of a wiki while keeping every stored page no more than five days stale. It tests capacity estimates, the crawl frontier and scheduling, change detection, storage of page versions, politeness limits, failure recovery, and monitoring of freshness.

    System DesignOnsite
  • LyftHardSoftware Engineer
    Design a scalable real-time chat system

    This question evaluates skills in designing scalable real-time distributed systems, covering API design, message ordering and idempotency, fan-out strategies, storage tiers, indexing, sharding and replication, consistency vs.

    System DesignOnsite
  • LyftMediumSoftware Engineer
    Design a temporal key-value store with historical reads

    This question evaluates a candidate's grasp of data structures and algorithms needed to implement a temporal key-value store supporting timestamped set/get operations and efficient historical reads, including performance targets like O(log n) per operation.

    Coding & AlgorithmsOnsite
  • LyftHardSoftware Engineer
    Design web crawler for 1000 devices

    This 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 Design web crawler for 1000 devices states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    System DesignOnsite
  • LyftMediumSoftware Engineer
    Discuss eligibility and behavioral scenarios

    This question evaluates behavioral and leadership competencies—including communication, conflict resolution, feedback reception, end-to-end ownership, prioritization, and employment logistics—within the Behavioral & Leadership domain for a Software Engineer role.

    Behavioral & LeadershipOnsite
  • LyftMediumSoftware Engineer
    Explain Project Ownership and Collaboration with Colleagues

    Tests an engineering candidate's ability to demonstrate end-to-end technical ownership, cross-functional influence, and practical collaboration on a high-impact project.

    Behavioral & LeadershipOnsiteBehavioralLeadershipOwnership
  • LyftHardSoftware Engineer
    Implement Grid Spread and Transactional Store

    This question evaluates skills in grid-based propagation modeling and stateful transactional system design, testing concepts such as graph traversal and timed spread dynamics for the grid task and nested transaction semantics, isolation, and state management for the in-memory key-value store.

    Coding & AlgorithmsOnsite
  • LyftMediumSoftware Engineer
    Implement Stateful Fetch-N over a Paginated Upstream

    Implement a stateful fetchN wrapper over a paginated upstream that returns items in source order across repeated calls. Define buffering, page-token progression, exhaustion, empty pages, invalid input, and retry behavior without losing or duplicating items.

    Software Engineering FundamentalsOnsite
  • LyftEasySoftware Engineer
    Implement a Key-Value Store with Nested Transactions

    Implement an in-memory string key-value store with lookup, assignment, deletion, value counts, and deeply nested transactions. Define visibility plus exact begin, rollback, and inner or outer commit behavior without copying the entire database per transaction.

    Coding & AlgorithmsOnsite
  • LyftMediumSoftware Engineer
    Implement command-driven in-memory key-value database

    This question evaluates a candidate's ability to design efficient in-memory data structures and implement transactional semantics for operations like SET/GET/DELETE/COUNT, including handling nested transactions, rollbacks, and commits.

    Coding & AlgorithmsOnsite
  • LyftMediumSoftware Engineer
    Implement paginated retrieval of transactions

    Implement paginated retrieval of transactions evaluates algorithm design, data structures, correctness, complexity, edge cases, and implementation details in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Coding & AlgorithmsOnsite
  • LyftMediumSoftware Engineer
    In-Memory Key-Value Store with Nested Begin, Commit, and Rollback Transactions

    A coding question to implement an in-memory key-value store with begin, set, unset, commit and rollback, where transaction blocks can be nested and committed changes can no longer be rolled back. It tests how state is recorded per block, restoring keys that were absent, nested commit semantics, and operation complexity.

    Software Engineering FundamentalsOnsite
  • LyftMediumSoftware Engineer
    Minimum Window Substring with Repeated Required Characters

    Tests the sliding window technique and frequency counting to find the shortest substring containing all required characters with their exact multiplicities in linear time.

    Coding & AlgorithmsOnsiteSliding WindowTwo PointersHash Table
  • LyftEasySoftware Engineer
    Reconstruct a BST from Preorder Traversal

    Reconstruct the exact binary search tree represented by a preorder traversal of unique integers. Handle empty and completely skewed inputs at scale while preserving the intended tree rather than balancing it.

    Coding & AlgorithmsOnsite
  • LyftMediumSoftware Engineer
    Rotting Oranges

    Compute how many simultaneous spread steps are needed to rot every reachable orange using multi-source grid traversal.

    Coding & AlgorithmsOnsite
  • LyftMediumSoftware Engineer
    Solve grid compromise spread with BFS

    This question evaluates proficiency in graph traversal and grid-based simulation, specifically multi-source breadth-first search, state propagation modeling, and algorithmic complexity analysis within the Coding & Algorithms domain, emphasizing practical application of implementation and reasoning.

    Coding & AlgorithmsOnsite
  • LyftMediumSoftware Engineer
    Solve substring and worker assignment

    This pair of problems evaluates competencies in string processing and multiplicity handling as well as scheduling and resource-allocation for interval tasks, testing the ability to choose and apply appropriate data structures while managing time and space complexity.

    Coding & AlgorithmsOnsite
  • LyftMediumSoftware Engineer
    Wrapper Over a Paginated Page API That Fetches the Next N Words

    A coding question that wraps an external paginated API, where each page returns a variable number of words, behind a fetch(n) method that returns the next n words in order. It tests handling words left over between calls, requests that span several or empty pages, lazy fetching, the end of the content, and API failures.

    Software Engineering FundamentalsOnsite
  • Marshall WaceMediumSoftware Engineer
    Compute max events in any 60-second window

    This question evaluates understanding of timestamp and array processing, sliding-window or two-pointer techniques, and the ability to analyze time and space complexity when counting events within fixed-size intervals.

    Coding & AlgorithmsOnsite
  • Marshall WaceMediumSoftware Engineer
    Find users with multi-country successful logins

    This question evaluates proficiency in relational data manipulation, text normalization, aggregation, deduplication, and sorting within the Data Manipulation (SQL/Python) domain, focusing on practical query-writing and data-processing skills.

    Data Manipulation (SQL/Python)Onsite
  • MathWorksMediumSoftware Engineer
    Answer SDET internship behavioral interview questions

    This set of behavioral prompts evaluates communication, structured storytelling, technical judgment, learning agility, conflict resolution, and alignment of career goals—core competencies for an SDET internship.

    Behavioral & LeadershipOnsite
  • MathWorksMediumSoftware Engineer
    Compare Core Networking and Language Runtime Concepts

    Compare pointer ownership and storage duration, HTTP with HTTPS, and TCP with UDP using concrete technical examples. Strong responses separate guarantees from common implementations, connect concepts to production failures, and avoid simplistic claims about memory or network speed.

    Software Engineering FundamentalsOnsite
  • MathWorksMediumSoftware Engineer
    Design a Scalable Product Authentication Platform

    Design authentication infrastructure for browser and API clients using email and password today with room for external identity providers later. Cover secure credentials, session lifecycle, abuse resistance, recovery, database choices, trust boundaries, and a path to tenfold traffic.

    System DesignOnsite
  • MathWorksMediumSoftware Engineer
    Minimize reduction cost and validate equal-sum pairs

    This problem tests your ability to use greedy strategies with priority queues to minimize reduction costs and use hash-based frequency mapping to identify valid pairs that satisfy specific sum conditions.

    Coding & AlgorithmsOnsiteGreedyMin-HeapHash Map