Katkat

Topic

Software Engineering Fundamentals interview questions

1208 Software Engineering Fundamentals questions from 253 companies, with hints, runnable code and solution walkthroughs.

Questions1208

123 easy887 medium198 hard

Your progress0/1208

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

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 FundamentalsOnsite
  • This 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 FundamentalsOnsite
  • Build 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 FundamentalsOnsite
  • Design a data structure that preprocesses an array in linear time to answer duplicate-within-distance-k queries in constant time.

    GoogleSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • This 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 FundamentalsOnsite
  • This 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 Screen
  • Given 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 Screen
  • Find 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 Screen
  • Answer 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 FundamentalsOnsite
  • This problem tests your understanding of iterator protocols, generator patterns, and memory-efficient data buffering for multi-consumer streams.

    GoogleSoftware EngineerSoftware Engineering FundamentalsTechnical Screen
  • Implement 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 FundamentalsOnsite
  • Implement 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 Screen
  • This 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 FundamentalsOnsite
  • Implement 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 Screen
  • Combine 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 Screen
  • Merge 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 Screen
  • This 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 FundamentalsOnsite
  • A 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 Screen
  • This problem tests the understanding of interval arithmetic properties and algorithmic implementation of selection logic in the presence of tied boundary indices.

    GoogleSoftware EngineerSoftware Engineering FundamentalsOnsite
  • Implement 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 FundamentalsOnsite
  • Find 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 FundamentalsOnsite
  • Design 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 Screen
  • Implement 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 Screen
  • This 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 Screen
  • Design 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 FundamentalsOnsite
  • This 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 Assessment
  • This 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 FundamentalsOnsite
  • Design 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 Screen
  • This 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 FundamentalsOnsite
  • Design 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

More topics