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 61–90 of 448 results
- AppleHardSoftware EngineerImplement a Thread-Safe Bounded Blocking Queue for Producers and Consumers
Implement a thread-safe bounded blocking queue shared by multiple producer and consumer threads, built from a mutex and condition variables instead of a library concurrent queue. Tests wait and wakeup logic, spurious wakeups, FIFO ordering, shutdown handling and the OS mechanisms beneath blocking synchronization.
Software Engineering FundamentalsOnsite - AppleHardSoftware EngineerImplement a Thread-Safe Event Tracker Over a Sliding Time Window
Implement a thread-safe in-memory event tracker that records events and reports the events and their count within a sliding time window. Tests time-ordered storage with amortized eviction, window boundary semantics, lock scope and clock choice, out-of-order events, and memory under high event rates.
Software Engineering FundamentalsOnsite - AppleMediumAccessories Software QA EngineerImprove QA Benchmarks, Regression Tests, and HPC Resource Use
Explain functional regression testing, reproducible performance benchmarks, and how to reduce shared HPC resource use without weakening test coverage.
Software Engineering FundamentalsOnsite - AppleMediumSoftware EngineerLRU Cache with Fewer Recency Writes and Concurrent Access
Implement a fixed-capacity least-recently-used cache with constant-time get and put, then discuss two follow-ups: cutting the shared-state writes that every read causes when it updates recency, and making the cache safe and fast under concurrent access, including how eviction order changes.
Software Engineering FundamentalsOnsite - AppleMediumSoftware EngineerOptimize QA Benchmarks and Shared HPC Usage
Optimize QA benchmark turnaround and shared HPC usage by profiling execution, controlling resources, and separating runtime savings from faster reporting.
Software Engineering FundamentalsOnsite - AppleMediumSoftware EngineerPin Down a Vague HTML Parser Prompt, Build the Element Tree, and Query It with DFS
A coding exercise in which the HTML parser prompt is deliberately vague, so the candidate must first pin down input, output and edge cases with concrete examples. It tests building a tree from nested markup in one pass, handling void and malformed tags, and answering a query with a depth-first traversal.
Software Engineering FundamentalsOnsite - AppleMediumSoftware EngineerReduce False Failures and Classify QA Outcomes
Reduce regression false failures with reviewed acceptance rules, then classify causes and severity without confusing test categories with observed outcomes.
Software Engineering FundamentalsOnsite - AppleMediumSoftware EngineerValidate and Assess Performance Benchmarks
Assess QA benchmark validity using comparable baselines, measurement variation, practical impact, and clear ownership of regression thresholds and known issues.
Software Engineering FundamentalsOnsite - Applied IntuitionMediumSoftware EngineerBuild an Ingestion Service and Timestamp-Indexed Query API for MCAP Driving Logs
A hands-on build exercise over recorded vehicle drive logs stored in MCAP, with Protobuf-encoded camera and location messages. The candidate ingests the runs, designs storage and a time index, exposes APIs to list runs and query messages by timestamp, then demos the result and explains how they worked with an AI coding assistant.
Software Engineering FundamentalsOnsite - Applied IntuitionMediumSoftware EngineerBuild and present a minimal vehicle log playback app from S3 data in two hours
Given two hours, an AI coding assistant and an S3 bucket of unfamiliar vehicle log data, build a minimal 3D log playback app and then present it in 30 minutes. The exercise tests data exploration, tight scoping, verifying AI-generated code, and explaining trade-offs and future work clearly.
Software Engineering FundamentalsOnsite - Applied IntuitionEasySoftware EngineerDesign a mini compiler/interpreter
This question evaluates understanding of language design and implementation skills, including lexical analysis, parsing into an AST, expression evaluation with operator precedence and unary operators, variable assignment semantics, and runtime error reporting.
Software Engineering FundamentalsOnsite - ArmMediumBackend EngineerExplain timing and testability concepts
This question evaluates a candidate's understanding of digital timing and testability concepts—specifically setup and hold timing, clock skew impacts, mitigation of setup/hold violations, and test methodologies such as scan, DFT and MBIST—within backend digital implementation contexts.
Software Engineering FundamentalsOnsite - AsanaMediumSoftware EngineerDesign a 2048 Game
This question evaluates object-oriented design, state management, deterministic randomness handling, and algorithmic reasoning for implementing game rules on a configurable N x N grid.
Software Engineering FundamentalsOnsite - AsanaMediumSoftware EngineerDesign a Layered ASCII Canvas Command Processor
Design a clean, object-oriented command processor for a fixed 10x6 ASCII canvas that supports drawing, layering, and rendering overlapping filled rectangles.
Software Engineering FundamentalsOnsiteObject-Oriented DesignData StructuresSoftware Architecture - AsanaMediumSoftware EngineerFind frequent IPs from a huge file
This question evaluates a candidate's competency in large-scale data processing and algorithm design, focusing on memory- and disk-constrained frequency estimation, streaming and approximation concepts.
Software Engineering FundamentalsOnsite - AsanaMediumSoftware EngineerModel a Turn-Based Cats and Rabbits Board Game
Design the object model, game state invariants, and move-validation engine for an asymmetric turn-based grid game played on a 7x7 board.
Software Engineering FundamentalsOnsiteobject-oriented-designgame-designstate-machine - AtlassianMediumSoftware EngineerDesign a CI/CD release notification service
This problem evaluates your ability to design a flexible, object-oriented notification service that handles varying event triggers and subscriber preferences in a release pipeline.
Software Engineering FundamentalsOnsiteSystem DesignDesign PatternsCI/CD - AtlassianMediumSoftware EngineerEvaluate Architecture and Capacity Trade-offs
This problem tests your ability to design a document storage and processing system, specifically focusing on capacity estimation, deduplication strategies, and security considerations.
Software Engineering FundamentalsOnsiteSystem DesignCapacity PlanningSecurity - AttentiveMediumSoftware EngineerEvaluate a Lisp-Style Prefix Expression Language With ADD, MULT and LET Variables
Implement an evaluator for a small Lisp-style prefix language with ADD and MULT, then extend it with LET variable bindings. It tests recursive parsing of nested expressions, settling ambiguous language rules before coding, and choosing a data structure for nested variable scopes.
Software Engineering FundamentalsOnsite - BalyasnyHardSoftware EngineerDesign a C++ Variant with Safe Object Lifetimes
This problem tests your understanding of manual memory management, template metaprogramming, and the type safety requirements necessary to implement a discriminated union (variant) in C++.
Software Engineering FundamentalsOnsiteC++TemplatesMemory Management - BasetenMediumSoftware EngineerOne-pass S-expression parser with nested lists and precise error handling
Implement a single-pass parser for simplified S-expressions in three stages: atoms, a parenthesized list, and arbitrarily nested lists, without splitting the input. The exercise centers on error handling: detecting invalid characters, malformed numbers, unclosed or unexpected parentheses and trailing input, and stopping with a precise error position.
Software Engineering FundamentalsOnsite - BasetenMediumSoftware EngineerXOR-based random number generator used to encrypt and decrypt a tree document
A two-part coding exercise: implement a pseudo-random number generator built from bit shifts and XOR, then use it as a keystream to encrypt and decrypt a tree-structured document so the original tree is restored exactly. It tests fixed-width bit manipulation, seeding, unambiguous serialization, and awareness of the security limits of hand-made ciphers.
Software Engineering FundamentalsOnsite - BrexMediumSoftware EngineerBuild a Simplified Venmo-Style Peer-to-Peer Payments App with AI Tools
An AI-assisted coding round prompt: build a simplified Venmo-style peer-to-peer payments app with users, balances, payments and transaction history, using any AI coding tool. It tests scoping a vague prompt, exact money handling, atomic and idempotent payments under concurrency, and the ability to review and explain generated code.
Software Engineering FundamentalsOnsite - ByteDanceHardSoftware EngineerAdd TTL to an LRU cache
This question evaluates a candidate's understanding of cache design, LRU eviction policies, time-to-live (TTL) semantics, appropriate data structures, time complexity reasoning, and concurrency control.
Software Engineering FundamentalsOnsite - ByteDanceEasySoftware EngineerDebug and Extend a Priority-Aware Python Thread Pool
This question tests your understanding of thread-safe synchronization primitives, priority queues, and robust resource management in a multi-threaded Python environment.
Software Engineering FundamentalsOnsiteConcurrencyMultithreadingData Structures - ByteDanceEasySoftware EngineerPrepare for an SRE Systems Fundamentals Round
This question tests your understanding of Linux process management, memory utilization, and the practical troubleshooting steps required to handle a production service experiencing memory exhaustion.
Software Engineering FundamentalsOnsiteLinuxSREMemory Management - Capital OneMediumSoftware EngineerAnalyze and Debug Virtual-Card Payment Rules
Implement and debug a rule-validation engine for virtual card authorization that accurately parses currency strings into integer cents and evaluates spending boundaries and merchant restrictions.
Software Engineering FundamentalsOnsitePythonData ParsingBoundary Conditions - Capital OneMediumSoftware EngineerBurner Card Numbers: Trade-offs, Hand Checks and a Buggy Validator
A three-part fintech case: weigh the trade-offs of disposable card numbers, check sample numbers by hand against format, Luhn and issuer-range rules, then find three bugs in a filter that rejects valid numbers and accepts invalid ones.
Software Engineering FundamentalsOnsitedebuggingluhnproduct-sense - Capital OneMediumSoftware EngineerDesign a Banking Component with Transfers and Activity Rankings
Design an in-memory banking service supporting account creation, deposits, atomic transfers, and activity rankings driven by a string-based command interface.
Software Engineering FundamentalsOnsiteDesignHash TableSorting - Capital OneEasyMachine Learning EngineerHow would you improve card-type detection?
This question tests your ability to design a modular and maintainable classification system that identifies credit card networks (e.g., Visa, Mastercard) based on raw input data while considering validation and error handling.
Software Engineering FundamentalsOnsiteData ValidationString ManipulationSystem Design