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 121–150 of 1026 results
- AppleMediumSoftware EngineerDesign a deck of cards with shuffle/draw
This question evaluates object-oriented design skills, understanding of randomness and probability in algorithms, and analysis of time/space complexity for data structures and operations.
Software Engineering FundamentalsTechnical Screen - AppleMediumSoftware EngineerExplain HashMap Resizing Without Long Pauses
This question evaluates understanding of hash map internals—how keys are mapped to buckets, collision resolution strategies, and when and why resizing occurs—testing competence in data structures and performance engineering within the Software Engineering Fundamentals domain.
Software Engineering FundamentalsTechnical Screen - 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 - AppleMediumSoftware EngineerExplain Runnable vs Callable and thread-safe Singleton
This question tests the conceptual differences between Java concurrency interfaces and the practical implementation of thread-safe creational design patterns.
Software Engineering FundamentalsTechnical ScreenJavaConcurrencyDesign Patterns - AppleMediumSoftware EngineerExplain SystemVerilog verification concepts and write constraints
This question evaluates proficiency with SystemVerilog verification concepts — including concurrency primitives, constrained-random modeling, assertions, OOP features, synchronization primitives, and testbench architecture — and tests the ability to specify non-overlapping/randomized constraints and reason about solve-order and sampling semantics; it is commonly asked because interviewers seek assurance that a candidate can build correct constrained-random testbenches and diagnose simulation or coverage issues. Category/domain: Software Engineering Fundamentals with a focus on hardware design verification; level of abstraction: language-level implementation details and testbench architecture/behavioral verification concerns.
Software Engineering FundamentalsTechnical Screen - AppleMediumSoftware EngineerExplain key React concepts and error handling
This question assesses a candidate's deep understanding of the React ecosystem, covering reconciliation, hook lifecycles, and robust error management strategies.
Software Engineering FundamentalsTechnical ScreenReactFrontendError-Handling - 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 EngineerExplain use cases for clock synchronizers
This question evaluates understanding of clock domain crossing and digital system design competencies, focusing on metastability, synchronization techniques (such as flip-flop synchronizers, edge detection, asynchronous FIFOs, and request/acknowledge handshakes) and the trade-offs among reliability, latency, throughput, and area.
Software Engineering FundamentalsTechnical Screen - AppleMediumSoftware EngineerGive a Kubernetes Pod a Token to Call an External Service Securely
Decide how a Kubernetes pod should obtain a token for calling an external service. Tests knowledge of Secrets delivered as volumes or environment variables, RBAC and encryption at rest, external secret managers, workload identity with projected service account tokens, and rotating the token without downtime.
Software Engineering FundamentalsTechnical Screen - AppleMediumSoftware EngineerHow to debug a Python loop-condition bug
This question evaluates debugging skills and understanding of loop termination and control-flow correctness in Python, emphasizing practical familiarity with debugging tools and techniques for isolating faulty loop conditions.
Software Engineering FundamentalsTechnical Screen - AppleMediumSoftware EngineerHow to root-cause Wi‑Fi chip stops after 30 minutes
This question evaluates troubleshooting and diagnostic skills for embedded wireless systems, focusing on firmware behavior, testbed instrumentation, and measurement analysis.
Software Engineering FundamentalsTechnical Screen - AppleMediumSoftware EngineerImplement a Consistent Hashing Ring From Scratch
Implement a consistent hashing ring that maps string keys to server nodes with add, remove and lookup operations. Tests sorted-position lookup with wrap-around, deterministic hashing across processes, virtual nodes for load balance, operation complexity and how few keys move when membership changes.
Software Engineering FundamentalsTechnical Screen - 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 EngineerImprove chip performance without process advances
This question evaluates understanding of digital architecture, microarchitecture, and logic‑level techniques for improving chip performance without process advances, along with competence in performance/power/area (PPA) trade‑off analysis and arithmetic block design.
Software Engineering FundamentalsTechnical Screen - 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 - AppleHardSoftware EngineerMake tree iterators safe under concurrency
This question tests the ability to design a thread-safe iterator for a binary search tree (BST) that remains consistent even if the underlying tree structure is modified during iteration.
Software Engineering FundamentalsTechnical ScreenConcurrencyTreesIterators - 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 - AppleEasySoftware EngineerParse and Summarize HTTP Access Logs
Parse a strict HTTP access-log format and summarize valid requests, client errors, server errors, invalid lines, and failure percentage. The prompt tests full-field validation, precise metric denominators, status boundaries, streaming aggregation, and privacy-safe diagnostics.
Software Engineering FundamentalsTechnical Screen - 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 EngineerReturn the First Successful Result from Parallel API Calls Under a Global Timeout
Implement a function that runs several slow, failure-prone backend API calls concurrently and returns the first successful result within a single overall timeout. It tests concurrency primitives, deadline handling, reporting when every call fails, and cleaning up calls that are still in flight, using threads, futures, or async code.
Software Engineering FundamentalsTechnical Screen - AppleEasySoftware EngineerStore Open-Hours Query: Weekdays, Split Shifts and Overnight Windows in Java
A progressive Java coding exercise that asks whether a store is open at a given time as its schedule grows from one daily window to selected weekdays, several windows per day, and overnight windows that cross midnight and wrap from Sunday to Monday. It tests time modeling, boundary handling, and keeping evolving code readable.
Software Engineering FundamentalsTechnical Screen - AppleMediumSoftware EngineerTime-to-Live Token Manager With Renewal and a Heavy Concurrent Read/Write Follow-up
Implement a token manager in which each token expires a fixed time-to-live after it is generated or renewed, renewals extend only unexpired tokens, and a query counts live tokens. The follow-up asks how to keep it correct and fast under heavy concurrent reads and writes.
Software Engineering FundamentalsTechnical Screen - AppleMediumSoftware EngineerTroubleshoot a Failing Kubernetes Pod: Where to Start and What to Check
Explain how to troubleshoot a Kubernetes pod that has a problem, starting from its status, container states and events. Tests mapping Pending, ImagePullBackOff, CrashLoopBackOff, OOMKilled and not-Ready states to likely causes, using logs, debug containers and node checks, and separating mitigation from root cause.
Software Engineering FundamentalsTechnical Screen - 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 - AppleEasySoftware EngineerWrite a Usage Example for a Resource-Owning C++ Class and Explain Its Semantics
A C++ internship screen exercise: read an unfamiliar class that owns a heap array and write an example program showing callers how to use it correctly. It tests code comprehension and C++ fundamentals such as RAII, deleted copy operations, move semantics, noexcept, explicit constructors and const-correctness.
Software Engineering FundamentalsTechnical Screen