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 571–600 of 1026 results

  • MetaMediumSoftware Engineer
    Execute Dependency-Constrained Work at Scale

    This problem tests the ability to design an execution engine that manages task dependencies using a directed acyclic graph (DAG), respects concurrency limits, and handles task failures.

    Software Engineering FundamentalsOnsiteConcurrencyGraphSystem Design
  • MetaMediumSoftware Engineer
    Explain ACID and isolation levels

    This question evaluates a candidate's knowledge of database transactions, the ACID properties (Atomicity, Consistency, Isolation, Durability), and common isolation levels (Read Uncommitted, Read Committed, Repeatable Read, Serializable), testing competency in concurrency control and data consistency.

    Software Engineering FundamentalsOnsite
  • MetaMediumSoftware Engineer
    Implement paginated, sortable dynamic table component

    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 Implement paginated, sortable dynamic table component states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Software Engineering FundamentalsTechnical Screen
  • MetaHardSoftware Engineer
    Implement, Debug, and Optimize a React Table

    Implement, Debug, and Optimize a React Table evaluates requirements, assumptions, structured reasoning, trade-offs, and verification in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Software Engineering FundamentalsTechnical Screen
  • MetaMediumSoftware Engineer
    Troubleshoot a website outage with disk full

    This question tests your systematic approach to diagnosing a production service outage caused by resource exhaustion and your ability to implement short-term and long-term mitigation strategies.

    Software Engineering FundamentalsTechnical ScreenLinuxSystem AdministrationIncident Response
  • MetropolisMediumSoftware Engineer
    Explain how you use AI tools in development

    This question evaluates a developer's familiarity with AI-assisted development tools, practical experience integrating them into workflows, and understanding of associated governance, security, and data-handling concerns.

    Software Engineering FundamentalsTechnical Screen
  • Micro1MediumSoftware Engineer
    Compare Promise.all, Promise.any, and Promise.allSettled

    Analyze and compare the behavior of JavaScript's `Promise.all`, `Promise.any`, and `Promise.allSettled` across resolution semantics, failure handling, result ordering, and empty inputs, then apply them to real-world distributed service orchestration.

    Software Engineering FundamentalsOnline Assessmentjavascriptpromisesconcurrency
  • MicrosoftHardSoftware Engineer
    Choose lock granularity for concurrent storage

    This problem tests your understanding of concurrency control by asking you to design a locking strategy for a multi-threaded key-value store, focusing on the trade-offs between throughput and latency.

    Software Engineering FundamentalsTechnical ScreenConcurrencyLockingSystem Design
  • MicrosoftMediumSoftware Engineer
    Debug a Numerical Underflow in an A/B Testing Analytics Repo When the AI Agent Is Wrong

    An AI-assisted debugging exercise set in a multi-file A/B testing analytics codebase with five reported issues, centered on a numerical underflow that makes a sequential test stall on large experiments. It tests triage under a time limit, numerical root-cause analysis, and judging when an AI agent's proposed fix is wrong.

    Software Engineering FundamentalsOnsite
  • MicrosoftMediumSoftware Engineer
    Debug distributed-system performance problems

    This question evaluates a candidate's competency in diagnosing performance regressions in distributed systems and understanding of observability signals, latency and throughput trade-offs, and cross-component interactions within the Software Engineering Fundamentals domain.

    Software Engineering FundamentalsOnline Assessment
  • MicrosoftMediumSoftware Engineer
    Deep-Clone a Hand-Built Doubly Linked List with an Arbitrary Special Pointer

    Implement your own doubly linked list whose nodes also carry a special pointer to any node in the list, then write a deep clone without using a built-in list type or adding fields to the node class. It tests pointer handling, mapping nodes by identity, edge cases such as null or self pointers, and proving the copy is fully independent.

    Software Engineering FundamentalsOnsite
  • MicrosoftMediumSoftware Engineer
    Design a Dictionary for Heterogeneous Key and Value Types

    Design a heterogeneous dictionary with explicit type-aware equality, hashing, collision resolution, variable-length ownership, resizing, and persistence boundaries.

    Software Engineering FundamentalsOnsite
  • MicrosoftMediumSoftware Engineer
    Design and Implement a Worker Thread Pool with Futures and Shutdown

    Low-level design and concurrency question: design and implement a fixed-size thread pool with task submission, futures that return results or errors, and graceful or cancelling shutdown. It tests lock and condition variable use, lost wake-ups, policies for rejected work, pool sizing and deadlocks between dependent tasks.

    Software Engineering FundamentalsOther
  • MicrosoftMediumSoftware Engineer
    Discuss mutexes, memory alignment, polymorphism, idempotency

    This question evaluates understanding of concurrency control (mutexes and synchronization), memory alignment and layout, object-oriented polymorphism, and idempotent operations, encompassing key Software Engineering Fundamentals and systems-level concepts.

    Software Engineering FundamentalsOnsite
  • MicrosoftHardSoftware Engineer
    Explain OOP design and API rollout

    This question evaluates object-oriented design and API release engineering competencies, covering identification of core domain objects, separation of orchestration from business rules, testability and extensibility of backend logic, and safe modification of public APIs including backward compatibility, versioning, testing, rollout, monitoring, and client communication, and it is categorized under Software Engineering Fundamentals. It is commonly asked because employers need assurance that engineers can both conceptually design maintainable, extensible systems and practically apply release processes and testing strategies to evolve public interfaces without disrupting clients.

    Software Engineering FundamentalsTechnical Screen
  • MicrosoftMediumSoftware Engineer
    Explain Python, Java, and Memory Management

    This question tests your understanding of language runtimes, memory management strategies, and the trade-offs between managed environments like Python and JVM-based languages like Java.

    Software Engineering FundamentalsOnsiteJavaPythonGarbage Collection
  • MicrosoftMediumSoftware Engineer
    Explain deadlock cases and how to prevent them

    This question evaluates understanding of deadlocks, concurrency control, and resource synchronization in concurrent programming, testing competency in identifying the necessary conditions for deadlock, analyzing concrete scenarios including circular waits, and considering engineering approaches for prevention, detection, and recovery.

    Software Engineering FundamentalsTechnical Screen
  • MicrosoftMediumSoftware Engineer
    Explain hash map internals and edge cases

    This question evaluates understanding of hash map internals and related competencies in data structures, algorithmic complexity, and concurrent programming within the Software Engineering Fundamentals domain, covering collision handling, load factor and resizing, deletion semantics, worst-case behavior, iteration order, and thread-safety concerns.

    Software Engineering FundamentalsOnline Assessment
  • MicrosoftMediumSoftware Engineer
    Find the Bugs in an AI-Generated URL Shortener

    Tests code review, debugging, and refactoring skills by identifying flaws in an AI-generated in-memory URL shortener and implementing a robust, thread-safe replacement.

    Software Engineering FundamentalsTechnical ScreenCode ReviewConcurrencyHashing
  • MicrosoftMediumSoftware Engineer
    Implement a Bounded Per-Key Ordered Task Executor

    Design and implement a thread-safe, bounded task executor that guarantees sequential execution per key while enforcing a global concurrency limit across all keys.

    Software Engineering FundamentalsTechnical Screenconcurrencymultithreadingsystem-design-basics
  • MicrosoftMediumSoftware Engineer
    Implement a Priority Queue from Scratch with Custom Ordering and Stable Ties

    Data structures question that asks you to build a priority queue from scratch with insert, peek, remove-top and size operations, a caller-supplied ordering and stable ties. It tests the choice of underlying structure, invariant-preserving insertion and removal, complexity analysis and edge-case handling.

    Software Engineering FundamentalsOther
  • MicrosoftMediumSoftware Engineer
    Implement a Thread-Safe Per-Key Ordered Executor

    Implement per-key FIFO task execution with thread-safe submission, bounded global concurrency, ready-key scheduling, and exception-safe slot release.

    Software Engineering FundamentalsOnsite
  • MicrosoftMediumSoftware Engineer
    Implement the Linux cp Command, Then Explain Its OS and C++ Internals

    A low-level engineering exercise to implement the Linux cp command in C++ and then explain what happens beneath it. It tests system calls, short writes and error handling, the page cache and kernel-assisted copying, and RAII-based management of file descriptors.

    Software Engineering FundamentalsOnsite
  • MicrosoftMediumSoftware Engineer
    Low-Level Design of a Logging Library Shared by Many Threads

    Low-level design question about an in-process logging library that many threads call at the same time. It tests class modeling for loggers, records, formatters and output destinations, plus thread safety, the hand-off to a background writer, ordering, overflow behavior, failure isolation and clean shutdown.

    Software Engineering FundamentalsOther
  • MicrosoftMediumSoftware Engineer
    Reason About Alien Dictionary Ordering

    This problem tests the ability to model lexicographical constraints as a directed graph and determine if a valid ordering of unique characters exists using topological sorting.

    Software Engineering FundamentalsTechnical ScreenGraphTopological SortHash Table
  • MicrosoftMediumSoftware Engineer
    Respond to a Reliability Regression Shortly After Deployment

    Respond to a post-deployment latency or reliability regression with scoped diagnosis, safe rollback decisions, customer-impact measurement, and prevention.

    Software Engineering FundamentalsOnsite
  • MicrosoftMediumSoftware Engineer
    Thread Safety, Deadlock Prevention, and Arrays vs Linked Lists

    A rapid-fire software engineering fundamentals round covering what makes code thread-safe, what a deadlock is, the main ways to prevent, avoid or recover from deadlocks, and how arrays and linked lists compare. It tests precise definitions, concrete examples and practical trade-offs such as lock ordering and cache locality.

    Software Engineering FundamentalsOnsite
  • MillenniumMediumSoftware Engineer
    C++ Atomics, Memory Ordering, and Safe Publication

    Understand C++ atomics, relaxed counters, acquire-release publication, lost updates, and when multi-field invariants still require a mutex.

    Software Engineering FundamentalsOnsite
  • MillenniumMediumSoftware Engineer
    Debug missing output in Python async HTTP flow

    This question evaluates understanding of asynchronous programming in Python, including event loop management and async I/O semantics, and is categorized under Software Engineering Fundamentals with a focus on practical application of concurrency concepts.

    Software Engineering FundamentalsOnsite
  • MillenniumMediumSoftware Engineer
    GCC, Clang, LLVM, and C++ Compiler Optimization

    Compare GCC, Clang, and LLVM compilation stages, optimization trade-offs, undefined behavior, and methods for investigating generated-code differences.

    Software Engineering FundamentalsOnsite