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 961–990 of 2629 results
- GoogleMediumSoftware EngineerDetermine Whether a Word Exists in a Graph
This problem tests the ability to implement a depth-first search (DFS) with backtracking to find a specific sequence within a grid, while managing state to avoid reusing the same path.
Coding & AlgorithmsOnsiteDFSBacktrackingGraphs - GoogleMediumSoftware EngineerDetermine validity after digit-constrained deletions
This interview question evaluates algorithm design, data structures, correctness, complexity, edge cases, and implementation details in a realistic interview setting. A strong answer for Determine validity after digit-constrained deletions states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
Coding & AlgorithmsOnsite - GoogleMediumSoftware EngineerDetermine whether two nodes are related
This problem tests your ability to determine connectivity between two nodes in a directed graph, specifically modeling ancestry relationships.
Coding & AlgorithmsTechnical ScreenGraphsDFSBFS - GoogleHardSoftware EngineerDetermine winner in stack-merging game
This problem tests your ability to model a combinatorial game using the Sprague-Grundy theorem and memoization to determine the winner of a state-dependent stack-merging process.
Coding & AlgorithmsTechnical ScreenGame TheoryRecursionMemoization - GoogleEasySoftware EngineerDeterministic Task Execution Order
This question tests the ability to implement Kahn's algorithm for topological sorting while using a min-priority queue to satisfy specific tie-breaking requirements.
Coding & AlgorithmsOnsiteGraphsTopological SortPriority Queue - GoogleMediumSoftware EngineerEarliest Time of Full Connectivity
Determine the earliest timestamp at which all nodes in a network become part of a single connected component using a chronological sequence of edge additions.
Coding & AlgorithmsOnsitegraphunion-findsorting - GoogleMediumSoftware EngineerEvaluate a Lisp-Style Expression Language with let, add and mult Scoping
A Google coding problem asking you to evaluate a small Lisp-like expression language with integer literals, variables, and add, mult and let forms. It tests tokenizing and parsing nested expressions, lexical scoping in which inner bindings shadow outer ones, and sequential rebinding inside a let.
Coding & AlgorithmsOther - GoogleMediumSoftware EngineerExpand Recursive Key-Value Placeholders in a Template
Implement a template engine that recursively resolves variable placeholders using a key-value dictionary while handling circular dependencies, missing keys, and escaped characters.
Coding & AlgorithmsTechnical Screenstringgraphdfs - GoogleMediumSoftware EngineerFilter Repeated Robot Status Messages
Design an algorithm to rate-limit and deduplicate a stream of robot status messages so identical messages only display if strictly more than ten seconds have elapsed since their last displayed occurrence.
Coding & AlgorithmsTechnical ScreenHash TableDesignRate Limiting - GoogleMediumSoftware EngineerFind A Threshold-Limited Path With Minimum Required Safety
Find the minimum security clearance needed to travel between two nodes in a graph where edges exceeding a given latency threshold cannot be used.
Coding & AlgorithmsTechnical ScreenGraphDijkstraHeap - GoogleEasySoftware EngineerFind Common Free Time Slots Across Calendars
Tests your ability to process and merge multiple sets of time intervals to find mutually available time windows within a given working day.
Coding & AlgorithmsOnsiteintervalssortingsweep-line - GoogleMediumSoftware EngineerFind Containing Range
This problem tests your ability to optimize interval lookup operations by preprocessing data into an efficient search structure to handle containment queries in sub-linear time.
Coding & AlgorithmsTechnical ScreenIntervalsData StructuresBinary Search - GoogleHardSoftware EngineerFind Dictionary Matches for a Jammed String
This problem tests your ability to normalize input strings by grouping consecutive identical characters and efficiently searching a dictionary for potential word matches.
Coding & AlgorithmsTechnical ScreenStringsRun-Length EncodingPreprocessing - GoogleMediumSoftware EngineerFind Earliest Fully Connected Time
This problem tests your ability to efficiently track the connectivity of a graph as edges are added over time, requiring an understanding of Union-Find data structures and graph theory.
Coding & AlgorithmsOnsiteGraphDSUSorting - GoogleMediumSoftware EngineerFind Minimum Rooms Needed
Tests interval processing, sorting, and tracking concurrent overlapping ranges using heaps or two-pointer sweep-line techniques.
Coding & AlgorithmsTechnical Screenintervalssortingheap - GoogleMediumSoftware EngineerFind Paths Across a Weighted Binary Grid
Implement algorithms to analyze top-to-bottom paths in a blocked, cell-weighted grid: reachability check, deterministic path enumeration, and minimum-cost path finding with lexicographic tie-breaking.
Coding & AlgorithmsOnsiteGraphBFS/DFSDijkstra - GoogleMediumSoftware EngineerFind Shortest Queue with Few Calls
This problem tests your ability to optimize search operations across multiple data sources, focusing on minimizing high-latency API calls by using heuristic strategies and efficient state management.
Coding & AlgorithmsOnsiteAlgorithmsOptimizationHeuristics - GoogleMediumSoftware EngineerFind a Horizontal Cut That Bisects Rectangle Area
Tests computational geometry and algorithmic efficiency by finding a horizontal line that bisects the total area of non-overlapping rectangles using sweep-line or binary search techniques.
Coding & AlgorithmsTechnical Screengeometrysweep-linebinary-search - GoogleHardSoftware EngineerFind best-matching binary pattern with wildcards
This problem tests your ability to efficiently match a query string against a dictionary of patterns containing wildcards and determine the best match based on predefined precedence rules.
Coding & AlgorithmsOnsiteStringsPattern MatchingGreedy - GoogleMediumSoftware EngineerFind cheapest common ancestor in a tree
This problem tests your ability to navigate tree structures and perform post-order traversal to identify an ancestor node based on a custom aggregate criterion (the minimum value).
Coding & AlgorithmsOnsiteTreesRecursionLCA - GoogleHardSoftware EngineerFind conflicting pair using black-box run()
This problem tests your ability to optimize search operations within a hidden set of dependencies by minimizing calls to a costly black-box oracle.
Coding & AlgorithmsOnsiteBinary SearchQuery ComplexityAlgorithms - GoogleMediumSoftware EngineerFind horizontal cut balancing square areas
This question evaluates computational geometry and algorithm design skills, focusing on area computation, monotonicity reasoning, existence proofs, root-finding under floating-point constraints, and considerations of numerical stability and complexity.
Coding & AlgorithmsOnsite - GoogleEasySoftware EngineerFind k pairs with smallest sums
This question evaluates algorithmic problem-solving with ordered data structures, specifically understanding how to combine two sorted arrays efficiently, priority-queue or merge-based reasoning, and time/space complexity analysis in the coding and algorithms domain.
Coding & AlgorithmsTechnical Screen - GoogleEasySoftware EngineerFind largest digit-sharing subset
This question evaluates a candidate's ability to reason about digit-based frequency analysis and efficient counting on arrays, testing competencies in combinatorics and algorithmic optimization for grouping elements by shared features.
Coding & AlgorithmsOnline Assessment - GoogleEasySoftware EngineerFind largest group of two-digit numbers sharing digits
This question evaluates a candidate's ability to model pairwise relationships and compute connected components in small graphs, testing skills in graph connectivity and grouping based on shared attributes in arrays of two-digit numbers.
Coding & AlgorithmsOnline Assessment - GoogleMediumSoftware EngineerFind longest increasing contiguous subarray
This problem tests your ability to use a sliding window or linear scan approach to identify contiguous subarrays and your capacity to optimize for a single modification to extend an existing sequence.
Coding & AlgorithmsTechnical ScreenArraysSliding WindowGreedy - GoogleHardSoftware EngineerFind maximum value in huge text file
This question evaluates a candidate's ability to design memory-efficient streaming algorithms and parallel processing strategies for extremely large files, covering skills in external-memory algorithms, file I/O, concurrency, and correctness under resource constraints.
Coding & AlgorithmsTechnical Screen - GoogleMediumSoftware EngineerFind median of merged RLE arrays
This problem tests your ability to find the median of two sorted, run-length encoded arrays without fully decompressing them, focusing on efficiency and pointer manipulation.
Coding & AlgorithmsTechnical ScreenArraysTwo PointersRun-Length Encoding - GoogleMediumSoftware EngineerFind mode in a trinary search tree
This question evaluates a candidate's understanding of tree data structures and frequency analysis, focusing on handling a trinary search tree variant and determining mode values across possibly large datasets.
Coding & AlgorithmsTechnical Screen - GoogleHardSoftware EngineerFind numbers with exactly two sum-of-squares forms
This problem tests knowledge of the sum-of-two-squares theorem and efficient counting of integer partitions into two squares, requiring an understanding of number theory or optimization via circle/grid search.
Coding & AlgorithmsTechnical ScreenNumber TheoryBrute ForceOptimization