Apple Software Engineer Interview Questions
Practice the exact questions companies are asking right now.
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 ...
Solve interval, grid-fill, and heap tasks
You are asked to solve the following algorithmic problems. Problem 1: Concurrent users from online intervals You are given n inclusive time intervals ...
How would you handle an unresponsive teammate?
Scenario You are working on a project with a hard deadline. A teammate who owns a critical task has become unresponsive (misses standups, does not rep...
Solve three easy algorithm problems
You are given three independent algorithmic tasks. For each one, explain your approach (no need to run code). 1) Merge two sorted lists (integers inst...
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 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...
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 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...
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...
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...
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...
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...
Discuss feedback, AI work, learning, and motivation
Behavioral & Leadership Interview — Software Engineer (Onsite) Instructions Answer concisely with specific examples, your actions, and measurable outc...
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...
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 ...
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 (...
Describe your operations experience and impact
Operations Experience (Behavioral & Leadership — Technical Screen) Provide a concise but concrete overview of your production operations experience as...
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...