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 91–120 of 1189 results

  • AmazonMediumSoftware Engineer
    Review an existing architecture for risks

    This question tests the ability to analyze a distributed system architecture for single points of failure, scalability bottlenecks, and operational risks, while balancing engineering trade-offs.

    System DesignOnsiteScalabilityReliabilityArchitecture
  • AmperityMediumSoftware Engineer
    Design a Metrics Collection System

    Design an end-to-end distributed metrics collection and monitoring pipeline capable of ingesting millions of data points per second, handling label cardinality risks, and supporting low-latency time-series queries.

    System DesignTechnical Screensystem-designtime-seriesdistributed-systems
  • AmperityHardSoftware Engineer
    Design an Online SQL Query Service over Apache Iceberg Tables

    Design an online service that runs user-submitted SQL statements against data stored in Apache Iceberg tables. Covers the query lifecycle and API, metadata-driven planning with snapshots and manifests, distributed execution, multi-tenant admission control, commits for writes, and table maintenance.

    System DesignOnsite
  • Anchorage DigitalMediumSoftware Engineer
    Design a Digital Asset Custody Service

    This question tests your ability to design a high-security, distributed system for managing digital asset custody, focusing on secure key storage, transaction authorization, and auditability.

    System DesignOnsiteSecurityBlockchainDistributed Systems
  • AnrokHardSoftware Engineer
    Design async batched key-value fetcher

    This question evaluates understanding of designing asynchronous, batched request handling in a single-threaded event-loop, covering batching windows, key deduplication, response-to-callback correlation, consistency boundaries, error handling, timeouts/retries, cancellation, and backpressure.

    System DesignTechnical Screen
  • AnthropicMediumSoftware Engineer
    Describe a Python design-and-coding approach in Colab

    This question evaluates a candidate's ability to design and implement a Python-based solution within a cloud-hosted notebook environment, covering requirements elicitation, component and data-structure selection, modularization, testing, dependency and environment management, and basic performance analysis.

    System DesignOnsite
  • AnthropicHardSoftware Engineer
    Design Durable One-to-One Web Messaging at Large Scale

    Design Web-only one-to-one messaging at 100 million DAU with durable deduplication, chat sharding, membership indexes, offline recovery, and replica-aware reads.

    System DesignTechnical Screen
  • AnthropicMediumSoftware Engineer
    Design Instagram (Feed, Photos, and Friend Recommendations)

    Design a scalable social media platform supporting photo uploads, timeline feed generation, follow graphs, and friend recommendations. This problem tests distributed storage, feed fan-out strategies under skewed follower distributions, and graph-based recommendation systems.

    System DesignOnsiteDistributed SystemsCachingFeed Generation
  • AnthropicHardSoftware Engineer
    Design Large Model-Weight Distribution to GPU Workers

    Design a high-throughput, fault-tolerant distribution platform that transfers multi-hundred-gigabyte model weights to tens of thousands of GPU worker nodes with integrity validation, progressive rollouts, and fast rollback capabilities.

    System DesignTechnical Screensystem-designml-infrastructuredistributed-systems
  • AnthropicMediumSoftware Engineer
    Design One-to-One Chat

    This question evaluates expertise in designing scalable, real-time one-to-one messaging systems, testing knowledge of distributed systems principles, message persistence and retrieval, delivery semantics, session and WebSocket management, ordering, retries, deduplication, and trade-offs between streaming and in-memory technologies such as Kafka and Redis. It is commonly asked to assess architectural reasoning about latency, availability, ordering guarantees and reliability within the System Design domain, and requires a mix of conceptual architectural understanding and practical implementation-level considerations.

    System DesignOnsite
  • AnthropicMediumSoftware Engineer
    Design Peer-to-Peer Model Distribution Under a Shared Link Cap

    Design an internal peer-to-peer artifact distribution system to deliver large model weights from a single seed machine to thousands of cluster workers subject to a shared aggregate upload-and-download network link limit.

    System DesignTechnical Screensystem-designdistributed-systemsnetworking
  • AnthropicMediumSoftware Engineer
    Design Telemetry Ingestion and Reconcile Metric Names

    Design a scalable telemetry ingestion pipeline that standardizes and reconciles metric naming inconsistencies and schema drift across disparate client libraries, historical stores, and real-time query engines.

    System DesignTechnical ScreenData InfrastructureTelemetryStream Processing
  • AnthropicHardSoftware Engineer
    Design a Batched LLM Inference Service Assuming Each Batch Takes 100 ms

    A system design question on serving large language model inference by batching requests, given the interviewer's assumption that every batch finishes in 100 ms. It tests batching policy, capacity math, latency budgets, returning results to callers, failure handling, and whether a fixed batch time holds when prompt and response lengths vary.

    System DesignOnsite
  • AnthropicMediumSoftware Engineer
    Design a Collaborative Prompt Playground

    Design a collaborative prompt playground with conflict-aware editing, immutable versions, asynchronous model runs, and reliable input and result provenance.

    System DesignOnsite
  • AnthropicHardSoftware Engineer
    Design a Concurrent Image Processing Service

    Design a resilient, distributed image-processing pipeline that safely scales from a single worker to hundreds of concurrent nodes while guaranteeing job lease safety, idempotent output writes, and clean cancellation.

    System DesignOnsitesystem-designdistributed-systemsconcurrency
  • AnthropicHardSoftware Engineer
    Design a Crash-Resilient LRU Cache

    This question evaluates a candidate's competency in designing a crash-resilient LRU cache, including which data and ordering must be persisted, durability and recovery concerns, and trade-offs between latency and persistence.

    System DesignTechnical Screen
  • AnthropicMediumSoftware Engineer
    Design a Distributed Rate Limiter

    Tests the candidate's ability to design a low-latency, highly available distributed rate-limiting service that coordinates shared state across geographically distributed API gateways while gracefully handling network partitions and datastore failures.

    System DesignOnsiteDistributed SystemsRate LimitingRedis
  • AnthropicMediumSoftware Engineer
    Design a Model Inference API and Optimize Its GPU Usage

    A system design interview question that asks you to design an inference API for a trained model served on GPUs, covering the public API, streamed responses, request queueing, scheduling onto GPU workers, overload handling and failure recovery. Follow-up questions probe how to raise GPU throughput and memory efficiency without missing latency targets.

    System DesignOnsite
  • AnthropicMediumSoftware Engineer
    Design a One-on-One Chat Service

    Design a highly available, low-latency one-on-one messaging system capable of delivering messages in real time, maintaining strict ordering, and handling offline synchronization.

    System DesignTechnical Screensystem-designdistributed-systemsreal-time
  • AnthropicMediumSoftware Engineer
    Design a Parallel and Resumable Model Downloader

    Design a parallel model downloader with version-bound byte ranges, resumable verified pieces, bounded resource use, and atomic publication of complete artifacts.

    System DesignOnsite
  • AnthropicMediumSoftware Engineer
    Design a Resilient Chat System

    Design a resilient, distributed 1:1 and group messaging system focusing on durability guarantees, strict message ordering, robust fan-out, and reliable offline catch-up under partial failures.

    System DesignTechnical Screensystem-designdistributed-systemschat-architecture
  • AnthropicMediumSoftware Engineer
    Design a Resumable Parallel Downloader for Game Client Patches

    Design a game launcher's patch downloader that fetches a multi-gigabyte update in parallel byte-range chunks, survives crashes and connection drops without re-downloading verified bytes, and only ever exposes a complete, verified patch to the game client.

    System DesignOnsitedistributed-systemsresumabilityintegrity
  • AnthropicMediumSoftware Engineer
    Design a Resumable, Parallel Fetcher for Huge Dataset Releases

    Design a node-side fetcher that downloads multi-terabyte dataset releases in parallel byte ranges, resumes from verified pieces after crashes, and atomically publishes only complete releases. Tests manifest design, range-request validation, durable progress tracking, and atomic filesystem publication.

    System DesignOnsitesystem-designdistributed-systemsstorage
  • AnthropicMediumSoftware Engineer
    Design a Shared API Request Workbench With Versioned Runs

    Design a team tool where engineers co-edit a shared collection of HTTP request templates, freeze them into immutable versions, and execute versions asynchronously against third-party APIs with full provenance of inputs, config, and results.

    System DesignOnsitesystem-designcollaborationversioning
  • AnthropicMediumSoftware Engineer
    Design a Team SQL Workbench with Snapshots and Async Runs

    Design a multi-user SQL workbench where analysts co-edit drafts, freeze immutable snapshots, and launch long-running warehouse queries whose results stay traceable to their exact inputs. Tests concurrency control, immutability boundaries, and reliable async execution.

    System DesignOnsitecollaborationversioningasync-jobs
  • AnthropicMediumSoftware Engineer
    Design a Telemetry Pipeline That Handles Inconsistent Metric Names from Old Clients

    Design a telemetry pipeline that ingests metrics from a large fleet of deployed clients, then handle legacy clients that cannot be updated and report the same metric under inconsistent names. It tests durable ingestion, stream processing and storage design, canonical metric catalogs, version-scoped name mapping and schema evolution.

    System DesignOnsite
  • AnthropicHardSoftware Engineer
    Design a Translation API That Batches Requests on a Fixed Clock

    Design a hosted translation API where a GPU worker runs one batch of pending requests every fixed round, and the candidate must derive throughput, batch-closing policy, and failure handling from that one constraint.

    System DesignOnsitesystem-designbatchingcapacity-planning
  • AnthropicHardSoftware Engineer
    Design a concurrent web crawler

    An Anthropic system design question: design and implement a concurrent web crawler, from a single-threaded baseline to manual threads, a thread pool and asyncio. It covers the URL frontier, deduplication across workers and redirects, robots.txt and per-host politeness, Retry-After backoff, completion detection, memory sizing, testing and monitoring.

    System DesignTechnical Screen
  • AnthropicMediumSoftware Engineer
    Design a distributed web crawler

    This question tests the ability to design a scalable, fault-tolerant distributed web crawler that handles URL management, distributed coordination, and domain politeness.

    System DesignTechnical ScreenDistributed SystemsScalabilityCaching
  • AnthropicMediumSoftware Engineer
    Design a one-to-one chat system

    This problem tests your ability to design a scalable, real-time one-to-one messaging system by addressing requirements for message ordering, delivery guarantees, and user presence.

    System DesignTechnical ScreenWebSocketsMessagingScalability