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 EngineerImplement 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 EngineerImplement 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 EngineerImplement 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 EngineerInfer 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 EngineerIntersect 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 EngineerLeast 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 EngineerMerge 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 EngineerMerge 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 EngineerMerge 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 EngineerMinimize 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 EngineerModel 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 EngineerOrder 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 EngineerPrepare 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 EngineerPrevent 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 EngineerRemove 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 EngineerReport 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 EngineerResolve 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 EngineerReturn 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 EngineerReverse 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 EngineerRunning 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 EngineerSet 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 EngineerShortest 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 EngineerSimulate 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 EngineerSolve 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 EngineerSolve 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 EngineerSort 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 EngineerSplit 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 EngineerTCP 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 EngineerTell 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 EngineerTrace 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