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 1261–1290 of 5874 results

  • ByteDanceMediumSoftware Engineer
    Detect a Pythagorean Triple in an Integer Array

    This problem tests the ability to optimize a brute-force approach into an efficient search using sorting and the two-pointer technique to satisfy a geometric condition.

    Coding & AlgorithmsOnsiteArraysTwo PointersSorting
  • 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
    Elements Occurring More Than n/3 Times in a Sorted Array

    This problem tests your ability to optimize frequency counting in a sorted array by leveraging binary search to achieve logarithmic time complexity, rather than a linear scan.

    Coding & AlgorithmsTechnical ScreenBinary SearchArraysSorting
  • ByteDanceMediumSoftware Engineer
    Enumerate All Simple Directed Cycles

    This problem tests graph traversal skills, specifically the ability to identify unique simple cycles in a directed graph using canonical representations to avoid duplicates.

    Coding & AlgorithmsTechnical ScreenGraphsDFSBacktracking
  • ByteDanceMediumSoftware Engineer
    Enumerate All Simple Directed Paths

    This problem tests graph traversal techniques, specifically depth-first search (DFS) with backtracking to identify all unique simple paths in a directed graph.

    Coding & AlgorithmsTechnical ScreenGraphDFSBacktracking
  • ByteDanceEasySoftware Engineer
    Equalize Root-to-Leaf Sums in an N-ary Tree

    Find the minimum total increments needed to make every root-to-leaf path in a nonnegative-valued N-ary tree have the same sum. The parent-array input may contain 200,000 nodes and a depth beyond Python's recursion limit.

    Coding & AlgorithmsTechnical Screen
  • ByteDanceMediumSoftware Engineer
    Evaluate a Migration from MySQL to MongoDB

    Evaluate whether a MySQL-backed service should migrate to MongoDB using its actual workload and correctness needs. Compare relational and document models, joins and transactions, then outline a dual-run migration, rollback plan, and measurements that would prove an improvement.

    System DesignTechnical Screen
  • ByteDanceMediumSoftware Engineer
    Evaluate an Integer Arithmetic Expression with Parentheses

    This problem tests the ability to evaluate arithmetic expressions containing addition, subtraction, multiplication, and division, while correctly handling parentheses, operator precedence, and unary operators without using recursion.

    Coding & AlgorithmsTechnical ScreenStackMathParsing
  • 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 Why You Want to Change Roles

    This question assesses the candidate's professional maturity, self-awareness, and ability to frame career transitions as proactive pursuits of growth rather than reactions to negative past experiences.

    Behavioral & LeadershipOnsiteBehavioralCareer GrowthCommunication
  • ByteDanceMediumSoftware Engineer
    Explain a Project's Implementation and Design Decisions

    This question assesses a candidate's ability to communicate complex technical work, justify architectural trade-offs, and reflect critically on their own engineering process.

    Behavioral & LeadershipTechnical ScreenArchitectureProblem SolvingCommunication
  • ByteDanceMediumSoftware Engineer
    Explain a promotion and key project impact

    This question evaluates a candidate's ability to communicate career progression, leadership influence, ownership of high-impact projects, and aptitude for articulating measurable outcomes and trade-offs.

    Behavioral & LeadershipTechnical Screen
  • 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
  • ByteDanceMediumSoftware Engineer
    Find Maximum Candies With Two Types

    This question evaluates algorithmic problem-solving with arrays, focusing on managing constraints on the number of distinct element types in a contiguous sequence and maintaining element frequency/state during a traversal.

    Coding & AlgorithmsOnsite
  • ByteDanceEasySoftware Engineer
    Find Missing Ranges with Bounds

    This question evaluates understanding of sorted array manipulation, interval arithmetic, detection of maximal missing ranges, and careful handling of boundary and edge cases in integer intervals.

    Coding & AlgorithmsTechnical Screen
  • ByteDanceHardSoftware Engineer
    Find Unique One-Use Combination Sums with Negative Values

    Tests backtracking and branch-and-bound optimization when searching for subsets that sum to a target with duplicate and negative values.

    Coding & AlgorithmsTechnical ScreenBacktrackingBranch and BoundArray
  • ByteDanceMediumSoftware Engineer
    Find Words in a Character Grid

    This question evaluates algorithm design for efficient multi-word search in a character grid, testing competencies in constrained graph traversal, managing large dictionaries, and selecting data structures for efficient lookup.

    Coding & AlgorithmsOnsite
  • ByteDanceHardSoftware Engineer
    Find the Best Word for a Query Suffix

    This problem tests your ability to efficiently query a dictionary for the longest word ending with a specific suffix, requiring optimal data structure usage for prefix/suffix operations.

    Coding & AlgorithmsTechnical ScreenTrieString ManipulationData Structures
  • ByteDanceMediumSoftware Engineer
    Find the Earliest Contiguous Removal That Balances Index Sums

    This problem tests array manipulation, prefix sums, and index tracking while handling state changes caused by subarray removal.

    Coding & AlgorithmsTechnical ScreenArrayPrefix SumOptimization
  • ByteDanceMediumSoftware Engineer
    Find the Minimum Window Containing a Multiset of Characters

    This problem tests your ability to use the two-pointer sliding window technique combined with a frequency map to identify the smallest valid substring efficiently.

    Coding & AlgorithmsOnsiteSliding WindowHash MapStrings
  • ByteDanceMediumSoftware Engineer
    Find the N-th Highest Bid in an Auction Log Without a Heap

    Given an unordered list of auction bids, return the n-th highest one, treating two equal bid amounts as distinct entries, while a heap-based solution is off the table. Tests selection algorithms faster than full sorting, correct handling of duplicate values, and justifying the achieved time complexity.

    Coding & AlgorithmsOnsitequickselectarraysselection
  • ByteDanceMediumSoftware Engineer
    Hand-Write a Multi-Head Attention Layer: Projections, Head Splitting and Masking

    Write a multi-head attention layer from scratch: project queries, keys and values, split them into heads, apply scaled dot-product attention with optional padding or causal masks, and merge the heads. It tests tensor shape discipline, numerical stability, and the cost of attention as sequence length grows.

    Machine LearningOnsite
  • ByteDanceMediumSoftware Engineer
    Handle Communication Difficulty and Ambiguity on a Project

    Use a concrete project to show how you made ambiguous decisions and communication friction visible, aligned owners and deadlines, managed residual uncertainty, and protected delivery.

    Behavioral & LeadershipTechnical Screen
  • 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 Expiring LRU Cache

    This question evaluates skill in designing and implementing efficient in-memory caching data structures, testing understanding of LRU eviction, per-entry TTL expiration, and the use of hash maps and linked lists for O(1) operations.

    Coding & AlgorithmsTechnical Screen
  • ByteDanceMediumSoftware Engineer
    Implement Sliding Windows and LRU Cache

    This question evaluates algorithmic problem-solving and data-structure design, testing sliding-window and 2D submatrix reasoning for maximizing contiguous ones with bounded flips and the design of an LRU cache that enforces O(1) get/put semantics.

    Coding & AlgorithmsOnsite