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 EngineerSolve 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 EngineerReview 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 EngineerDesign 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 EngineerMax 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 EngineerWrite 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 EngineerDetect 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 EngineerImplement 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 EngineerDesign 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 EngineerConnect 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 EngineerImplement 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 EngineerDesign 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 EngineerHow 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 EngineerImplement 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 EngineerImplement 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 EngineerImplement 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 EngineerRobust 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 EngineerServe 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 EngineerExplain 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 EngineerCache 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 EngineerHighest 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 EngineerOverlapping 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 EngineerBuild 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 EngineerBuild 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 EngineerCode 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 EngineerCompute 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 EngineerDeduplicate 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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 EngineerDesign 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