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 2810 results

  • Hudson River TradingMediumSoftware Engineer
    Compare C++ Pointers and References

    Tests in-depth understanding of C++ raw pointers versus references, their language semantics, memory representations, and how to apply them to design safe, idiomatic, zero-cost APIs.

    Software Engineering FundamentalsTechnical Screencppsystemsapi-design
  • Hudson River TradingMediumSoftware Engineer
    Compare Multithreading and Multiprocessing

    This question tests your understanding of concurrency primitives, operating system process models, memory isolation, context switching overheads, and the architectural trade-offs between threads and processes in low-latency systems.

    Software Engineering FundamentalsTechnical Screenconcurrencyoperating-systemsmultithreading
  • Hudson River TradingMediumSoftware Engineer
    Count Digit-Reversal Equivalent Pairs

    Count pairs of indices in an integer array whose values share the same canonical digit-reversal form.

    Coding & AlgorithmsTechnical ScreenHash TableMathString
  • Hudson River TradingMediumSoftware Engineer
    Count Length-3 Chat Substrings with a Vowel

    Count the number of distinct length-3 alphabetical substrings in a chat message that contain at least one vowel.

    Coding & AlgorithmsTechnical Screenstringsliding-windowhash-set
  • Hudson River TradingMediumSoftware Engineer
    Count Matrix Cells Whose Row and Column Neighbors Match

    This problem tests your ability to efficiently traverse a grid while implementing conditional neighborhood logic and handling boundary constraints.

    Software Engineering FundamentalsTechnical ScreenArraysMatrixGrid
  • Hudson River TradingEasySoftware Engineer
    Count players reaching end with moving watchers

    This problem tests your ability to model state transitions over discrete time steps and efficiently track interval coverage using sorting and sweep-line logic.

    Coding & AlgorithmsTechnical ScreenSimulationGeometryOptimization
  • Hudson River TradingHardSoftware Engineer
    Design an Indexable Deque with O(1) Access

    Tests understanding of low-level data structure design, memory layout, and trade-offs required to build a double-ended queue supporting strict O(1) random indexing and amortized O(1) push/pop operations.

    Software Engineering FundamentalsTechnical ScreenData StructuresArraysSystem Fundamentals
  • Hudson River TradingMediumSoftware Engineer
    Design comprehensive OA test cases

    This question assesses a software engineer's practical test design skills under time pressure, specifically the ability to partition input spaces into equivalence classes and boundary cases for algorithm and data structure problems. It evaluates systematic testing methodology, including oracle-based verification strategies and defensible stopping rules — competencies commonly probed in online assessments and technical interviews to gauge engineering rigor.

    Behavioral & LeadershipTechnical Screen
  • Hudson River TradingMediumSoftware Engineer
    Determine Whether Two Integers Sum to a Target

    This problem tests proficiency with hash sets to achieve linear time complexity and emphasizes defensive programming practices like input validation and immutability.

    Coding & AlgorithmsTechnical ScreenHash SetArraysTwo Pointers
  • Hudson River TradingMediumSoftware Engineer
    Diagnose I/O, Memory, and CPU Constraints

    Tests your ability to systematically diagnose, measure, and resolve CPU, memory, and I/O bottlenecks in high-throughput, low-latency systems.

    Software Engineering FundamentalsTechnical ScreenSystemsPerformance OptimizationOperating Systems
  • Hudson River TradingHardSoftware Engineer
    Explain C++ Inline, Segfaults, Virtual Memory, and std::string Internals

    Tests deep understanding of low-level systems and modern C++ fundamentals, focusing on compiler inlining mechanics, virtual memory paging, segmentation fault root causes, and standard library string memory layouts.

    Software Engineering FundamentalsTechnical ScreenC++Virtual MemoryOperating Systems
  • Hudson River TradingHardSoftware Engineer
    Explain Large Memory Allocation, Swap, and C++ Inline Trade-offs

    Tests deep understanding of OS virtual memory management, demand paging and swap mechanics, and low-latency C++ compiler optimizations centered around inlining and instruction cache trade-offs.

    Software Engineering FundamentalsTechnical Screenc++operating-systemsvirtual-memory
  • Hudson River TradingHardSoftware Engineer
    Explain Python and React performance fundamentals

    This question evaluates knowledge of Python resource management (context managers and the with statement), React rendering and optimization concepts (hooks, memoization, and frontend performance), and on-call debugging and incident triage skills.

    Software Engineering FundamentalsTechnical Screen
  • Hudson River TradingMediumSoftware Engineer
    Explain and Diagnose a Segmentation Fault

    This question tests your understanding of virtual memory, the lifecycle of a segmentation fault, and your ability to diagnose memory corruption using standard tooling.

    Software Engineering FundamentalsTechnical ScreenC++SystemsDebugging
  • Hudson River TradingHardSoftware Engineer
    Final Grid Position Under Timestamped Direction Changes With Dot Obstacles

    An object on a grid changes direction whenever a timestamped action arrives and moves one cell per time unit until a blocked cell or the grid edge stops it. The task asks for its cell at a given end time, testing precise reading of the rules, including that dot cells are obstacles, and efficient handling of very large timestamps.

    Coding & AlgorithmsTechnical Screen
  • Hudson River TradingHardSoftware Engineer
    Find a Local Minimum in One and Two Dimensions

    Tests divide-and-conquer optimization techniques to locate a local minimum in 1D and 2D arrays in sublinear time, requiring rigorous reasoning about termination and invariants.

    Software Engineering FundamentalsTechnical Screenbinary-searchdivide-and-conquerarrays
  • Hudson River TradingMediumSoftware Engineer
    Find the Longest Common Digit Prefix Across Two Arrays

    Tests candidate's ability to efficiently match string/digit prefixes between two collections of integers using hash sets or a prefix tree (Trie).

    Software Engineering FundamentalsTechnical ScreenTrieHash TableString
  • Hudson River TradingMediumSoftware Engineer
    Format an Integer with Thousands Separators

    Implement a function that formats a signed integer with a custom thousands separator character without relying on built-in string formatting utilities.

    Coding & AlgorithmsTechnical Screenstringmathimplementation
  • Hudson River TradingMediumSoftware Engineer
    Linux Host and Filesystem Fundamentals

    Review practical Linux fundamentals: memory and swap interpretation, safe directory enumeration, process-versus-thread trade-offs, filesystem links, and option-safe file deletion. Also explain responsible recovery steps after an accidental recursive delete.

    Software Engineering FundamentalsTechnical Screen
  • Hudson River TradingMediumSoftware Engineer
    Minimize Array Amplitude After Removing a Contiguous Block

    Tests array manipulation and prefix/suffix extremum tracking to minimize the spread (max - min) of an array after removing a contiguous subarray of length k.

    Software Engineering FundamentalsTechnical Screenarraysprefix-suffixsliding-window
  • Hudson River TradingMediumSoftware Engineer
    Python Language and Runtime Fundamentals

    Review core Python semantics through decorators, dictionary hashing, generators, unpacking syntax, and memory management. Distinguish language guarantees from CPython behavior while connecting edge cases to API design, debugging, and safe resource cleanup.

    Software Engineering FundamentalsTechnical Screen
  • Hudson River TradingMediumSoftware Engineer
    Query Order and Batch Lifetimes from Event Files

    Design an event-driven tracker to query lifetimes for individual orders or order batches, correctly handling open orders and aggregate start/end timestamps.

    Software Engineering FundamentalsTechnical Screenhash-tablesystem-fundamentalsdata-structures
  • Hudson River TradingHardSoftware Engineer
    Reason About C++ Inlining, Allocation, and Polymorphism

    Tests deep C++ systems knowledge regarding the runtime and compiler-level impacts of dynamic dispatch, heap allocations, and function inlining within latency-sensitive pipelines.

    Software Engineering FundamentalsTechnical Screencppsystems-programmingmemory-management
  • Hudson River TradingMediumSoftware Engineer
    Return the K Smallest Integers

    Implement an algorithm to extract the k smallest integers from an unsorted list in ascending order, preserving duplicates, and analyze the trade-offs between sorting, heaps, quickselect, and bounded-range approaches.

    Coding & AlgorithmsTechnical ScreenHeapQuickselectSorting
  • Hudson River TradingMediumSoftware Engineer
    Simulate Alternating Stick Collection for a Nest

    Tests simulation logic, two-pointer state management, turn alternation, and handling conditional decision rules with edge cases.

    Coding & AlgorithmsTechnical ScreenTwo PointersSimulationGreedy
  • Hudson River TradingMediumSoftware Engineer
    Simulate Players Moving Under a Watcher's Gaze

    Simulate the movement and freezing of players on a 1D track under the gaze of a moving watcher who reverses direction at specified times.

    Coding & AlgorithmsTechnical Screensimulationarraystwo-pointers
  • Hudson River TradingEasySoftware Engineer
    Smallest Integer Point Lit by the Most Street Lamps on a Line

    Online assessment coding problem: street lamps on a number line each light a closed interval around their position, and you must return the integer point lit by the most lamps, choosing the smallest such point on ties. It tests interval overlap counting over very large coordinate ranges.

    Coding & AlgorithmsTechnical Screen
  • Hudson River TradingMediumSoftware Engineer
    Solve Watcher Simulation And Integer Conversion

    This question evaluates event-driven simulation and discrete-time state modeling for tracking multiple agents under dynamic visibility constraints, together with low-level numeric string conversion and edge-case handling for 32-bit signed integers.

    Coding & AlgorithmsTechnical Screen
  • Hudson River TradingMediumSoftware Engineer
    Split a Message into Length-Limited Parts with Numbered Suffixes

    This problem tests your ability to handle string manipulation, edge-case arithmetic, and iterative construction while adhering to dynamic length constraints imposed by mandatory metadata.

    Software Engineering FundamentalsTechnical ScreenStringsGreedySimulation
  • Hudson River TradingMediumSoftware Engineer
    Test easy–medium array/string tasks

    This question evaluates a candidate's ability to design concise, robust test cases and translate edge-case reasoning into concrete inputs and expected outputs for array and string problems, reflecting skills in input validation, correctness assurance, and handling varied data characteristics.

    Coding & AlgorithmsTechnical Screen