Katkat

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 391–420 of 1026 results

  • Epic SystemsHardSoftware Engineer
    Solve Timed Logical and Quantitative Reasoning Cases

    Implement a deduction engine that evaluates whether target query statements are definitely true, definitely false, or cannot be determined, given a set of observed facts and unidirectional logical implications.

    Software Engineering FundamentalsOnline AssessmentGraph AlgorithmsLogic DeductionBFS/DFS
  • EquinixMediumSoftware Engineer
    Review AI Platform And Software Fundamentals

    This problem tests foundational knowledge in software architecture, AI system design, and data structures by requiring the candidate to explain the trade-offs in building a RAG-based document retrieval system.

    Software Engineering FundamentalsTechnical ScreenRAGSystem DesignSOLID
  • FaireMediumSoftware Engineer
    Design an API for Pascal Triangle

    This question evaluates API design, HTTP/web-service principles, data modeling, input validation, error handling, and system constraint reasoning when specifying endpoints, request parameters, response schemas, and practical limits.

    Software Engineering FundamentalsTechnical Screen
  • FaireMediumSoftware Engineer
    Max inherited discount and discount-source audit in a category DAG

    A two-part coding problem on an e-commerce category hierarchy shaped as a DAG, where a product's applied discount is the largest discount on its category or any ancestor. The follow-up asks for an audit of which discounted categories appear in the ancestry of each bottom-level category, testing traversal order, deduplication and shared work.

    Software Engineering FundamentalsOnsite
  • FidelityMediumSoftware Engineer
    Write good tests and define integration tests

    Write good tests and define integration tests evaluates engineering fundamentals, trade-offs, examples, pitfalls, and operational implications in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Software Engineering FundamentalsOnline Assessment
  • FireworksMediumSoftware Engineer
    Detect Security Attacks in Text Logs Using Sliding-Window Rules

    Write a program that scans large text-format network logs and reports security attacks defined by rules, such as one source IP contacting more than 10 distinct destination IPs within 10 minutes. It tests parsing, per-source sliding-window state, optimizing a slow first version, and designing targeted test cases.

    Software Engineering FundamentalsTechnical Screen
  • FivetranEasySoftware Engineer
    Implement a SQL Engine's Storage Layer: Create Database, Schema, Table and Row CRUD

    Implement the final storage layer of a SQL engine: create databases, schemas, and tables, then insert, select, update, and delete rows with every change persisted to disk. It tests on-disk layout and catalog design, row identity, crash safety and durability, and the trade-offs between log-based and page-based designs.

    Software Engineering FundamentalsTechnical Screen
  • Fora TravelMediumSoftware Engineer
    Design Course, Module, and Lesson Progress APIs

    Tests your ability to design RESTful APIs and underlying data access patterns for a hierarchical learning management domain (Course -> Module -> Lesson) with authenticated user scoping, idempotent completion updates, and derived completion metrics.

    Software Engineering FundamentalsTechnical Screenapi-designdata-modelingauthentication
  • GeneralmotorsMediumSoftware Engineer
    Connect Monitoring, Circuit Breakers, Rollback, and CI/CD

    Tests your ability to architect an end-to-end reliability workflow combining resilient dependency handling, actionable telemetry, and safe continuous deployment with automated rollbacks.

    Software Engineering FundamentalsTechnical ScreenSystem DesignCI/CDReliability
  • GeneralmotorsMediumSoftware Engineer
    Implement a REST GET Endpoint and Evolve Its Contract Safely

    Tests understanding of RESTful API design principles, HTTP semantics, robust error handling, and strategies for backwards-compatible contract evolution.

    Software Engineering FundamentalsTechnical ScreenAPI DesignRESTSystem Design
  • GleanMediumSoftware Engineer
    Design a Test Strategy for a System That Counts the Leaves on a Large Tree

    An open-ended testing scenario: design a test strategy for a system that counts the leaves on a large tree. Tests clarifying an ambiguous system, finding a test oracle, functional and boundary cases, scale and robustness testing, and setting release criteria for counts that may be estimates.

    Software Engineering FundamentalsOnsite
  • GleanMediumSoftware Engineer
    How Would You Test a System That Counts the Leaves on a Tree?

    This problem evaluates your ability to design a comprehensive testing strategy for an ambiguous, real-world system where an exact 'ground truth' is difficult to obtain.

    Software Engineering FundamentalsTechnical ScreenSoftware TestingQA StrategyComputer Vision
  • GleanMediumSoftware Engineer
    Implement 2048 Board Tilts in Four Directions with Merging and Game-Over Detection

    Implement the move logic of the 2048 sliding-tile game on a 4x4 board: slide and merge tiles for left, right, up and down swipes so each tile merges at most once, then decide when no swipe can change the board. Tests edge-case precision, code reuse across directions and a correct game-over rule.

    Software Engineering FundamentalsOnsite
  • GleanMediumSoftware Engineer
    Implement 2048-Style Tile Slides and Merges for All Four Board Directions

    A software engineer phone-screen coding exercise: implement the slide-and-merge move of a 2048-style tile board, first to the left with working tests, then for all four directions. It tests careful array manipulation, the single-merge rule, and the trade-off between rotating the board and remapping row and column indices.

    Software Engineering FundamentalsTechnical Screen
  • GleanMediumSoftware Engineer
    Implement a Byte-Pair Encoding Tokenizer: Threshold Training, Encode and Decode

    Implement a byte-pair encoding tokenizer with train, encode and decode, where training repeatedly merges the most frequent adjacent token pair whose count reaches a threshold, breaking ties lexicographically. Tests precise reading of the merge rules, round-trip correctness and the complexity of training on long text.

    Software Engineering FundamentalsOnsite
  • GleanMediumSoftware Engineer
    Robust Selenium Code to Extract Text from Two Elements

    This problem tests your ability to write robust browser automation code using Selenium, focusing on handling dynamic content, timing issues, and basic error handling.

    Software Engineering FundamentalsTechnical ScreenSeleniumTest AutomationPython
  • GleanMediumSoftware Engineer
    Serve Top-k Prefix Suggestions Filtered by Department Within a Tight Memory Budget

    Return the top k suggestions whose ngram starts with a query and whose department matches the user, from a static list that already fills half of the server's memory. Tests prefix indexing, top-k extraction without scanning all matches, and explicit memory accounting against latency.

    Software Engineering FundamentalsOnsite
  • GofundmeEasySoftware Engineer
    Explain React and Firebase data interaction

    This question tests your understanding of data synchronization patterns between a React frontend and Firebase, specifically focusing on the trade-offs between real-time listeners and manual data fetching.

    Software Engineering FundamentalsTechnical ScreenReactFirebaseFrontend
  • Goldman SachsEasySoftware Engineer
    Cache Trade-offs and a Constant-Time Least-Recently-Used Cache

    Tests understanding of caching trade-offs (latency, freshness, memory overhead) and the implementation of a fixed-capacity Least Recently Used (LRU) cache supporting constant-time operations.

    Software Engineering FundamentalsOnsitelru-cachehash-tabledoubly-linked-list
  • Goldman SachsMediumSoftware Engineer
    Highest Average Student Score: Out-of-Memory Input, Overflow and Thread Safety in Java

    Compute the highest average score among students from name and score records, then extend the code for data larger than memory, negative scores, integer overflow and multithreaded processing. The question also covers what atomic operations are in Java and how synchronized differs from ReentrantLock.

    Software Engineering FundamentalsOnsite
  • Goldman SachsMediumSoftware Engineer
    Overlapping Meetings and Minimum Rooms: No Sweep Line, No Library Sort, Streams, Logs

    Starting from a list of meeting time intervals, decide whether one person can attend them all, then find the minimum number of rooms without a sweep line, order the meetings without a library sort, handle a stream of meetings, and explain how a Kafka-style append-only log broker works. It tests heaps, sorting, streaming and log storage.

    Software Engineering FundamentalsOnsite
  • GoogleMediumSoftware Engineer
    Build a ChatOps Command Dispatcher That Matches Named Arguments

    Implement a command dispatcher for a chat ops bot that resolves slash-separated commands with named arguments to a registered handler. Tests trie-based matching, precedence between literal and parameter segments, and handling of ambiguous or dead-end routes.

    Software Engineering FundamentalsTechnical Screentriedata-structuresapi-design
  • GoogleMediumSoftware Engineer
    Build a Custom CompletableFuture: Async Primitive and Parallel Array Processing

    Implement a thread-safe asynchronous promise/future primitive with chaining and an aggregate fan-in barrier (`all_of`) for parallel processing.

    Software Engineering FundamentalsTechnical Screenconcurrencymultithreadingdesign-pattern
  • GoogleMediumSoftware Engineer
    Code Review of a Go Token Bucket Rate Limiter Used as HTTP Middleware

    A code review exercise built around a token bucket rate limiter written in Go and used as HTTP middleware. It tests finding the defects that matter in a production web service, deciding what blocks a merge, writing actionable review comments, and proposing a corrected limiter with tests that control time instead of sleeping.

    Software Engineering FundamentalsOnsite
  • GoogleMediumSoftware Engineer
    Compute Entity Size and Validate a Hierarchical File System

    Implement methods to compute the recursive byte size of an entity in a hierarchical file system and validate the structural integrity of the file system graph.

    Software Engineering FundamentalsOnsiteGraphTreeDFS/BFS
  • GoogleMediumSoftware Engineer
    Deduplicate and Order Batch and Streaming Logs

    Design both a batch algorithm and a streaming processor to deduplicate and chronologically order log records under different resolution policies, accounting for out-of-order delivery, late data, and bounded memory.

    Software Engineering FundamentalsOnsiteStreamingDeduplicationData Structures
  • GoogleMediumSoftware Engineer
    Design Extensible Spreadsheet Aggregation APIs

    Design reusable spreadsheet sum, minimum, and maximum APIs with operator state, shared cell evaluation, error policies, and extensible aggregation.

    Software Engineering FundamentalsOther
  • GoogleMediumSoftware Engineer
    Design Interval Membership Queries with Linear, Logarithmic, and Constant-Time Options

    Design interval membership with linear scans, predecessor binary search, or bounded-universe direct addressing, comparing insertion, memory, adjacency, inclusive boundaries, overflow safety, and workload fit.

    Software Engineering FundamentalsTechnical Screen
  • GoogleMediumSoftware Engineer
    Design a Bookshelf with Book CRUD and a Stable Bookmark

    Tests object-oriented design, separation of entity identity from physical layout, reference integrity during deletions, and optimistic concurrency for content updates.

    Software Engineering FundamentalsOnsiteObject-Oriented DesignData StructuresConcurrency
  • GoogleMediumSoftware Engineer
    Design a Dormitory Room-Assignment System (OOD)

    This question evaluates object-oriented design skills by requiring a class decomposition of a room-assignment system, testing entity modeling, responsibility separation, and capacity-safe data structures. It is commonly used in software engineering interviews to assess practical OOD fluency and the ability to handle edge cases like demand exceeding supply.

    Software Engineering FundamentalsOnsite