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 2281–2310 of 2810 results
- ShopifyEasySoftware EngineerImplement cache and gift assignment system
This two-part exercise evaluates a candidate's competence in designing efficient in-memory data structures with correct eviction semantics (bounded LRU cache with amortized O(1) operations) and in implementing randomized permutation algorithms and input/output handling for derangement-based Secret Santa assignments from CSV input.
Coding & AlgorithmsTechnical Screen - ShopifyMediumSoftware EngineerParse a CSV and Generate a Gift Exchange
This problem tests string parsing, data validation, and algorithm design by requiring the implementation of a secret-santa style matching system from unstructured CSV data.
Software Engineering FundamentalsTechnical ScreenParsingAlgorithmsRandomization - ShopifyMediumSoftware EngineerScaling a Collision-Free Rover Fleet to a Million Robots
This question tests the ability to design a distributed system that manages real-time state consistency across a massive, sharded spatial grid while handling concurrency and robot movement.
System DesignTechnical ScreenDistributed SystemsConcurrencySharding - ShopifyEasySoftware EngineerSimulate rover movement on a grid
This question evaluates incremental system design, agent state management on a bounded grid, and algorithmic complexity for processing movement commands in the Coding & Algorithms domain.
Coding & AlgorithmsTechnical Screen - ShopifyMediumSoftware EngineerTerminal-Controlled Grid Rover Simulator
Implement a warehouse rover simulation engine that processes sequential movement commands on a bounded 2D grid, handling coordinate translations, cardinal rotations, boundary limits, and multi-rover collision avoidance.
Coding & AlgorithmsTechnical Screensimulationstate-machinearrays - SierraMediumSoftware EngineerConversation Agent History: Paginated Fetching, Then Token-Limit Compaction
Build the message-history layer of a conversation agent: fetch the conversation page by page into one ordered list, then compact it whenever the total token count exceeds a limit by dropping the oldest messages. It tests pagination termination and ordering, running totals, and cheap removal from the front.
Software Engineering FundamentalsTechnical Screen - SierraMediumSoftware EngineerFetch Every Page from a Data API, Then Compact Records to a Token Budget
A two-part coding screen: page through a data API until it returns no more records, then, if the fetched records exceed 20,000 tokens, compact them to at most 10,000 tokens by keeping the longest contiguous run that fits. It tests loop termination, failure handling, boundary rules and an efficient way to trim data to a budget.
Software Engineering FundamentalsTechnical Screen - SierraMediumSoftware EngineerLoad a Support Chat Transcript by Pages, Then Trim to a Token Budget
Build the transcript-loading layer for a customer support chat agent: assemble a full conversation from a paginated backend into one ordered list, then trim it down whenever it grows past a token budget by dropping the oldest turns first.
Software Engineering FundamentalsTechnical Screenpaginationdata-structuresapi-design - SierraMediumSoftware EngineerPaginate an Audit-Log API, Then Compact Entries to a Byte Budget
Pull every entry out of a cursor-paginated audit-log API, then, if the entries together exceed a byte budget, keep the longest contiguous run of them (in original order) that fits. Tests correct pagination loop termination and an efficient two-pointer scan instead of re-measuring every candidate run from scratch.
Software Engineering FundamentalsTechnical Screensliding-windowpaginationapi-design - SierraHardSoftware EngineerSplit Markdown Into Header-Aware Chunks
This question evaluates string parsing, stateful text-processing, and algorithmic chunking skills, focusing on hierarchical header tracking and enforcing size constraints while preserving document order.
Coding & AlgorithmsTechnical Screen - SigmacomputingMediumSoftware EngineerBuild a Pivot Table Aggregator
This question evaluates a candidate's ability to implement data aggregation and efficient lookup structures, focusing on grouping, associative aggregations, and maintaining intermediate state for derived metrics.
Coding & AlgorithmsTechnical Screen - SigmacomputingMediumSoftware EngineerBuild a pivot table class over shirt sales records with running and grand totals
Implement a class that stores shirt sales records and builds pivot tables summing shirts sold by any row field and column field, then extend it with running totals and grand totals along both axes. It tests object-oriented structure, aggregation with dictionaries, deterministic layout, and consistency between cells and totals.
Software Engineering FundamentalsTechnical Screen - SigmacomputingEasySoftware EngineerImplement a basic pivot table with totals
This question evaluates a candidate's ability to perform in-memory data aggregation, multi-dimensional grouping, handling missing combinations, and formatted text output for pivot tables including row/column totals.
Coding & AlgorithmsTechnical Screen - SnapchatMediumSoftware EngineerCheck if a binary tree is complete
This problem tests your understanding of binary tree properties and your ability to perform a level-order traversal to verify structural completeness.
Coding & AlgorithmsTechnical ScreenBinary TreeBFSData Structures - SnapchatMediumSoftware EngineerCompute sliding window median
This question evaluates the ability to maintain a running median over a sliding window, testing competencies in data structures, order statistics, dynamic updates, and algorithmic efficiency within the Coding & Algorithms domain.
Coding & AlgorithmsTechnical Screen - SnapchatMediumSoftware EngineerCount islands with eight-direction adjacency
This question evaluates a candidate's competency in graph traversal algorithms and data-structure trade-offs by counting connected components on a grid with eight-direction adjacency, focusing on BFS/DFS behavior and optional Union-Find approaches.
Coding & AlgorithmsTechnical Screen - SnapchatMediumSoftware EngineerDesign and Implement a Thread-Safe LRU Cache
Design an `O(1)` LRU cache and extend it with clear thread-safety semantics. The solution covers hash-map and doubly linked-list invariants, boundary cases, linearization points, single-lock correctness, sharding trade-offs, eviction callbacks, and concurrent testing.
Software Engineering FundamentalsTechnical Screen - SnapchatHardSoftware EngineerDesign short URL service with click counting
This question tests the ability to design a distributed URL shortening service, focusing on system architecture, database partitioning, and strategies for high-frequency write operations like click tracking.
System DesignTechnical ScreenScalabilityDatabaseCaching - SnapchatMediumSoftware EngineerExplain median vs mean for L1/L2
This question evaluates understanding of central tendency and loss functions—specifically the roles of median and mean under L1 (absolute) and L2 (squared) norms—and the geometric extension of these concepts to two-dimensional data.
Statistics & MathTechnical Screen - SnapchatMediumSoftware EngineerFind Duplicate Files with a Hand-Written Directory Traversal
This problem tests iterative directory traversal techniques, efficient file hashing strategies to handle large data, and the ability to manage edge cases like file system inconsistencies or symbolic links.
Software Engineering FundamentalsTechnical ScreenFile SystemHashingIteration - SnapchatMediumSoftware EngineerFind Maximum Island Perimeter
This problem tests grid traversal techniques (DFS/BFS) and the ability to calculate boundary contributions within a connected component in a 2D matrix.
Coding & AlgorithmsTechnical ScreenDFSBFSGrid - SnapchatMediumSoftware EngineerFind index of first unique character
Find index of first unique character evaluates algorithm design, data structures, correctness, complexity, edge cases, and implementation details in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
Coding & AlgorithmsTechnical Screen - SnapchatMediumSoftware EngineerFind max node-value range across components
This problem tests your ability to traverse an undirected graph to identify connected components and perform aggregations over the nodes within each component.
Coding & AlgorithmsTechnical ScreenGraphDFSBFS - SnapchatMediumSoftware EngineerHandle cards, islands, Trie, median
These problems evaluate proficiency in core data structures and algorithmic problem-solving, covering grouping/counting techniques, grid-based island detection, trie (prefix tree) design, and streaming median computation within the domain of data structures and algorithms.
Coding & AlgorithmsTechnical Screen - SnapchatMediumSoftware EngineerHow do you deliver when time is tight?
This question evaluates a candidate's project management, prioritization, risk identification, trade-off negotiation, and stakeholder-communication skills when working under aggressive deadlines.
Behavioral & LeadershipTechnical Screen - SnapchatMediumSoftware EngineerImplement a Timestamped Counter
This problem tests your ability to design a data structure that handles time-series data and performs efficient range-based queries using binary search.
Coding & AlgorithmsTechnical ScreenBinary SearchData StructuresTime Series - SnapchatMediumSoftware EngineerImplement a custom list with iterator and map
This problem tests your understanding of linked list internals, the Iterator design pattern, and the application of higher-order functions in a custom data structure.
Coding & AlgorithmsTechnical ScreenLinked ListsDesign PatternsIterator - SnapchatMediumSoftware EngineerImplement sin(x) with precision constraints
This question evaluates understanding of numerical methods, floating-point arithmetic, and algorithmic implementation in the Coding & Algorithms domain by requiring an approximation of the sine function under explicit error bounds.
Coding & AlgorithmsTechnical Screen - SnapchatHardSoftware EngineerParallelize the lock BFS safely
Parallelize the lock BFS safely evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
System DesignTechnical Screen - SnapchatMediumSoftware EngineerRemove the Maximum Number of Connected Stones
Determine the maximum number of stones that can be removed from a 2D grid where a stone may only be removed if another stone shares its row or column. This tests graph modeling, connected components, and Union-Find or BFS/DFS traversals.
Coding & AlgorithmsTechnical ScreenGraphUnion-FindDFS