Topic
Software Engineering Fundamentals interview questions
1208 Software Engineering Fundamentals questions from 253 companies, with hints, runnable code and solution walkthroughs.
123 easy887 medium198 hard
Software Engineering Fundamentals interview questions by the numbers
Last updated
Katkat has 1,208 Software Engineering Fundamentals interview questions from 253 companies; the most come from OpenAI (5%), Stripe (4%) and Amazon (3%). By difficulty: 10% easy, 73% medium and 16% hard. The most common round is Technical Screen (52%). Frequent concepts include Data Structures, Concurrency, System Design and Algorithms.
Companies (253)
Difficulty
- Easy10% · 123
- Medium73% · 887
- Hard16% · 198
Interview rounds
- Technical Screen52% · 625
- Onsite37% · 448
- Online Assessment8% · 96
- HR Screen2% · 28
- Other1% · 11
Roles
- Software Engineer85% · 1026
- Frontend Engineer4% · 51
- Machine Learning Engineer2% · 30
- Backend Engineer2% · 25
- Data Scientist1% · 17
Frequent concepts
- Data Structures8% · 97
- Concurrency8% · 96
- System Design8% · 93
- Algorithms3% · 42
- API Design3% · 42
- Object-Oriented Design3% · 35
Most mentioned in interview experiences
- 1.Plant Infection Grid Simulation: Days to Stabilize, Immune Plants, Expiring Immunity5 reports
- 2.Bootstrap Service: Aggregate Downstream Services and Return the Right HTTP Status4 reports
- 3.Crawl an HTTP-served maze to its exit with 503 retries, dead ends and cycles4 reports
- 4.Find the Exit of an HTTP URL Maze Despite Flaky 503s and Bad JSON4 reports
- 5.In-Memory Workspace Credit System With Transfers, Top-K and Scheduled Transfers4 reports
- 6.Virtual Card Case Study: Trade-offs, Card Number Rule Checks, and Debugging a Filter4 reports
- 7.Virtual Card Numbers Case: Trade-offs, Payment Validation Rules, Debugging4 reports
- 8.Workspace Credit Ledger: Transfers, Top-K, Scheduled Transfers, Merges, Balance History4 reports
- 9.Build a UVM testbench: driver, monitor, scoreboard and coverage-driven closure3 reports
- 10.Debug a Layered Book Search Service Against Five Search Rules3 reports
Counted from 425 candidate interview experiences on Katkat. How we collect and count
Showing 481–510 of 1208 results
This question tests the ability to design a retrieval system using a priority queue and the implementation of efficient operations to maintain a sorted collection of ad candidates.
GoogleSoftware EngineerSoftware Engineering FundamentalsOnsiteThis question evaluates understanding of mutable ordered sequence data structures, marker semantics and invariants, API and data model design, and algorithmic time-complexity trade-offs for insert, delete, and move operations.
GoogleSoftware EngineerSoftware Engineering FundamentalsOnsiteBuild a router for a telemetry message bus that maps dot-separated topics to registered subscription patterns with named placeholders and a trailing multi-segment wildcard; tests trie design, precedence rules and backtracking.
GoogleSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign a data structure that preprocesses an array in linear time to answer duplicate-within-distance-k queries in constant time.
GoogleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates a candidate's competency in service reliability and observability, specifically understanding and distinguishing SLIs, SLOs, and SLAs, planning error budgets, and designing monitoring and alerting for a production web API.
GoogleSoftware EngineerSoftware Engineering FundamentalsOnsiteThis question evaluates a candidate's understanding of process creation and execution, shell command resolution, kernel and VFS filesystem interactions, and how directory entries and file metadata are retrieved; category/domain: Software Engineering Fundamentals.
GoogleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenGiven a satellite image as a grid of land and water cells and a starting cell, traverse the island containing that cell with breadth-first search, then extend the solution to count lakes, bodies of water completely enclosed by land. It tests grid traversal, precise problem definitions, connectivity rules and linear-time flood fill.
GoogleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenFind the ten most frequent normalized IP addresses with cutoff ties preserved, first in memory and then exactly through disk partitioning, per-partition aggregation, global thresholding, and skew handling.
GoogleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenAnswer the coding interview follow-up "what if the input is huge?" Covers memory checks, streaming, chunking, external sort, approximate structures, distributed processing, and engineering tradeoffs.
GoogleSoftware EngineerSoftware Engineering FundamentalsOnsiteThis problem tests your understanding of iterator protocols, generator patterns, and memory-efficient data buffering for multi-consumer streams.
GoogleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement a URL router that registers path patterns with placeholder segments such as {userId} and returns the registered pattern that matches a concrete request path. It tests choosing a segment-level data structure, defining precedence between literal and placeholder matches, and analyzing registration and lookup complexity.
GoogleSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement an HTTP router that registers handlers for path patterns, some with named parameters and some without, and looks up the handler and parameter values for a request path. It tests data structure choice, precedence between fixed and parameterized segments, conflict handling and lookup complexity.
GoogleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests your ability to perform in-place 2D matrix transformations and your conceptual understanding of how linear algebraic properties like eigenvalues describe matrix behavior.
GoogleSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement quicksort and a binary search tree from scratch and explain how each works internally, including partitioning, pivot choice, insertion, search and deletion. Tests correctness invariants, best, average and worst-case complexity, duplicate and sorted inputs, alternative approaches, and how library implementations differ.
GoogleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenCombine a default configuration tree with an environment overlay where each path can pick a merge strategy such as deep, override, preserve, concat, union, or keyed list matching, and new strategies plug in without touching the traversal. Tests simultaneous tree recursion, registry-based extensibility, ordering rules and type-conflict handling.
GoogleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenMerge two configuration trees parsed from YAML files, where each node can follow its own merge rule, such as recursive merging, replacing, keeping, appending lists, or matching list items by a key field. Tests recursive traversal of two trees, an extensible way to apply many rules, and careful handling of ordering, one-sided keys and type conflicts.
GoogleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests your ability to design a robust data pipeline for processing sharded, potentially out-of-order login logs from a distributed system.
GoogleSoftware EngineerSoftware Engineering FundamentalsOnsiteA resume deep dive from a software engineering intern screen: explain a Kafka streaming architecture and Redis caching from past backend work, then defend choosing Go for a distributed edge API gateway and explain how its latency was managed. Tests ownership, trade-off reasoning and failure handling.
GoogleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem tests the understanding of interval arithmetic properties and algorithmic implementation of selection logic in the presence of tied boundary indices.
GoogleSoftware EngineerSoftware Engineering FundamentalsOnsiteImplement a resolver that registers CDN asset path templates containing placeholder segments and, given a concrete request path, returns the matching template's handler along with the captured placeholder values.
GoogleSoftware EngineerSoftware Engineering FundamentalsOnsiteFind the smallest distance between occurrences of two given words in a list, then build a class over the word list that answers repeated distance queries and checks whether two words are anagrams. It tests linear-time scanning, precomputation for repeated queries, and correct letter-count comparison.
GoogleSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign a class that records undirected messages between users and returns the user who has talked with the most distinct people, then make that query constant time and add a top-K query whose k changes on every call. It tests deduplication with hash sets, space analysis of per-user sets, and incremental ranking structures.
GoogleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenImplement a request router that registers path templates with {variable} and {*catch-all} segments and resolves a concrete path to its handler and captured values. Tests trie design, literal-over-variable precedence with backtracking, conflict detection, and lookup complexity.
GoogleSoftware EngineerSoftware Engineering FundamentalsTechnical ScreenThis problem evaluates your ability to implement a thread-safe rate limiter using the token bucket algorithm and design a lightweight, in-memory publisher-subscriber system.
GrammarlySoftware EngineerSoftware Engineering FundamentalsTechnical ScreenDesign a modular, versioned tax policy engine that evaluates payroll taxes across different tax years and filing statuses using progressive and flat-rate strategies with deterministic precision.
GustoSoftware EngineerSoftware Engineering FundamentalsOnsiteThis problem tests your ability to identify and rectify common React anti-patterns, including state mutations, improper side-effect handling, and accessibility failures in a data-driven application.
HackerRankSoftware EngineerSoftware Engineering FundamentalsOnline AssessmentThis problem tests your ability to model dependency constraints in a directed graph and implement an efficient algorithm to validate that a given execution sequence satisfies all structural and ordering requirements.
HadrianSoftware EngineerSoftware Engineering FundamentalsOnsiteDesign and implement a virtualized React spreadsheet component supporting editable cells, formula evaluation with string concatenation, cycle detection, and targeted re-rendering.
HarveyFrontend EngineerSoftware Engineering FundamentalsTechnical ScreenThis question evaluates proficiency in technical decision-making, trade-off analysis, and system design ownership for backend projects, including architecture rationale, technology selection, and the candidate's specific role and measurable impact.
HarveyBackend EngineerSoftware Engineering FundamentalsOnsiteDesign and implement a robust file duplicate finder that handles filesystem cycles, minimizes disk I/O using multi-stage filtering, and avoids loading entire large files into memory.
HarveySoftware EngineerSoftware Engineering FundamentalsTechnical Screen