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 691–720 of 1026 results
- OpenAIHardSoftware EngineerImplement a Set with Readable Snapshots
Design and implement a versioned set data structure that supports membership modifications, instant snapshotting, and historical point-in-time queries efficiently.
Software Engineering FundamentalsOnsiteData StructuresDesignBinary Search - OpenAIMediumSoftware EngineerImplement a Simple Memory Allocator
This question evaluates low-level memory management and allocator design skills, including block header layout, free-list/data-structure choices, pointer arithmetic, fragmentation concepts, and analysis of time/space complexity.
Software Engineering FundamentalsOnsite - OpenAIMediumSoftware EngineerImplement a fault-tolerant work queue that never loses tasks when workers fail
Implement an in-process work queue that never loses a task when the worker holding it crashes, stalls or reports an error. It tests task state tracking, detecting silent workers, rejecting late reports from workers that lost a task, bounded retries for tasks that always fail, thread safety, and deterministic tests built on an injected clock.
Software Engineering FundamentalsTechnical Screen - OpenAIMediumSoftware EngineerImplement an Extensible Chatbot App
This question evaluates a candidate's ability to design extensible object-oriented systems, covering interface-based architecture, dependency injection, per-conversation state management, and decoupled dispatch logic.
Software Engineering FundamentalsTechnical Screen - OpenAIHardSoftware EngineerImplement malloc and free over Fixed Memory, Then Make Both Logarithmic
Implement malloc and free for a fixed range of memory in Python, first with a simple list of blocks and then with logarithmic-time operations backed by a third-party sorted container. It tests block splitting and merging, choosing ordered indexes for allocation and neighbor lookup, and keeping parallel structures consistent.
Software Engineering FundamentalsTechnical Screen - OpenAIHardSoftware EngineerIn-Memory Key-Value Store with Crash Recovery from a Log and Concurrent Access
Implement an in-memory key-value store, make it recover from a log file after a crash, including a half-written final record, and make it correct and fast under many concurrent threads. It tests write-ahead logging, crash consistency, compaction, and lock design with group commit.
Software Engineering FundamentalsOnsite - OpenAIHardSoftware EngineerIndexed Vector as a Linked List with Checkpoints Every k Nodes
Implement an indexed dynamic sequence of strings, in the sense of an array list, that supports inserting at a position and reading by position. Starting from a plain singly linked list, build a linked list with a checkpoint every k nodes so reads cost O(k), and keep the checkpoints correct as insertions shift positions.
Software Engineering FundamentalsOnsite - OpenAIHardSoftware EngineerKey-Value Store Persistence: Length-Prefixed Bytes, Size-Capped Chunks, Thread Safety
A three-part key-value store exercise: serialize keys, values and their lengths into bytes and persist them on shutdown, split the saved data into chunks of a given maximum size, and discuss making the existing code safe for multithreaded use. It tests byte-level encoding, correct restore and concurrency reasoning.
Software Engineering FundamentalsTechnical Screen - OpenAIHardSoftware EngineerLab Robot Job Dispatcher with Backoff, Quarantine and Prereqs
Implement an in-memory job dispatcher where failed jobs wait out a per-job backoff, keep their original queue position, and get quarantined after repeated failures, then add prerequisite jobs with cascading quarantine. Tests state modeling, dual-heap scheduling, and online topological ordering.
Software Engineering FundamentalsTechnical Screenheapschedulingstate-machine - OpenAIMediumSoftware EngineerLease-Based Job Queue for Flaky Render Workers
Build an in-process job queue that hands out time-limited leases. A job is never lost when a worker crashes, hangs or fails, and jobs that always fail are dead-lettered after a retry limit. Tests state machines, fencing tokens, thread safety and clock-injected tests.
Software Engineering FundamentalsTechnical Screenconcurrencyqueuesfault-tolerance - OpenAIHardSoftware EngineerModel particle hits on a screen
This question evaluates geometric reasoning and probability theory skills, specifically transformation of random variables and derivation of CDF/PDF from angular sampling, together with practical competence in Monte Carlo simulation and interpretation of numerical and visualization artifacts; domain: Software Engineering Fundamentals.
Software Engineering FundamentalsOnsite - OpenAIHardSoftware EngineerPlant Infection Grid Simulation: Days to Stabilize, Immune Plants, Expiring Immunity
A progressive grid simulation: infection spreads daily between adjacent plants, and you compute how many days the garden takes to stabilize, then add permanently immune plants and immunity that expires after a countdown. It tests multi-source breadth-first search, Dijkstra-style waiting times and precise day counting.
Software Engineering FundamentalsOnsite - OpenAIHardSoftware EngineerPrint Shop Job Queue: Retries, a Poison Queue and Job Prerequisites
Implement an in-memory job queue for a print shop where workers reserve, complete, or fail jobs, failed jobs retry up to a limit before landing in a poison queue, and a second part adds job prerequisites with cascading failure.
Software Engineering FundamentalsTechnical Screenqueuesstate-machinesretries - OpenAIMediumSoftware EngineerReactive Budget Notebook With Live Formulas and Cycle Rejection
Build a small reactive calculator where named variables hold integers or formulas that reference other variables, values stay correct as inputs change, and any definition that would create a circular dependency is rejected. Tests graph modeling, cache invalidation, cycle detection, and writing tests live.
Software Engineering FundamentalsOnsitedependency-graphcycle-detectioncaching - OpenAIHardSoftware EngineerReason About Binary Search with One-Call-Delayed Feedback
Implement and analyze binary search under a 1-step delayed-feedback protocol where each query response evaluates the previous guess.
Software Engineering FundamentalsTechnical Screenbinary-searchinteractivealgorithms - OpenAIMediumSoftware EngineerRefactor a Chatbot into Clean Object-Oriented Components
Tests object-oriented design and refactoring skills by decoupling a monolithic chatbot script into modular, testable, and extensible components adhering to SOLID principles.
Software Engineering FundamentalsTechnical ScreenObject-Oriented DesignRefactoringDesign Patterns - OpenAIMediumSoftware EngineerSerialize and Restore an In-Memory Key-Value Store
Design and implement a deterministic binary serializer and strict deserializer for a string key-value store, ensuring robust input validation against corruption, truncation, duplicate keys, and trailing data.
Software Engineering FundamentalsTechnical Screenbinary-serializationsystemsdata-encoding - OpenAIMediumSoftware EngineerSliding-Window Chat Analytics: Recent Counts, Live Sessions, Out-of-Order Events
A three-part coding exercise: build an in-memory chat analytics service that counts each chat's interactions in a closed 15-minute sliding window, tracks each user's live sessions from touch and close events, and stays correct when events arrive out of order. It tests bounded-memory eviction, efficient updates and queries, and exact window and ordering semantics.
Software Engineering FundamentalsOnsite - OpenAIMediumSoftware EngineerSliding-Window Forklift Telemetry: Pings, Shifts, Late Events
Build an in-memory telemetry service that counts a forklift's recent pings in a 15-minute window, tracks which forklifts are currently on an active shift, and stays correct when pings arrive late and out of order. Tests bounded-memory eviction and exact window semantics.
Software Engineering FundamentalsOnsitesliding-windowstreamingdata-structures - OpenAIMediumSoftware EngineerSocial Graph with Follow/Unfollow, Snapshots, History Queries and Recommendations
A software engineer phone-screen coding problem: build an in-memory social graph that supports follow and unfollow, point-in-time snapshots, queries of who followed whom as of an earlier snapshot, and recommendations of users to follow. It tests data-structure choice, versioned history, and deterministic ranking.
Software Engineering FundamentalsTechnical Screen - OpenAIMediumSoftware EngineerSpreadsheet engine with setCell/getCell, cell references, and cycle detection
Build a small spreadsheet engine with setCell and getCell, where formulas reference other cells and a write that would create a circular dependency must be detected. The exercise also asks for live unit tests, probing data modeling, dependency graphs, cache invalidation and test design.
Software Engineering FundamentalsOnsite - OpenAIHardSoftware EngineerText Editor in Four Stages: Buffer, Undo/Redo, Trie Autocomplete, Collaborative OT
Build a text editor in four stages: a buffer with insert, delete and read, undo and redo with two stacks, trie-based autocomplete ranked by word frequency, and real-time collaborative editing with operational transformation. It tests data structure choice, reversible operations, top-k retrieval and concurrency correctness.
Software Engineering FundamentalsOnsite - OpenAIMediumSoftware EngineerThree-Card Game: Deal Hands, Rank Them, Then Add a Flush Category
A two-part card game coding exercise: deal three cards to each player from one deck, show every hand and pick the winner using three of a kind, pair and high card, then add a flush category between them. It tests hand representation, within-category comparison, tie handling and code that extends cleanly when a rule changes.
Software Engineering FundamentalsTechnical Screen - OpenAIHardSoftware EngineerToy Language Types: Render Types and Signatures, Infer Generic Return Types
Model the types of a toy programming language, with primitives, generic type variables and nested tuples, render types and function signatures as strings, then infer a call's concrete return type by binding generics consistently across arguments. It tests recursive data modeling, exact formatting and type inference with clear errors.
Software Engineering FundamentalsOnsite - OpenAIHardSoftware EngineerWildfire Grid: Days Until Quiet with Expiring Firebreaks
Simulate a wildfire spreading through a forest grid to find how many days until it stops spreading, then extend the model with fire-resistant trees and firebreaks that only hold for a limited number of days before the protected tree becomes flammable.
Software Engineering FundamentalsOnsitebfsgraphssimulation - OpenAIMediumSoftware EngineereSIM Data Wallet with Expiring Bundles and Late Usage Records
Implement a prepaid data wallet where usage draws from the soonest-expiring bundle first and records arrive out of timestamp order, then add checkpointing so balance queries do not replay the full history. Tests event-sourced thinking, heap-based priority consumption, and cache invalidation.
Software Engineering FundamentalsOnsiteheapevent-sourcingout-of-order - OptiverMediumSoftware EngineerDesign a Multi-Level Expiring Item Store
Design an in-memory multi-level key-value store where items are stored at specific priority levels with individual expiration timestamps, supporting query fallback and expiration cleanup.
Software Engineering FundamentalsOnline AssessmentData StructuresDesignHash Table - OptiverHardSoftware EngineerDesign a News Subscription Processing Engine
Design and implement an in-memory news subscription processing engine that supports attribute-based filtering, deduplication, unsubscription, and unacknowledged delivery tracking.
Software Engineering FundamentalsOnline AssessmentLow-Level DesignPub-SubConcurrency - OptiverMediumSoftware EngineerDesign an object-oriented queue and compare implementations
Design an object-oriented queue and compare implementations 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 FundamentalsTechnical Screen - OptiverHardSoftware EngineerImplement Expiration-Aware Retrieval Across Storage Levels
Design and implement a multi-level storage system that purges expired items, filters for under-utilized storage tiers, and deterministically retrieves the highest-weight item.
Software Engineering FundamentalsHR ScreenData StructuresDesignHeap