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 361–390 of 2336 results
- AppleHardSoftware EngineerExplain How TLS Secures a Connection: Handshake, Certificates and Keys
Explain in detail how TLS establishes a secure connection and protects the data that follows: the handshake messages and round trips, certificate chain validation, ephemeral key exchange and key derivation, record encryption, forward secrecy, and how TLS 1.3 differs from TLS 1.2.
Software Engineering FundamentalsOnsite - AppleHardSoftware EngineerExplain thermal and signal fundamentals
This question tests the ability to bridge hardware constraints with firmware design, covering thermal management, signal integrity, communication protocol trade-offs, and data interpretation.
Software Engineering FundamentalsOnsiteEmbedded SystemsHardware FundamentalsSignal Integrity - AppleMediumSoftware EngineerFind All Tree Nodes at Distance K
This problem tests tree traversal, graph representation (converting a tree to an undirected graph), and breadth-first search (BFS) to find nodes at a specific distance.
Coding & AlgorithmsOnsiteTreesGraphsBFS - AppleMediumSoftware EngineerFind the K Closest Pairs in a Sorted Array
Implement an algorithm to find the k pairs of elements with the smallest absolute difference in a strictly increasing sorted array.
Coding & AlgorithmsOnsiteHeapTwo PointersSorted Array - AppleMediumSoftware EngineerGive a Specific Motivation for Joining a Team
This question assesses the candidate's ability to articulate a clear, personal, and well-researched motivation for joining a specific engineering team, moving beyond generic company enthusiasm.
Behavioral & LeadershipOnsiteBehavioralCommunicationTeam-Fit - AppleMediumSoftware EngineerImplement a FIFO Queue Using Two Stacks
This problem tests the ability to adapt data structure behaviors by implementing a First-In-First-Out (FIFO) queue using only Last-In-First-Out (LIFO) stacks.
Coding & AlgorithmsOnsiteData StructuresStacksQueues - AppleMediumSoftware EngineerImplement a Five-Minute Hit Counter
This problem tests your ability to design a high-throughput, time-series data structure that balances memory usage with query performance.
Software Engineering FundamentalsOnsiteData StructuresConcurrencyTime-Series - AppleHardSoftware EngineerImplement a Mutual-Exclusion Lock Without Built-In Locks
Implement a mutual-exclusion lock without any built-in lock, mutex or semaphore, relying only on atomic operations. Tests atomic read-modify-write, memory ordering, spinning versus sleeping waiters, fairness, reentrancy, and software-only mutual exclusion when atomic instructions are unavailable.
Software Engineering FundamentalsOnsite - AppleHardSoftware EngineerImplement a Reusable Cyclic Barrier from a Mutex and Condition Variables
Implement a reusable cyclic barrier from a mutex and condition variables, where a fixed number of threads block until all have arrived and are then released together. Tests round tracking for safe reuse, spurious wakeups, timeout and broken-barrier semantics, an atomics-only variant and concurrency testing.
Software Engineering FundamentalsOnsite - 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 - AppleMediumSoftware EngineerImplement rotation, LRU cache, streaming median, cycle detection
This question evaluates understanding of array/matrix manipulation, cache and data structure design, streaming algorithms for median maintenance, and graph theory for cycle detection, with emphasis on algorithmic complexity analysis and handling of edge cases.
Coding & AlgorithmsOnsite - 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 EngineerObject-Oriented Design: Hotel Room Booking System
Tests object-oriented domain modeling, interval-overlap availability logic, and concurrency control strategies to prevent double bookings in a hotel reservation system.
System DesignOnsiteObject-Oriented DesignConcurrencyDatabase Design - 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 EngineerProject Deep Dive: End-to-End Walkthrough, Trade-offs and Communicating Decisions
A behavioral deep dive on your own work rather than generic situational questions. You walk through a project end to end, then defend the trade-offs you made and the alternatives you rejected, explain how you communicated technical decisions to others, and reflect on what you would change.
Behavioral & LeadershipOnsite - 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 EngineerRefactor rock–paper–scissors for config and ties
This question evaluates a candidate's proficiency in object-oriented design, configuration injection, extensibility, state tracking (including ties), and testability when refactoring a Rock–Paper–Scissors tournament to support configurable rounds.
Coding & AlgorithmsOnsite - AppleMediumSoftware EngineerRevisit a Technical Decision That Turned Out Wrong
This question assesses your self-awareness, integrity, and growth mindset by exploring how you handle professional mistakes and integrate those lessons into your engineering philosophy.
Behavioral & LeadershipOnsiteBehavioralLeadershipConflict Resolution - AppleHardSoftware EngineerSmallest Valid Task Order from Dependency Pairs (Topological Sort)
Given a number of tasks and dependency pairs, return the lexicographically smallest order that completes every task while respecting all dependencies, or an empty list when a cycle makes that impossible. Tests topological sorting, cycle detection and deterministic tie-breaking on large dependency graphs.
Coding & AlgorithmsOnsite - AppleMediumSoftware EngineerSolve linked list, grid BFS, and median queries
This problem tests your ability to manipulate linked list pointers in-place, perform a multi-source Breadth-First Search on a grid, and maintain a sorted structure to retrieve medians efficiently.
Coding & AlgorithmsOnsiteLinked ListBFSHeaps - 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 - AppleMediumSoftware EngineerVertical Order Traversal of a Binary Tree
This problem tests your ability to map tree nodes to a 2D coordinate system and group them based on their horizontal distance from the root, followed by specific sorting criteria.
Coding & AlgorithmsOnsiteBinary TreeHash TableSorting - AppleMediumSoftware EngineerWalk Through Your Hardest Debugging Investigation
This question assesses your systematic problem-solving process, technical depth, and ability to learn from high-pressure production incidents.
Behavioral & LeadershipOnsiteBehavioralDebuggingProduction - AppleMediumSoftware EngineerWork Productively with Someone Who Disagrees
This question assesses a candidate's ability to navigate professional conflict by prioritizing team objectives over personal ego and maintaining effective working relationships.
Behavioral & LeadershipOnsiteCommunicationConflict ResolutionCollaboration - 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 IntuitionMediumSoftware EngineerCompress vertices into uniques and indices
This question tests the ability to efficiently identify unique elements in a sequence while maintaining their original relative order, mapping them to integer indices to compress a large dataset.
Coding & AlgorithmsOnsiteHashingData StructuresOptimization - Applied IntuitionHardSoftware EngineerDesign a job scheduler
This question evaluates competency in designing scalable, durable distributed job schedulers, covering multi-tenant architecture, queuing and metadata persistence, execution semantics, idempotency, retries/dead-lettering, failure handling, and observability.
System DesignOnsite