Katkat

practice a little every day, paws crossed ♡

Software Engineering Fundamentals 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 241–270 of 625 results

  • Hudson River TradingHardSoftware Engineer
    C++ Fundamentals: Memory, Compilation, and Containers

    Tests deep C++ expertise in zero-allocation data structures, cache-line alignment, manual object lifecycle management via placement new, and the compilation/inlining implications of template-based designs.

    Software Engineering FundamentalsTechnical ScreenC++Memory ManagementData Structures
  • 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 TradingMediumSite Reliability Engineer
    Compare Python Generators, Decorators, and Context Managers

    Tests understanding of Python's execution timing, protocol methods, and resource cleanup across generators, decorators, and context managers, culminating in a robust lazy stream processor.

    Software Engineering FundamentalsTechnical ScreenPythonResource ManagementDecorators
  • 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 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
    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 TradingMediumSite Reliability Engineer
    Explain Why du and df Report Different Disk Usage

    This question tests your understanding of Linux filesystem internals, specifically how kernel-level storage reporting differs from user-space directory traversal.

    Software Engineering FundamentalsTechnical ScreenLinuxFilesystemSRE
  • 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
    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
    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 TradingMediumSite Reliability Engineer
    Reason About Unix Signals, Zombies, and Process Reaping

    Assess understanding of Unix process lifecycles, signal handling mechanics, zombie state accumulation, and process reaping responsibilities in parent processes and PID 1.

    Software Engineering FundamentalsTechnical Screenunixlinux-kernelsystems
  • 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 TradingMediumSite Reliability Engineer
    Troubleshoot a Host That Rejects SSH Connections

    Tests systematic Linux systems and networking troubleshooting methodology by designing an evidence-based diagnostic path for an unreachable or rejecting SSH service.

    Software Engineering FundamentalsTechnical Screenlinuxnetworkingtroubleshooting
  • Hudson River TradingHardSoftware Engineer
    Wrap a Fixed-Chunk Stream Reader with Arbitrary-Length Reads

    Implement an arbitrary-length stream reader on top of an underlying reader that only yields data in fixed-size chunks, managing internal buffering and end-of-stream state across successive calls.

    Software Engineering FundamentalsTechnical ScreenStreamsBufferingSystems Programming
  • IXL LearningEasySoftware Engineer
    Debug Kubernetes crashes and review Python ingestion script

    This question evaluates operational debugging and system reliability skills — specifically Kubernetes pod/container troubleshooting, health-probe configuration, and practical Python ETL code review, focusing on observability, dependency management, and production-readiness.

    Software Engineering FundamentalsTechnical Screen
  • ImcMediumSoftware Engineer
    Analyze time complexity and threading trade-offs

    This question evaluates understanding of worst-case time complexity for common data structure operations and the performance trade-offs between multithreading and single-threading, testing knowledge in the Software Engineering Fundamentals domain.

    Software Engineering FundamentalsTechnical Screen
  • ImcHardQuantitative Trader
    Compute the Probability for Two Uniform Variables

    This question evaluates understanding of continuous probability, joint distributions, and order statistics for independent uniform variables, focusing on comparing transformations of random variables.

    Software Engineering FundamentalsTechnical Screen
  • ImcEasyData Scientist
    Find valid range of q for outcome probabilities

    This question tests the ability to solve a system of linear inequalities derived from probability constraints, requiring an understanding of basic arbitrage-free pricing principles.

    Software Engineering FundamentalsTechnical ScreenProbabilityInequalitiesFinance
  • IndeedMediumSoftware Engineer
    Compare Arrays and Linked Lists for Indexed Operations

    Compare arrays, linked lists, and unrolled lists across indexed access, insertion, allocation, cache locality, and position-search costs.

    Software Engineering FundamentalsTechnical Screen
  • InstacartMediumSoftware Engineer
    Design a task system with assignments

    This question tests your ability to design a flexible data model for a task-assignment system, focusing on efficient lookups and state management in an in-memory environment.

    Software Engineering FundamentalsTechnical ScreenSystem DesignData StructuresAPI Design
  • InstacartMediumSoftware Engineer
    Evaluate a Target Variable from Assignments with Plus, Minus, Cycles and Conflicts

    A three-part coding exercise that computes a target variable's value from a list of assignment equations. It starts with right-hand sides that are numbers or other variables, adds addition and subtraction with cross-references, and finally requires an empty string for cycles, undefined variables and conflicting assignments.

    Software Engineering FundamentalsTechnical Screen