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 2821–2850 of 5874 results

  • J.P. MorganMediumSoftware Engineer
    Design a URL shortener

    This question assesses the ability to design a distributed URL shortening service, focusing on database schema design, collision resolution, and caching strategies for high-read throughput.

    System DesignTechnical ScreenCachingDatabasesHashing
  • J.P. MorganEasySoftware Engineer
    Design an Auditable Internal AI Chatbot

    Design an enterprise RAG-based AI assistant that enforces role-based document access control, bounds conversation history, mitigates prompt injection, and maintains an immutable, compliance-grade audit trail.

    System DesignTechnical ScreenRAGSecurityCompliance
  • J.P. MorganMediumSoftware Engineer
    Design an E-Commerce Shopping Website

    This problem tests your ability to design a scalable, consistent backend architecture for an e-commerce platform, focusing on inventory management, order processing, and high-read traffic handling.

    System DesignTechnical ScreenScalabilityDatabaseMicroservices
  • J.P. MorganMediumSoftware Engineer
    Exception Handling in a RESTful Service with @ControllerAdvice

    This problem tests your ability to design a centralized exception handling mechanism in a Java Spring environment, ensuring consistent API error responses and proper abstraction of internal implementation details.

    Software Engineering FundamentalsOnsiteSpring BootREST APIException Handling
  • J.P. MorganMediumSoftware Engineer
    Explain Polymorphism and Binary Trees, and How You Use AI Tools as an Engineer

    A software engineering fundamentals discussion with no coding problem: explain polymorphism with examples, describe binary trees and binary search trees with their traversals and costs, and explain how you use AI tools responsibly. It tests precise definitions, complexity reasoning and engineering judgment.

    Software Engineering FundamentalsTechnical Screen
  • J.P. MorganMediumSoftware Engineer
    Group anagrams and count string in grid

    This question evaluates algorithmic problem-solving skills in string processing, hashing/grouping and grid traversal/backtracking, along with the ability to analyze time and space complexity and trade-offs.

    Coding & AlgorithmsOnline Assessment
  • J.P. MorganEasySoftware Engineer
    Group strings that are anagrams

    This problem tests your ability to efficiently group strings based on their character counts and your knowledge of hash maps to solve anagram-related categorization problems.

    Coding & AlgorithmsOnsiteHash MapString ManipulationAlgorithms
  • J.P. MorganEasySoftware Engineer
    Implement an O(1) LRU Cache

    This problem tests your ability to combine a hash map with a doubly linked list to achieve O(1) time complexity for cache operations.

    Coding & AlgorithmsTechnical ScreenData StructuresHash MapLinked List
  • J.P. MorganEasySoftware Engineer
    Improve shopping cart latency and stock notifications

    This question evaluates a candidate's ability to design scalable, low-latency e-commerce architectures and real-time notification mechanisms while reasoning about data consistency, concurrency control, and correctness under high traffic (including concerns like avoiding oversells).

    System DesignOnline Assessment
  • J.P. MorganMediumSoftware Engineer
    Java Core Deep Dive: Concurrent Collections and Java 8 Features

    This question tests your understanding of thread-safety in Java collections and your ability to refactor imperative code into functional Java 8 style streams.

    Software Engineering FundamentalsOnsiteJavaConcurrencyCollections
  • J.P. MorganMediumSoftware Engineer
    Merge Overlapping Intervals

    This problem tests your ability to manipulate array-based data by identifying and merging intersecting ranges using a greedy sorting strategy.

    Coding & AlgorithmsTechnical ScreenArraysSortingGreedy
  • J.P. MorganMediumSoftware Engineer
    Minimize Operations to Balance Shipments

    This question evaluates algorithmic optimization and array partitioning skills, focusing on modeling minimal integer adjustments to equalize partition sums and demonstrating numerical reasoning under constraints.

    Coding & AlgorithmsOnline Assessment
  • J.P. MorganMediumSoftware Engineer
    Reason About Top K Frequent Values at Scale

    Tests understanding of single-machine bounded-heap top-k frequency counting and how to scale the design to distributed, partitioned data pipelines.

    Software Engineering FundamentalsTechnical ScreenHeapHash MapDistributed Systems
  • J.P. MorganMediumSoftware Engineer
    Review a PR for thread-safe request handling

    This problem tests your ability to identify race conditions and thread-safety issues in a concurrent service and suggests robust design patterns for handling shared resources.

    Software Engineering FundamentalsTechnical ScreenConcurrencyThread-SafetyDesign Patterns
  • J.P. MorganMediumSoftware Engineer
    Review concurrent code quality

    This question tests your ability to identify thread-safety issues, improper synchronization, and architectural code smells within a multi-threaded data processing class.

    Software Engineering FundamentalsTechnical ScreenConcurrencyJavaThread-Safety
  • J.P. MorganMediumSoftware Engineer
    Split Modules Across Three Servers to Maximize the Minimum Deployment Difficulty

    Assign modules with given difficulty values to three non-empty servers so that the smallest value of |d1 - d2| + |d2 - d3|, over one module picked from each server, is as large as possible. Tests max-min reasoning over partitions, the role of the middle server, and handling of duplicates and large values.

    Coding & AlgorithmsOnline Assessment
  • J.P. MorganMediumSoftware Engineer
    Two Sum — Indices Summing to a Target

    This question tests the ability to trade space for time by using a hash map to achieve linear time complexity when finding a pair of elements that satisfy a target sum.

    Coding & AlgorithmsOnsiteArraysHash MapsAlgorithms
  • Jane StreetMediumSoftware Engineer
    Bottom-Insertion Connect Game: Detect the First k-in-a-Row Winner

    This question evaluates simulation and algorithmic problem-solving skills, focusing on state maintenance for an unbounded grid, efficient detection of k-in-a-row runs in rows and columns, and handling column-wise shifts that can produce simultaneous winners.

    Coding & AlgorithmsTechnical Screen
  • Jane StreetMediumSoftware Engineer
    Calculate win chance in three-player dice game

    This question evaluates understanding of probability theory, conditional probability, and modelling of repeated stochastic events such as ties and rerolls, and is categorized under Statistics & Math.

    Statistics & MathHR Screen
  • Jane StreetHardSoftware Engineer
    Decode an Encrypted Paragraph Tree

    This question evaluates skills in string parsing, tree serialization/deserialization, and bijective substitution cipher handling, assessing competency in parsing nested structures, character mapping, and traversal within the Coding & Algorithms domain.

    Coding & AlgorithmsTechnical Screen
  • Jane StreetMediumSoftware Engineer
    Design Exchange and Instrument Abstractions for Quote Arbitrage

    Design an in-memory cross-exchange quote aggregator and arbitrage detector that identifies profitable, actionable price discrepancies while handling invalid spreads, quote staleness, and order sizing.

    Software Engineering FundamentalsTechnical ScreenLow-Level DesignTrading SystemsData Structures
  • Jane StreetEasySoftware Engineer
    Design exchange–trading system message flow

    This question evaluates a candidate's knowledge of distributed messaging protocols, fault-tolerant system design, and financial trading interface competencies, including defining message contracts, session management, and guarantees like idempotency and ordering.

    System DesignOnsite
  • Jane StreetMediumSoftware Engineer
    Evaluate Expressions with Strictly Positive Integer Intermediate Results

    Evaluate arithmetic expressions with a supplied decomposition helper, rejecting nonpositive or fractional intermediate results and preserving exact integer division.

    Coding & AlgorithmsTechnical Screen
  • Jane StreetMediumSoftware Engineer
    Implement Connect Four with bottom push-up

    This question evaluates proficiency in data structures, algorithm design, state management, and API design for game mechanics, focusing on board representation, move operations, win detection, and undo/redo functionality.

    Coding & AlgorithmsOnline Assessment
  • Jane StreetMediumSoftware Engineer
    Implement a Circular Buffer

    Implement a fixed-capacity circular buffer (ring buffer) supporting constant-time FIFO operations using wraparound indexing.

    Coding & AlgorithmsTechnical ScreenData StructuresQueueArray
  • Jane StreetHardSoftware Engineer
    Optimal Stopping with Square-Number Ruin

    Analyze an optimal stopping game where a player rolls a fair six-sided die to accumulate points but busts if the running sum hits a positive perfect square. Tests dynamic programming, renewal theory intuition, and rigorous edge-case analysis under uncertain stopping boundaries.

    Statistics & MathTechnical Screenprobabilityoptimal-stoppingdynamic-programming
  • Jane StreetHardSoftware Engineer
    Optimize a Two-Box Place-or-Take Game

    Analyze and optimize a 100-turn, two-box stochastic game with capacity constraints and opaque states. Derive the optimal decision policy, examine boundary/edge cases, and evaluate how the strategy changes when core assumptions are relaxed.

    Statistics & MathTechnical ScreenProbabilityDynamic ProgrammingMarkov Decision Process
  • Jane StreetHardSoftware Engineer
    Optimize trade PnL table updates

    Design an incremental PnL tracking engine that efficiently aggregates realized and unrealized profit-and-loss across overlapping predicate views under high-frequency trade and price tick updates.

    Coding & AlgorithmsOnsiteDesignData StructuresCaching
  • Jane StreetMediumSoftware Engineer
    Payout-Split Formula Where Every Step Is a Whole Positive Share

    Write a parser and evaluator for arithmetic formulas that describe splitting a prize pool into whole-unit shares, where every intermediate computed amount must be a positive whole number or the entire formula is rejected. Tests recursive-descent parsing combined with evaluation rules where a single bad step invalidates the whole result.

    Coding & AlgorithmsTechnical Screenparsingrecursionarithmetic
  • Jane StreetMediumSoftware Engineer
    Process One Million Quote Updates per Second

    Design a low-latency market data processing engine capable of ingesting 1,000,000 quote updates per second across multiple exchanges, maintaining global best bids and asks, and triggering immediate cross-venue arbitrage alerts.

    System DesignTechnical ScreenLow LatencyConcurrencyTrading Systems