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 211–240 of 1026 results

  • ByteDanceHardSoftware Engineer
    Add TTL to an LRU cache

    This question evaluates a candidate's understanding of cache design, LRU eviction policies, time-to-live (TTL) semantics, appropriate data structures, time complexity reasoning, and concurrency control.

    Software Engineering FundamentalsOnsite
  • ByteDanceMediumSoftware Engineer
    C++ vs Go for Backend Services: Memory, Concurrency and Trade-offs

    From a TikTok backend intern interview: compare C++ and Go across memory management, concurrency, error handling, language features and tooling, and explain when each language is the better choice for a service. It tests practical understanding of runtime trade-offs rather than syntax trivia.

    Software Engineering FundamentalsTechnical Screen
  • ByteDanceMediumSoftware Engineer
    Choose Between REST, WebSocket, and Server-Sent Events for an Agent Runtime

    This question tests the ability to evaluate communication protocols based on specific architectural requirements, including bidirectional signaling, state recovery, and infrastructure overhead.

    Software Engineering FundamentalsTechnical ScreenSystem DesignProtocolsAPI Design
  • ByteDanceEasySoftware Engineer
    Debug and Extend a Priority-Aware Python Thread Pool

    This question tests your understanding of thread-safe synchronization primitives, priority queues, and robust resource management in a multi-threaded Python environment.

    Software Engineering FundamentalsOnsiteConcurrencyMultithreadingData Structures
  • ByteDanceMediumSoftware Engineer
    Defend a Project's Schema, Indexes, and Concurrency Model

    Practice defending a database design by connecting schema choices, indexes, consistency behavior, and concurrency controls to concrete access patterns. The solution explains how to reason about CAP trade-offs, lost-update prevention, transaction boundaries, and the operational cost of each index.

    Software Engineering FundamentalsTechnical Screen
  • ByteDanceMediumSoftware Engineer
    Design a C++ Shared-Ownership Pointer Library

    Explain shared-pointer control blocks, copy and move semantics, lifetime invariants, exception safety, and the limits of reference counting.

    Software Engineering FundamentalsTechnical Screen
  • ByteDanceHardSoftware Engineer
    Design a Configurable Order Validator with DAG Dependencies

    This problem tests your ability to design a flexible, extensible rule-processing engine that handles sequential and interdependent validation logic.

    Software Engineering FundamentalsTechnical ScreenDesign PatternsDAGTopological Sort
  • ByteDanceMediumSoftware Engineer
    Elasticsearch Deep Dive: Index Mapping Design and How the Inverted Index Works

    From a TikTok backend intern interview: explain how the Elasticsearch index and field mappings in a resume project were designed and why, then explain how an inverted index works. It tests whether a candidate understands the search technology they list, from mapping trade-offs to how queries are answered.

    Software Engineering FundamentalsTechnical Screen
  • ByteDanceMediumSoftware Engineer
    Explain Backend Infrastructure Fundamentals

    This question tests your understanding of Kafka's distributed messaging architecture, specifically how message distribution, ordering guarantees, and consumer scalability interact during consumer group operations.

    Software Engineering FundamentalsTechnical ScreenKafkaDistributed SystemsMessaging
  • ByteDanceMediumSoftware Engineer
    Explain CAP, indexing, locks, and logs

    This question tests fundamental knowledge of distributed systems theory, database storage structures, concurrency control, and recovery mechanisms.

    Software Engineering FundamentalsTechnical ScreenDistributed SystemsDatabasesConcurrency
  • ByteDanceMediumSoftware Engineer
    Explain Composite and Covering Indexes in MySQL

    This question tests the understanding of MySQL B-tree index structures, specifically how composite index ordering affects query performance, selectivity, and disk I/O.

    Software Engineering FundamentalsTechnical ScreenMySQLDatabaseB-Tree
  • ByteDanceMediumSoftware Engineer
    Explain Kafka and Message-Queue Delivery Semantics

    This question tests your understanding of distributed messaging patterns, focusing on the architectural differences between log-based and queue-based systems and the trade-offs involved in ensuring reliable message delivery.

    Software Engineering FundamentalsTechnical ScreenKafkaDistributed SystemsMessage Queues
  • ByteDanceMediumSoftware Engineer
    Explain Virtual Memory Beyond Physical RAM

    This question tests the conceptual understanding of how an operating system abstracts memory management through virtual address spaces, demand paging, and hardware-assisted translation.

    Software Engineering FundamentalsTechnical ScreenOperating SystemsMemory ManagementPaging
  • ByteDanceMediumSoftware Engineer
    Explain the TCP Three-Way Handshake and Its Guarantees

    Tests in-depth understanding of the TCP three-way handshake, state transitions, sequence/acknowledgment arithmetic, and failure modes such as dropped final ACKs.

    Software Engineering FundamentalsTechnical ScreenNetworkingTCP/IPOperating Systems
  • ByteDanceHardSoftware Engineer
    Handle Island Counting When the Grid Does Not Fit in Memory

    This problem tests the ability to adapt graph traversal algorithms (like BFS or DFS) to scenarios where the dataset exceeds primary memory, requiring disk-based processing or tiling strategies.

    Software Engineering FundamentalsTechnical ScreenGraph AlgorithmsSystem DesignExternal Memory
  • ByteDanceHardSoftware Engineer
    Implement a binary min-heap and use it to order courses with prerequisites

    A two-part coding question: implement a binary min-heap with push, pop, peek and linear-time construction without library helpers, then use it to order courses with prerequisites, always taking the smallest-numbered available course and detecting circular prerequisites. Tests heap mechanics and dependency ordering.

    Software Engineering FundamentalsTechnical Screen
  • ByteDanceMediumSoftware Engineer
    Implement an Idempotent Versioned Database Update

    Tests your ability to design and implement a concurrency-safe, idempotent record update operation using optimistic concurrency control and deduplication keys.

    Software Engineering FundamentalsTechnical ScreenDistributed SystemsConcurrencyAPI Design
  • ByteDanceEasySoftware Engineer
    Prepare for an SRE Systems Fundamentals Round

    This question tests your understanding of Linux process management, memory utilization, and the practical troubleshooting steps required to handle a production service experiencing memory exhaustion.

    Software Engineering FundamentalsOnsiteLinuxSREMemory Management
  • ByteDanceMediumSoftware Engineer
    TCP vs UDP: Key Differences and the Applications That Suit Each

    From a TikTok backend intern interview: compare TCP and UDP, including connection setup, reliability, ordering, flow and congestion control, message boundaries and overhead, and explain which applications suit each protocol. It tests tying transport-layer guarantees and their costs to real application needs.

    Software Engineering FundamentalsTechnical Screen
  • Candid HealthEasySoftware Engineer
    Implement a Callback Signaling Registry with Register, Unregister and Signal

    Implement a minimal in-process signaling system with register_callback, unregister_callback and signal functions that all return None. Tests requirement clarification, callback storage and hashability, execution order, isolation of failing callbacks, and prevention of reentrant signal loops.

    Software Engineering FundamentalsTechnical Screen
  • Capital OneMediumSoftware Engineer
    Analyze and Debug Virtual-Card Payment Rules

    Implement and debug a rule-validation engine for virtual card authorization that accurately parses currency strings into integer cents and evaluates spending boundaries and merchant restrictions.

    Software Engineering FundamentalsOnsitePythonData ParsingBoundary Conditions
  • Capital OneMediumSoftware Engineer
    Burner Card Numbers: Trade-offs, Hand Checks and a Buggy Validator

    A three-part fintech case: weigh the trade-offs of disposable card numbers, check sample numbers by hand against format, Luhn and issuer-range rules, then find three bugs in a filter that rejects valid numbers and accepts invalid ones.

    Software Engineering FundamentalsOnsitedebuggingluhnproduct-sense
  • Capital OneMediumSoftware Engineer
    Design Nearest-Pickup Search with Time

    Design efficient nearest-pickup search for latitude-longitude data and a time-aware extension while clarifying distance, ties, result order, and temporal ranking.

    Software Engineering FundamentalsOnline Assessment
  • Capital OneMediumSoftware Engineer
    Design a Banking Component with Transfers and Activity Rankings

    Design an in-memory banking service supporting account creation, deposits, atomic transfers, and activity rankings driven by a string-based command interface.

    Software Engineering FundamentalsOnsiteDesignHash TableSorting
  • Capital OneMediumSoftware Engineer
    Design a transaction class for deposits/withdrawals

    This problem tests your ability to design a robust, thread-safe class for managing bank account transactions, focusing on atomicity and data consistency.

    Software Engineering FundamentalsTechnical ScreenConcurrencyObject-Oriented DesignThread-Safety
  • Capital OneMediumSoftware Engineer
    In-Memory Banking System: Deposits, Transfers, Top-N Activity, Test Harness

    An object-oriented coding exercise that builds an in-memory banking system in stages: creating accounts and deposits, transfers between accounts, and ranking the top N accounts by activity. It also tests writing a harness that runs string-array test commands, and confirming whether activity means operation count or amount moved.

    Software Engineering FundamentalsTechnical Screen
  • Capital OneMediumSoftware Engineer
    Merchant-Locked Payment Codes: Trade-offs and a Buggy Checker

    A three-part fintech case on merchant-locked, single-merchant payment codes: discuss their trade-offs for cardholder and issuer, hand-validate sample codes against a digit-position rule table, then find and fix three planted bugs in a flawed validator.

    Software Engineering FundamentalsTechnical Screencase-interviewdebuggingvalidation-logic
  • Capital OneMediumSoftware Engineer
    Prepaid Travel Card Case Study: Checks, Trade-offs, Buggy Filter

    A three-part case study on prepaid travel cards: weigh the trade-offs of issuing them, manually check sample numbers against length, Luhn, and prefix rules, then debug Python filter code whose conditionals let invalid numbers through. Tests product reasoning, careful manual rule-checking, and evidence-driven debugging.

    Software Engineering FundamentalsOnsitecase-studyvalidationdebugging
  • Capital OneMediumSoftware Engineer
    Reason About and Validate Virtual Card Transactions

    Implement a policy validation engine for encoded virtual card numbers against incoming transactions, handling rule parsing, Luhn checksum verification, and structured status reporting.

    Software Engineering FundamentalsOnsiteStringsValidationClean Code
  • Capital OneMediumSoftware Engineer
    Virtual Card Case Study: Trade-offs, Card Number Rule Checks, and Debugging a Filter

    A three-part virtual credit card case study: weigh the benefits and costs of giving merchants virtual card numbers, check five sample numbers against length, Luhn checksum and prefix rules, and debug a Python filter whose conditionals accept invalid numbers. It tests product reasoning, careful manual analysis and evidence-driven debugging.

    Software Engineering FundamentalsOnsite