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 1291–1320 of 5874 results

  • 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
  • ByteDanceMediumSoftware Engineer
    Implement an LRU Cache

    This problem tests your ability to combine a hash map and a doubly linked list to achieve constant-time performance for cache operations.

    Coding & AlgorithmsTechnical ScreenHash MapDoubly Linked ListDesign
  • ByteDanceMediumSoftware Engineer
    Infer an Alien Alphabet from Sorted Words

    This problem tests graph theory knowledge, specifically topological sorting using Kahn's algorithm or DFS, applied to dependency resolution between characters.

    Coding & AlgorithmsTechnical ScreenGraphTopological SortBFS
  • ByteDanceMediumSoftware Engineer
    Intersect Two Sorted Lists of Disjoint Intervals

    Intersect two sorted lists of disjoint closed intervals in linear time, retaining one-point endpoint overlaps and advancing whichever current interval ends first.

    Coding & AlgorithmsTechnical Screen
  • ByteDanceHardSoftware Engineer
    Least Frequently Used (LFU) Cache

    This problem tests the ability to design an O(1) time complexity cache that evicts the least frequently used items, using recency as a tie-breaker.

    Coding & AlgorithmsOnsiteHash MapLinked ListData Structures
  • ByteDanceMediumSoftware Engineer
    Merge Overlapping Closed Intervals

    This problem tests your ability to manipulate sorted data structures and manage interval boundaries to optimize overlapping segments in linear or log-linear time.

    Coding & AlgorithmsTechnical ScreenSortingGreedyArray
  • ByteDanceMediumSoftware Engineer
    Merge Overlapping Time Windows

    Merge unsorted half-open time windows into sorted, non-overlapping intervals while leaving merely adjacent windows separate. Handle duplicate and nested ranges, large timestamps, large input, and empty collections under exact boundary semantics.

    Coding & AlgorithmsTechnical Screen
  • ByteDanceMediumSoftware Engineer
    Merge overlapping closed intervals into a sorted list of disjoint intervals

    Coding problem: given closed integer intervals in any order, merge every group of overlapping or touching intervals and return the disjoint result sorted by start. It tests interval reasoning, correct handling of shared endpoints, duplicates and nested intervals, and a well-defined output order.

    Coding & AlgorithmsOnsite
  • ByteDanceMediumSoftware Engineer
    Minimize Increments to Equalize Path Costs

    This problem tests your ability to manipulate tree node values to satisfy a global constraint using a bottom-up dynamic programming or greedy approach.

    Coding & AlgorithmsTechnical ScreenTreesGreedyRecursion
  • ByteDanceMediumSoftware Engineer
    Model Campaigns, Targeting, and Edit History for a Demand-Side Ad Platform

    Model a demand-side ad platform with advertisers, campaigns, ad groups, ads, and creatives, including audience rules, edit history, and versioned publishing.

    System DesignOnsite
  • ByteDanceMediumSoftware Engineer
    Order Named Tasks by Dependencies, Choosing the Alphabetically Smallest Order

    Given named tasks and before-and-after dependency pairs, return an order that satisfies every dependency, choosing the alphabetically smallest valid order, or an empty list when the dependencies contain a cycle. It tests topological sorting, cycle detection and deterministic tie-breaking.

    Coding & AlgorithmsOnsite
  • 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
    Prevent a Cache Stampede on a Hot Key

    This question tests the ability to design robust cache-aside mechanisms to prevent database overload during cache expiration events for high-traffic keys.

    System DesignTechnical ScreenCachingDistributed SystemsHigh Availability
  • ByteDanceMediumSoftware Engineer
    Remove Duplicate Letters Lexicographically

    This problem tests your ability to use a monotonic stack combined with frequency tracking to construct a specific subsequence while maintaining lexicographical order.

    Coding & AlgorithmsTechnical ScreenStackStringGreedy
  • ByteDanceMediumSoftware Engineer
    Report the winner after each move on an n-by-n tic-tac-toe board

    Coding problem: replay an n-by-n tic-tac-toe game from a list of moves and report after every move whether the player who just moved has filled a row, a column or either diagonal. It tests efficient win detection on large boards and careful handling of diagonal and anti-diagonal cells.

    Coding & AlgorithmsOnsite
  • ByteDanceMediumSoftware Engineer
    Resolve a Meaningful Disagreement

    This question assesses the candidate's ability to navigate professional conflict through evidence-based reasoning, emotional intelligence, and a focus on collective project success.

    Behavioral & LeadershipOnsiteConflict ResolutionCommunicationLeadership
  • ByteDanceEasySoftware Engineer
    Return the Most Frequent Integer with a Stable Tie-Breaker

    Implement a frequency-based selection over a large integer array: return the most common value, using the numerically smallest value to break ties. Preserve the input and return the value itself rather than its count or position.

    Coding & AlgorithmsTechnical Screen
  • ByteDanceMediumSoftware Engineer
    Reverse Nodes in K-Sized Groups

    This problem tests your ability to manipulate linked list pointers by reversing sub-segments of a list while maintaining structural integrity.

    Coding & AlgorithmsTechnical ScreenLinked ListPointersRecursion
  • ByteDanceMediumSoftware Engineer
    Running Median After Each Number in a Data Stream

    Numbers arrive one at a time from a stream; after each arrival, return the median of everything received so far, averaging the two middle values when the count is even. The problem tests keeping order statistics up to date efficiently as a data stream grows.

    Coding & AlgorithmsOnsite
  • ByteDanceMediumSoftware Engineer
    Set Boundaries and Priorities in a High-Intensity Environment

    This question assesses a candidate's ability to navigate high-pressure work environments by balancing personal sustainability with business objectives, focusing on prioritization strategies and escalation frameworks.

    Behavioral & LeadershipOnsiteLeadershipPrioritizationCommunication
  • ByteDanceMediumSoftware Engineer
    Shortest Path in a Grid with Limited Obstacle Removal

    This problem tests your ability to adapt Breadth-First Search (BFS) to a state-space graph where the state includes both spatial coordinates and a remaining resource constraint.

    Coding & AlgorithmsTechnical ScreenBFSShortest PathState Space Search
  • ByteDanceHardSoftware Engineer
    Simulate a fixed-capacity least-recently-used cache over get and put operations

    Implement a fixed-capacity cache that evicts the least recently used key, processing a sequence of get and put operations and returning the result of every get. Tests recency bookkeeping, update versus insert semantics, eviction order and constant-time operations.

    Coding & AlgorithmsTechnical Screen
  • ByteDanceMediumSoftware Engineer
    Solve Search Speed and String Product

    This pair of problems evaluates algorithm design and implementation skills, focusing on efficient search/optimization for constrained processing speed and manual arbitrary-precision string multiplication for very large integers.

    Coding & AlgorithmsOnsite
  • ByteDanceMediumSoftware Engineer
    Solve interval merging and histogram area

    This question evaluates algorithmic problem-solving skills focused on interval manipulation and histogram-based area computation, emphasizing data structures, ordering, and reasoning about time and space complexity.

    Coding & AlgorithmsTechnical Screen
  • ByteDanceMediumSoftware Engineer
    Sort Every Concentric Matrix Border Clockwise

    Sort the values on every concentric border of a rectangular matrix and write them back clockwise from each border's top-left cell. Traverse corners exactly once, preserve interior layer boundaries, handle single-row or single-column centers, and leave the input unchanged.

    Coding & AlgorithmsOnline Assessment
  • ByteDanceHardSoftware Engineer
    Split n People Into Two Groups So No Pair Who Dislike Each Other Shares a Group

    Given n people and a list of pairs who dislike each other, decide whether everyone can be divided into two groups of any size so that no disliking pair shares a group. The problem tests reasoning about pairwise constraints, people with no constraints, and a solution that runs in time linear in the number of people and pairs.

    Coding & AlgorithmsTechnical Screen
  • 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
  • ByteDanceHardSoftware Engineer
    Tell Me About a Challenge You Faced at Work and How You Worked Through It

    A behavioral question from a one-hour software engineering phone screen asks you to describe a challenge you faced and how you handled it. It tests whether you can pick a story with real stakes, make your own decisions and reasoning clear, report a concrete result, and reflect on what you would change, all within a few minutes.

    Behavioral & LeadershipTechnical Screen
  • ByteDanceMediumSoftware Engineer
    Trace and Debug Agent Tool-Call Failures

    Design a distributed observability and tracing system to monitor, debug, and diagnose multi-step agent tool-call failures across retries and execution stages without leaking sensitive data.

    System DesignTechnical ScreenDistributed TracingObservabilityAI Agents