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 391–420 of 520 results

  • PersonaHardSoftware Engineer
    Implement a Versioned Key-Value File Store

    Practice a Persona coding interview problem focused on implement a versioned key-value file store. The prompt emphasizes edge cases, clean implementation, and verifiable test behavior without revealing the solution.

    Coding & AlgorithmsOnline Assessment
  • PikaMediumSoftware Engineer
    Implement text formatter and sum subarray products

    This question evaluates algorithmic problem-solving and implementation skills across string formatting (line breaking and space management) and array-based combinatorial computation (sum of subarray products), emphasizing correctness, edge-case handling, and analysis of time and space complexity.

    Coding & AlgorithmsOnline Assessment
  • PinterestMediumSoftware Engineer
    Collect Pins from Reachable Boards

    Implement a breadth-first graph traversal over a collection of boards to collect unique pins in discovery order, handling cycles, shared children, and invalid references.

    Coding & AlgorithmsOnline AssessmentGraphBFSHash Table
  • PinterestMediumSoftware Engineer
    Design a Distributed Rate-Limiting Service

    Design a highly available, ultra-low-latency distributed rate-limiting service supporting multi-tier rules (user, tenant, route, global) across globally distributed edge gateways.

    System DesignOnline Assessmentsystem-designdistributed-systemsrate-limiting
  • PinterestMediumSoftware Engineer
    Design a Multi-Channel Notification System

    Design an extensible, resilient multi-channel notification engine (push, email, SMS, in-app) supporting high throughput, deduplication, quiet hours, rate limiting, and provider fallbacks.

    System DesignOnline Assessmentsystem-designdistributed-systemsevent-driven
  • PinterestMediumSoftware Engineer
    Find minimum shuttle transfers

    Find minimum shuttle transfers 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 & AlgorithmsOnline Assessment
  • PinterestMediumSoftware Engineer
    Mark and Compact a Heap-Indexed Subtree

    This problem tests array manipulation, heap-based tree traversal, and stable partitioning techniques while requiring memory efficiency without modifying the original input.

    Coding & AlgorithmsOnline AssessmentArraysTreesHeap
  • Point72HardSoftware Engineer
    Evaluate Defensive Testing and Pair Programming

    Tests your ability to critically evaluate software quality practices—defensive automated testing versus pair programming—and construct a risk-adjusted, cost-effective engineering adoption strategy.

    Software Engineering FundamentalsOnline AssessmentSoftware EngineeringTestingAgile
  • Point72HardSoftware Engineer
    Maximize Fixed Positions After Deletions

    This problem tests your ability to use dynamic programming and data structures to maximize elements in a subsequence that align with their new indices after removing elements.

    Coding & AlgorithmsOnline AssessmentDynamic ProgrammingGreedyData Structures
  • Point72HardSoftware Engineer
    Simulate a Deterministic Finite Automaton

    Implement and run a Deterministic Finite Automaton (DFA) simulator that parses state transitions over a binary alphabet and determines if input strings are accepted.

    Coding & AlgorithmsOnline AssessmentFinite AutomataState MachineDesign
  • Qualified HealthMediumSoftware Engineer
    Design Notifications for One Million Internal Producer Services

    Design notification ingestion and delivery for a million internal producers, separating service-count scale from throughput, bursts, and fanout.

    System DesignOnline Assessment
  • QuinceMediumSoftware Engineer
    Check Whether a Word Repeated K Times Is a Subsequence

    This problem tests the ability to optimize string pattern matching by using modular arithmetic and pointer manipulation to avoid unnecessary memory allocation.

    Coding & AlgorithmsOnline AssessmentStringsTwo PointersGreedy
  • QuinceMediumSoftware Engineer
    Open the Minimum Number of Sprinklers to Cover a Garden

    This problem tests greedy algorithm design and interval scheduling techniques to solve a coverage optimization task.

    Coding & AlgorithmsOnline AssessmentGreedyIntervalsSorting
  • RampMediumSoftware Engineer
    Design a banking system with payments and merging

    This question tests your ability to design a robust, distributed financial ledger system that handles high-throughput transactions, ensures strict consistency, and supports the complex operation of merging two distinct user accounts.

    System DesignOnline AssessmentDistributed SystemsDatabasesFintech
  • RampHardSoftware Engineer
    Design an in-memory cloud storage system

    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 an in-memory cloud storage system states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    System DesignOnline Assessment
  • RampMediumSoftware Engineer
    From Take-Home Script to Production: Python Trade-offs and Hardening a Data Job

    This question evaluates a candidate's engineering judgment about Python's language trade-offs and the steps needed to harden a working script for production use. It tests understanding of dynamic typing, concurrency limits, and correct handling of monetary data, commonly asked to assess practical software-engineering maturity beyond algorithmic correctness.

    Software Engineering FundamentalsOnline Assessment
  • RampMediumSoftware Engineer
    Implement a React flag loader with typewriter effect

    This question evaluates front-end engineering skills including React and TypeScript component design, DOM inspection and extraction, HTTP fetching and parsing, asynchronous timing for typewriter animations, resource cleanup, and testability with Mocha; domain: Software Engineering Fundamentals; level: practical application.

    Software Engineering FundamentalsOnline Assessment
  • RampMediumSoftware Engineer
    Implement a multi-level digital recipe manager

    Tests skills in data modeling and stateful class implementation, covering CRUD operations, case-insensitive string handling, recipe ID generation, list management, search and sort logic, and basic user/edit permissions.

    Coding & AlgorithmsOnline Assessment
  • RampMediumSoftware Engineer
    Implement multi-level task manager APIs

    This question evaluates implementation skills for stateful in-memory data structures, API evolution handling, substring search and prioritized sorting, and time-windowed assignment logic with quota enforcement in the Coding & Algorithms domain, and is primarily a practical application problem rather than a purely conceptual one.

    Coding & AlgorithmsOnline Assessment
  • RampMediumSoftware Engineer
    Maximize Earnings by Converting Days Off into Workdays

    This question evaluates a candidate's skill in dynamic programming and constrained optimization, specifically deciding which state transitions to modify under a limited budget of changes. It falls under coding and algorithms interviews, testing practical application of greedy or DP reasoning over sequential data with adjacency-based bonuses rather than pure conceptual knowledge.

    Coding & AlgorithmsOnline Assessment
  • RampMediumSoftware Engineer
    Maximum Profit from Dated Stock Trade Records

    This question evaluates a candidate's ability to design an efficient single-pass algorithm for grouped time-series data, tracking per-symbol running minimums to compute maximum achievable profit. It tests array processing, hash-map grouping, and edge-case handling for unsorted records, commonly used in coding interviews to assess practical algorithmic problem-solving rather than pure theory.

    Coding & AlgorithmsOnline Assessment
  • RampMediumSoftware Engineer
    Maximum Profit from Multi-Stock Trading Records

    This question evaluates a candidate's ability to parse and sort unstructured event data, then apply a greedy or dynamic-programming strategy for maximizing profit across multiple independent series. It falls under coding and algorithms, commonly used to assess array processing, state tracking, and stock-trading pattern recognition at a practical implementation level.

    Coding & AlgorithmsOnline Assessment
  • RampMediumSoftware Engineer
    Multi-Level Warehouse Storage with Weighted Retrieval

    This question evaluates a candidate's ability to design an object-oriented data structure with multiple prioritized eviction and expiration rules. It tests skills in coding and algorithms, specifically simulating TTL-based expiry alongside tiered, capacity-aware selection logic. Such multi-rule state machine problems are common in interviews to assess careful requirement tracking and practical implementation of layered constraints.

    Coding & AlgorithmsOnline Assessment
  • RampMediumSoftware Engineer
    Per-IP Sliding-Window Rate Limiter: Accept or Reject Each Request

    Implement a per-IP sliding-window rate limiter: given request timestamps, IP addresses, a request limit and a window length, decide in order whether each request is accepted or rejected. Tests exact window-boundary semantics, per-IP state, and processing a request log efficiently.

    Coding & AlgorithmsOnline Assessment
  • ReevoMediumSoftware Engineer
    Check strings against dictionary efficiently

    This question evaluates skills in efficient membership testing for large datasets, memory-time trade-offs in data structures, and string handling concerns such as case sensitivity and Unicode normalization.

    Coding & AlgorithmsOnline Assessment
  • ReevoMediumSoftware Engineer
    Count all palindromic substrings

    This question evaluates proficiency with string algorithms and algorithmic problem-solving, focusing on palindrome detection and counting contiguous substrings. It is commonly asked to assess implementation skills and the ability to reason about time and space complexity within the Coding & Algorithms domain, emphasizing practical application rather than purely conceptual understanding.

    Coding & AlgorithmsOnline Assessment
  • ReevoMediumSoftware Engineer
    Fetch and aggregate paginated team data via API

    This question evaluates API integration, pagination handling, robust error handling (retries/backoff and rate-limit awareness), data aggregation, sorting and top‑N selection skills within the Data Manipulation (SQL/Python) domain.

    Data Manipulation (SQL/Python)Online Assessment
  • Reinforce LabsMediumSoftware Engineer
    Compute minimum added stones to balance a tree

    This problem tests tree traversal techniques and greedy aggregation, requiring you to determine the minimum number of 'stones' needed to equalize all subtree sums to match a target value.

    Coding & AlgorithmsOnline AssessmentTreesGreedyRecursion
  • Reinforce LabsMediumSoftware Engineer
    Write SQL to compute current product stock

    This problem tests the ability to calculate current stock levels by aggregating historical transaction events against an initial inventory baseline using SQL joins and window functions.

    Software Engineering FundamentalsOnline AssessmentSQLAggregationsJoins
  • Resolve.AiMediumSoftware Engineer
    Design a Weighted Log Distributor

    This question tests your ability to design a distributed system that routes incoming log streams to multiple storage clusters based on specified weight configurations while ensuring high availability and fault tolerance.

    System DesignOnline AssessmentLoad BalancingDistributed SystemsData Pipelines