Apple Software Engineer Interview Questions
Master your tech interview with our curated database of real questions from top companies.
Improve chip performance without process advances
Assume you are working on a digital chip, but the semiconductor process node and basic device technology are fixed: there is no new, faster process an...
Describe common RTL lint warnings and errors
You are writing RTL (e.g., Verilog/SystemVerilog) and run a lint tool on your code. The tool reports items such as: - "Treat as black box" - Combinati...
Explain use cases for clock synchronizers
Assume you are designing a digital system with multiple clock domains. The clocks have different frequencies and unknown phase relationships. You can ...
Describe your operations experience and impact
Operations Experience (Behavioral & Leadership — Technical Screen) Provide a concise but concrete overview of your production operations experience as...
Introduce yourself and align with team focus
Behavioral Prompt: Self-Introduction and Recent Projects You are in a technical screen for a Software Engineer role on a team working on diffusion mod...
Implement DFS for connected components
Given an undirected graph with n nodes (1 ≤ n ≤ 200, 000) and an edge list, implement depth-first search to compute (a) the number of connected compon...
Migrate a monolithic wallet to microservices
System Design: Migrating a Monolithic Digital Wallet (Apple Cash–like) to Microservices Context You operate a high-scale consumer digital wallet and p...
Implement rotation, LRU cache, streaming median, cycle detection
Complete the following coding tasks. For each, provide code, justify time/space complexity, and describe edge cases: 1) Image rotation: Given an n×n i...
Design and scale a Yelp-like platform
System Design: Yelp-like Local-Business Reviews Platform + URL Shortener You are designing two systems: 1) A Yelp-like local-business reviews platform...
Sort and merge string lists by length
Given two unsorted lists of strings, return a single list sorted by ascending string length. Specify your tie-breaking rule for equal-length strings (...
Compute minimum required meeting rooms
Given a list of meeting time intervals [start, end) for many events, determine the minimum number of rooms required so no meetings overlap in the same...
Implement deep clone for complex objects
Implement a deep-clone function for nested objects in JavaScript (or a language of your choice) without using JSON serialization or third-party librar...
Design card deck with shuffle and order
Design a playing-card deck library with two methods: shuffle() to return a uniformly random permutation of a standard 52-card deck, and order() to ret...
Refactor rock–paper–scissors for config and ties
Refactor an existing Rock–Paper–Scissors tournament with three robot players so that the number of rounds is configurable and the system also tracks t...
Implement multi-head self-attention correctly
Implement Multi-Head Self-Attention (from scratch) Context You are given an input tensor X with shape (batch_size, seq_len, d_model). Implement a mult...
Find top-k frequent elements efficiently
Given an array (or stream) of integers and an integer k, return any ordering of the k most frequent values. Implement a solution using a heap and disc...
Design video platform and catalog system
System Design: Two Independent Systems You are asked to design two large-scale systems. For each system, provide: - Scope and key requirements - Exter...
Discuss feedback, AI work, learning, and motivation
Behavioral & Leadership Interview — Software Engineer (Onsite) Instructions Answer concisely with specific examples, your actions, and measurable outc...
Implement a robust socket message reader
Implement Message Framing Readers for TCP Sockets Context You are given a TCP socket. Each call to recv(k) may return any number of bytes up to k; in ...
Design a rolling five-minute hit counter
Design an in-memory hit counter that supports: ( 1) recordHit(timestamp) to log an event, and ( 2) getCountLast5Minutes(now) to return the number of e...