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 1561–1590 of 2810 results

  • MicrosoftMediumSoftware Engineer
    Count non-decreasing arrays by digit sums

    This question evaluates combinatorics and constrained counting skills, including reasoning about digit-sum properties, monotonic sequences, modular arithmetic, and efficient algorithm design within the Coding & Algorithms domain.

    Coding & AlgorithmsTechnical Screen
  • MicrosoftMediumSoftware Engineer
    Describe background and motivations

    This interview question evaluates behavioral evidence, ownership, communication, trade-offs, and measurable outcomes in a realistic interview setting. A strong answer for Describe background and motivations states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Behavioral & LeadershipTechnical Screen
  • MicrosoftMediumSoftware Engineer
    Design A Scalable Web Crawler

    This question evaluates scalable system architecture and distributed systems competencies, specifically testing web crawler concepts such as URL discovery and deduplication, scheduling and prioritization, politeness-aware fetching, parsing and link extraction, storage of content and metadata, failure handling, and monitoring.

    System DesignTechnical Screen
  • MicrosoftMediumSoftware Engineer
    Design a ChatGPT-like serving system

    This question tests the ability to design a scalable, low-latency LLM inference system, focusing on request handling, KV-cache optimization, and horizontal scaling strategies.

    System DesignTechnical ScreenLLMScalabilityInference
  • MicrosoftMediumSoftware Engineer
    Design a To-Do List Service (CRUD, Auth, Rate Limiting, Caching & API Versioning)

    This question tests the ability to design a scalable, multi-tenant To-Do service, focusing on API versioning, authentication, rate limiting, and data integrity.

    System DesignTechnical ScreenAPI DesignCachingRate Limiting
  • MicrosoftMediumSoftware Engineer
    Design a URL Shortener (High-Level and Low-Level Design)

    This question tests the ability to design a distributed, scalable URL shortening service by addressing key generation strategies, storage schema, and caching policies.

    System DesignTechnical ScreenScalabilityDatabaseCaching
  • MicrosoftMediumSoftware Engineer
    Design a Versioned Key-Value Store

    This problem tests your ability to design a data structure that supports storing multiple values for the same key indexed by timestamps, requiring efficient retrieval of the latest value at or before a specific point in time.

    Coding & AlgorithmsTechnical ScreenHash MapBinary SearchData Structures
  • MicrosoftMediumSoftware Engineer
    Design a high-level logging system

    This System Design question evaluates a candidate's ability to design scalable, reliable centralized logging and observability infrastructure, covering distributed systems concepts such as ingestion, durable storage, querying/indexing, access control, and multi-tenant separation.

    System DesignTechnical Screen
  • MicrosoftHardSoftware Engineer
    Design a replicated cloud storage service

    This problem tests your ability to design a distributed, highly available object storage system by addressing metadata management, data consistency, and replication strategies.

    System DesignTechnical ScreenDistributed SystemsStorageReplication
  • MicrosoftHardSoftware Engineer
    Design a typeahead search service

    This question evaluates competency in large-scale system design, including scalable data modeling, low-latency prefix lookup, ranking and personalization strategies, API design, caching, and trade-off analysis.

    System DesignTechnical Screen
  • MicrosoftMediumSoftware Engineer
    Design an Ad Impression Reconciliation and Aggregation Service

    This problem tests the ability to design a distributed, idempotent pipeline that reconciles inconsistent event streams into a consistent, aggregated state for billing and analytics.

    System DesignTechnical ScreenDistributed SystemsData PipelinesIdempotency
  • MicrosoftMediumSoftware Engineer
    Design an online ticket booking system

    This question tests the ability to design a distributed system that manages high-concurrency inventory, specifically focusing on consistency models, race condition prevention during seat selection, and reliable payment processing.

    System DesignTechnical ScreenConcurrencyDistributed SystemsScalability
  • MicrosoftMediumSoftware Engineer
    Design cache with least-recently-used eviction

    This question evaluates understanding of in-memory key–value cache design, eviction policies, and appropriate data-structure choices to achieve amortized O(1) get and put operations.

    Coding & AlgorithmsTechnical Screen
  • MicrosoftHardSoftware Engineer
    Detect Repeated Patterns in a String Sequence

    This problem tests string manipulation, hashing, and the ability to detect repeating sub-sequences of a fixed length k across a stream.

    Coding & AlgorithmsTechnical ScreenStringsHashingSliding Window
  • MicrosoftMediumSoftware Engineer
    Determine most popular concert city

    This interview question evaluates algorithm design, data structures, correctness, complexity, edge cases, and implementation details in a realistic interview setting. A strong answer for Determine most popular concert city states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Coding & AlgorithmsTechnical Screen
  • MicrosoftMediumSoftware Engineer
    Experimentation Platform: Sync vs Async Validation, Latency Budgets and Health Checks

    A senior experimentation-platform deep dive that asks which validations should block versus run in the background, how variant assignment stays inside callers' latency budgets, and which health checks catch broken experiments. It tests trade-off reasoning about online A/B testing infrastructure.

    System DesignTechnical Screen
  • 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 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
  • MicrosoftHardSoftware Engineer
    Explain owning and debugging infra modules

    This question evaluates ownership, debugging, and operational competence for low-level infrastructure components such as storage, distributed systems, and other reliability-critical infra, emphasizing reliability/performance goals, incident investigation, trade-off reasoning, and executional ownership.

    Behavioral & LeadershipTechnical Screen
  • MicrosoftMediumSoftware Engineer
    Find Unique Zero-Sum Triplets

    Find unique zero-sum triplets with distinct indices, deterministic ordering, careful duplicate suppression, and explicit time and space analysis.

    Coding & AlgorithmsTechnical Screen
  • MicrosoftHardSoftware Engineer
    Find all balanced k in a permutation

    This question evaluates understanding of permutations, array range reasoning, index mapping, and efficient algorithm design for detecting contiguous subarrays that exactly contain the prefix set {1..k}.

    Coding & AlgorithmsTechnical Screen
  • MicrosoftMediumSoftware Engineer
    Find longest substring without repeating characters

    This problem tests your ability to use the sliding window technique combined with a hash map to efficiently find a maximal subarray meeting a specific constraint.

    Coding & AlgorithmsTechnical ScreenSliding WindowHash MapString
  • MicrosoftMediumSoftware Engineer
    Find lowest common ancestor in tree

    This question evaluates understanding of tree data structures and the lowest common ancestor concept, contrasting use of binary search tree ordering with the general binary tree case while requiring algorithmic time and space complexity reasoning in the Coding & Algorithms domain.

    Coding & AlgorithmsTechnical Screen
  • 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
    Greedy and Top-k Beam Search Decoding That Returns the Sentence Probability

    A coding question on decoding a sequence from a next-token probability distribution: implement greedy decoding, extend it to beam search that keeps the top k partial sequences, and return the chosen sequence with its overall probability. It also probes why long sequences tend to receive low probability and how decoding should account for that.

    Machine LearningTechnical Screen
  • MicrosoftHardSoftware Engineer
    Group GPUs by node and partition by links

    This problem tests your ability to model a network as a graph and perform partitioning to optimize internal connectivity constraints.

    Coding & AlgorithmsTechnical ScreenGraph TheoryBipartite MatchingCombinatorial Optimization
  • 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 Snapshot Set Iterator

    This problem tests your ability to design a data structure that maintains point-in-time consistency for an iterator despite subsequent modifications to the underlying collection.

    Coding & AlgorithmsTechnical ScreenData StructuresDesignIterator
  • MicrosoftMediumSoftware Engineer
    Implement a type-based mutex for tasks

    This problem tests knowledge of synchronization primitives, dictionary-based locking mechanisms, and the ability to manage resource contention based on dynamic categorization.

    Coding & AlgorithmsTechnical ScreenConcurrencySynchronizationMultithreading
  • MicrosoftHardSoftware Engineer
    Implement array and tree traversal tasks

    This problem tests your ability to optimize an array-based trading algorithm using a greedy approach and your mastery of level-order tree traversal to extract a specific view of a binary tree.

    Coding & AlgorithmsTechnical ScreenGreedyBFSDFS