practice a little every day, paws crossed ♡
Software Engineering Fundamentals 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 811–840 of 1208 results
- OpenAIMediumMachine Learning EngineerModel Infection, Immunity, Delayed Death, and Burn Interventions on a Grid
Design and implement a discrete grid simulation modeling a five-stage disease progression with state countdowns, immunity, delayed mortality, and external burn interventions.
Software Engineering FundamentalsTechnical Screensimulationmatrixstate-machine - 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 - OptiverMediumSoftware EngineerOptiver Beat The Odds: Five Rapid-Fire Probability Brainteasers (Dice, Cards, Coins, Pigeonhole)
This collection of rapid-fire probability brainteasers evaluates probabilistic reasoning, combinatorics, symmetry-based thinking, conditional probability, and fast mental arithmetic to gauge quantitative intuition under time pressure.
Software Engineering FundamentalsOnline Assessment - OptiverMediumData ScientistProve a Tight Lower Bound on a Latin Square's Lower-Triangle Sum
This question evaluates combinatorial reasoning and discrete optimization skills—specifically understanding permutations in Latin squares, triangular-sum inequalities, and construction of extremal examples—within the Software Engineering Fundamentals domain for a Data Scientist position, and it primarily probes conceptual understanding with a constructive application component. Such problems are commonly asked to assess the ability to derive global bounds from local constraints and to exhibit matching constructions, signaling mathematical maturity and facility with combinatorial identities.
Software Engineering FundamentalsTechnical Screen - OptiverHardSoftware EngineerReviewing a Freight-Scheduler Codebase: Bugs, Data Structures, and Concurrency
This question evaluates a candidate's ability to perform code review and debugging on a large codebase, testing understanding of data structures, algorithmic complexity, deterministic allocation policies, capacity accounting, and concurrency correctness.
Software Engineering FundamentalsTechnical Screen - OracleMediumSoftware EngineerApply operations efficiently using Command pattern
This problem tests the application of the Command design pattern to encapsulate, track, and optimize a series of state mutations on a shared object.
Software Engineering FundamentalsOnsiteDesign PatternsOOPCommand Pattern - OracleMediumSoftware EngineerExplain Java String Storage and Construction Choices
Tests deep understanding of Java string memory representation, the string constant pool, immutability, and construction performance trade-offs.
Software Engineering FundamentalsOnsiteJavaJVMMemory Management - OracleMediumSoftware EngineerExplain a Team-Owned System Architecture
This question tests your ability to articulate the high-level architecture of a complex system you have worked on, focusing on data consistency, system scalability, and the rationale behind specific design choices.
Software Engineering FundamentalsOnsiteSystem DesignArchitectureReliability - OracleMediumSoftware EngineerExtend and optimize an existing CLI tool
This problem tests your ability to refactor legacy CLI code, implement modular features, and optimize performance for large-scale data processing.
Software Engineering FundamentalsOnsiteRefactoringCLIPerformance - OracleEasySoftware EngineerImplement a Key-Value Cache with Fixed TTL, Renewal and a Live-Entry Count
Implement an in-memory key-value cache whose entries expire a fixed time-to-live after their last write, with put, get, renew and a count of live entries, and write your own tests for it. It tests expiry boundary semantics, renewal rules, efficient cleanup of expired entries and test design.
Software Engineering FundamentalsOnsite - OracleEasySoftware EngineerImplement a Paginated Medical-Record Filter Without Guessing an Ambiguous Rule
This problem tests your ability to handle ambiguous business logic through requirement clarification and implement a robust, paginated filtering system for sensitive data.
Software Engineering FundamentalsTechnical ScreenPaginationRequirementsData-Validation