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 3061–3090 of 5874 results

  • MercorMediumSoftware Engineer
    Code Review: A Ride Fare Method That Charges a Card Then Logs the Trip

    Review a Java method that charges a rider's card through an external processor and then writes a trip record, and explain what goes wrong if the caller fails mid-call and how to fix it.

    Software Engineering FundamentalsTechnical Screencode-reviewidempotencydistributed-systems
  • MercorEasySoftware Engineer
    Code Review: Find the Problems in a Python Dict-Based Memoization Cache

    A Python code review question about a function that memoizes an expensive computation in a module-level dictionary. It tests whether a candidate can find correctness, memory, concurrency and key-equality problems in simple caching code and propose fixes with clear trade-offs.

    Software Engineering FundamentalsTechnical Screen
  • MercorMediumSoftware Engineer
    Code Review: Improve a Java Method That Builds a CSV String

    A Java code-reading question: review a short method that concatenates a list of rows into a CSV string and propose improvements. It tests knowledge of string-building performance, separator and escaping rules for CSV, null handling, streaming output for large exports, and risks when files are opened in spreadsheets.

    Software Engineering FundamentalsTechnical Screen
  • MercorMediumSoftware Engineer
    Code Review: Partial Failure in a Java Payment Method That Charges Then Records

    A Java code-reading question about a payment method that charges an external provider and then inserts a database record, focused on what happens when the client fails in the middle of the call. It tests reasoning about partial failures, retries, idempotency keys, payment states, and reconciliation with the provider.

    Software Engineering FundamentalsTechnical Screen
  • MercorMediumSoftware Engineer
    Code Review: Thread Safety of a Python Compute-and-Cache Function

    Review a Python function that checks a dictionary cache, runs an expensive computation on a miss, and stores the result, assuming concurrent callers. It probes thread safety under simultaneous misses, making the computation run once per input, where to place a lock without serializing cache hits, and how Python dictionaries behave under concurrent reads and writes.

    Software Engineering FundamentalsTechnical Screen
  • MercorHardSoftware Engineer
    Compare Merge Sort with Factorial and Randomized Inefficient Sorts

    Tests deep understanding of sorting algorithms, contrasting optimal divide-and-conquer strategies (Merge Sort and its adaptive variants) against factorial and randomized paradigms (Permutation Sort and Bogo Sort) across worst-case and expected complexity bounds.

    Software Engineering FundamentalsTechnical ScreenDivide and ConquerSortingComplexity Analysis
  • MercorMediumSoftware Engineer
    Compare processes and threads in Linux and Python

    This question evaluates understanding of operating-system level concurrency versus language-level concurrency, specifically distinctions between processes and threads on Linux, the Global Interpreter Lock in Python, and trade-offs between Python threading and multiprocessing for performance.

    Software Engineering FundamentalsTechnical Screen
  • MercorMediumSoftware Engineer
    Currency Exchange Rate Between Two Currencies via Chained Conversions

    Given a list of pairwise currency exchange rates such as USD to GBP at 0.77, compute the rate from a source currency to a target currency, converting through intermediate currencies and using rates in reverse where needed. It tests reasoning about chained conversions, unknown or unreachable currencies, and a clear time and space complexity analysis.

    Coding & AlgorithmsOnsite
  • MercorMediumSoftware Engineer
    Debug a Java CSV Export Function for Output and Performance Bugs

    A debugging exercise on a small Java function that converts rows of string fields into CSV text for import by another system. You find what is wrong with its output and why it slows down sharply on large exports, then fix it. It tests string handling, the cost of building strings in loops, and edge-case tests.

    Software Engineering FundamentalsTechnical Screen
  • MercorEasySoftware Engineer
    Design a Deliberately Inefficient Sorting Algorithm and Analyze Its Complexity

    An algorithms discussion question that asks for a deliberately inefficient but correct sorting algorithm and a careful analysis of its running time. It tests complexity reasoning about extremely fast-growing costs, worst-case versus expected time, and how such a sort compares with the lower bound for comparison sorting.

    Software Engineering FundamentalsTechnical Screen
  • MercorMediumSoftware Engineer
    Design a Project-to-Contractor Matching System

    Tests your ability to architect a two-sided matching platform that enforces strict eligibility filters, dynamic availability tracking, multi-stage ranking with exploration, and closed-loop model evaluation.

    System DesignTechnical Screensystem-designmatching-enginerecommendation-systems
  • MercorMediumSoftware Engineer
    Design an API to Deep-Copy a Dataset with Its Tasks, Model Responses and Grades

    A system design question about an API that copies a dataset together with its tasks, model responses and grades so that the copy can be edited independently. It covers ID remapping, background jobs with progress tracking and resumable checkpoints, idempotent requests, worker leases, edits to the source during the copy, and cleanup after failure.

    System DesignTechnical Screen
  • MercorMediumSoftware Engineer
    Design the Worst Correct Sorting Algorithm and Analyze Its Complexity

    Asks you to propose the worst sorting algorithm that is still correct, explain how it works, argue that it always terminates with sorted output, and analyze its best-case and worst-case time and space. It tests counting arrangements, reasoning about factorial growth and stating what makes such a question well defined.

    Software Engineering FundamentalsTechnical Screen
  • MercorMediumSoftware Engineer
    Explain Kubernetes autoscaling and traffic routing

    This question evaluates understanding of Kubernetes autoscaling mechanisms, external-to-pod traffic routing, and the differences between ReplicaSet and StatefulSet controllers.

    System DesignTechnical Screen
  • MercorMediumSoftware Engineer
    Explain what happens when opening a website

    This question evaluates understanding of the end-to-end web request lifecycle, including DNS resolution, TCP/TLS handshakes, HTTP(S) exchanges, CDN and load balancer behavior, server-side handling, and the browser rendering pipeline.

    Software Engineering FundamentalsTechnical Screen
  • MercorHardSoftware Engineer
    Find the Probability That One Shop Supplies the Top Two Coffees

    Calculate the probability that the top-ranked coffees in a blind competition come from the same shop under an exchangeable, tie-free ranking model.

    Statistics & MathTechnical Screenprobabilitycombinatoricsexchangeability
  • MercorMediumSoftware Engineer
    Find the Production Bugs in a Dictionary Cache Around an Expensive Computation

    Review a short Python function that caches the results of an expensive computation in a dictionary, and identify what breaks in a long-running, concurrent production service. Tests reasoning about memory growth, eviction policy, concurrent cache misses, error handling, and input validation.

    Software Engineering FundamentalsTechnical Screen
  • MercorMediumSoftware Engineer
    Make a Charge-Then-Record Payment Endpoint Safe Against Timeouts, Retries and Crashes

    A payment endpoint calls an external provider to charge the customer and then writes a record to its own database. The question asks what can go wrong and how to redesign the flow, testing failure analysis for crashes and timeouts, safe retries, durable payment state, recovery through status checks, webhooks and reconciliation, and lock placement.

    System DesignTechnical Screen
  • MercorMediumSoftware Engineer
    Make a Dict-Based Memoization Cache Safe for Concurrent Threads

    A memoization cache built on a plain Python dictionary wraps an expensive function and is now called from many threads at once. The question asks what goes wrong and how to fix it, testing race-condition analysis, lock scope and its throughput cost, duplicate-work prevention, and exception handling for waiting callers.

    Software Engineering FundamentalsTechnical Screen
  • MercorMediumSoftware Engineer
    Probability Both Drinks from One Coffee Shop Outscore Both Drinks from Another

    A probability brainteaser: two drinks are ordered at each of two coffee shops and every drink receives a quality score, and you must find the probability that both drinks from the first shop outscore both drinks from the second. It tests symmetry arguments, counting rankings, and stating independence and tie assumptions.

    Statistics & MathTechnical Screen
  • MercorMediumSoftware Engineer
    Probability That One Customer's Two Coffees Beat Another's Two

    A probability puzzle in which two customers each buy two cups of coffee of random quality, and you find the chance that one customer's cups are better than the other's. It tests clarifying what better means, using symmetry over rankings, checking the result a second way, and reasoning about ties and correlated cups.

    Statistics & MathTechnical Screen
  • MercorMediumSoftware Engineer
    Project Deep Dive With Product-Level Probing, AI Tool Use, and Startup Motivation

    A startup background round: introduce yourself, walk through a recent project probed from a product angle (who owns each decision, what done means, success metrics), explain what the company does and why you want to join, and describe your side project. It also tests how you use AI tools for on-call automation, code review, and design discussions.

    Behavioral & LeadershipTechnical Screen
  • MercorMediumSoftware Engineer
    Reason About Coffee-Quality Comparison Probabilities

    Calculate conditional comparison probabilities for coffee quality scores under continuous and discrete distributions, accounting for ties and sample permutations.

    Statistics & MathTechnical Screenprobabilitycombinatoricsstatistics
  • MercorMediumSoftware Engineer
    Review a Hand-Rolled Python CSV Serializer for Correctness and Performance Bugs

    A code review question on a short Python function that turns a table of rows into CSV text. Candidates must find its correctness and performance problems and write a fixed version, which tests delimiter handling, string building in Python, non-string cells, CSV quoting and escaping rules, and how to verify the fix.

    Software Engineering FundamentalsTechnical Screen
  • MercorHardSoftware Engineer
    Review an Asynchronous Cache for Races, Memory Growth, and Thread Safety

    Tests understanding of asynchronous race conditions, memory leaks, and eviction in single-threaded event loops versus multithreaded synchronization in languages like C++.

    Software Engineering FundamentalsTechnical ScreenConcurrencyAsync/AwaitCaching
  • MercorMediumSoftware Engineer
    Shortest Grid Path with Obstacle Eliminations

    This question tests your ability to apply Breadth-First Search (BFS) on an augmented state space where path state includes both coordinates and remaining resources.

    Coding & AlgorithmsTechnical Screenbfsgraphmatrix
  • MercorMediumSoftware Engineer
    Sorting Complexity: Beating O(n^2), Quicksort's Worst Case, and a Slower Sort

    A verbal sorting-theory discussion: explain how to sort faster than quadratic insertion sort, identify quicksort's worst case, count the non-empty subsequences and the permutations of an n-element array, and design a correct sort that is deliberately slower than O(n^2). It tests asymptotic analysis, recurrence reasoning, and basic combinatorics.

    Software Engineering FundamentalsTechnical Screen
  • MercorMediumSoftware Engineer
    Stripe Payment Integration: Error Handling, Idempotent Retries and Payment Storage

    Explain how to add a Stripe payment integration to a backend service: how to handle errors and retries without charging a customer twice, what payment data to store, and which database to use given ACID and availability needs. Tests idempotency, failure handling, and data modeling for payments.

    Software Engineering FundamentalsTechnical Screen
  • MercorMediumSoftware Engineer
    The Worst Possible Sorting Algorithm and How to Enumerate Every Permutation

    A verbal algorithms question: name the worst sorting algorithm that still always sorts correctly, analyze its running time, and explain how you would compute every permutation of the input exactly once. It tests reasoning about factorial complexity and knowledge of permutation enumeration methods.

    Software Engineering FundamentalsTechnical Screen
  • MergeMediumSoftware Engineer
    Design a Common Data Class to Normalize Different API Responses

    Design a common data class that can hold API responses describing the same kind of record but differing in field names, nesting, ID types and timestamp formats, plus the code that maps each response into it. It tests data modeling, normalization, handling of missing and extra fields, and how the records would be stored in a database.

    Software Engineering FundamentalsTechnical Screen