Apple · OA → Phone screen → Onsite
In process2015–2026 Apple SWE New Grad & Early-Career OA / Interviews: 42 Experiences (Part 1 :)
Coding appeared in 30 of these 42 experiences; project and résumé discussions appeared in 18.
Coverage: All 42 experiences in this three-part series, spanning 2015–2026 reports and interviews in the US, India, Taiwan, Ireland, and unspecified locations. They cover graduate SWE, Evolve, software-systems roles, and clearly labeled junior or early-career applicants, from OAs and phone screens to panels and manager interviews.
What came up
Seen in 2026: new and repeat questions
This section groups questions and disclosed topics with a 2026 interview, report, or Apple FastPrep history record. It includes older questions that appeared again; each row states the date basis.
Algorithms / Data Structures
| Question or disclosed topic | 2026 record |
|---|---|
| Producer-Consumer Queue | 2026-10-12 — FastPrep history only |
| Topological Ordering | 2026-10-12 — FastPrep history only |
| Count Islands in a Binary Grid | 2026-08-22 — FastPrep history only |
| Extract a Register Bit Field | 2026-06 interview; 2026-07-27 report (03) |
| Merge Two Sorted Linked Lists | 2026-06 interview; 2026-07-27 report (03) |
| Shortest-Path Distances with Dijkstra | 2026-05-09 report; the interview was in Oct 2025 (10) |
Low-Level Design (LLD/OOD)
| Question or disclosed topic | 2026 record |
|---|---|
| Shared-Memory Single-Writer Single-Reader Channel | 2026-06 interview; 2026-07-27 report (03) |
CS / Language Concepts
| Question or disclosed topic | 2026 record |
|---|---|
| Java BigDecimal and rounding settings | 2026-07 interview (02) |
| OS and concurrency: mutexes, semaphores, condition variables, deadlocks, virtual memory/page tables, cache coherence and memory barriers | 2026-06 interviews (03) |
| Interpret const/volatile pointer declarations in C | 2026-06 interview (03) |
| How does multithreading work? | 2026-02 interview (09) |
| How would you test the solution in production? | 2026 discussion (07); exact comment and interview dates unverified |
Assessment Discussion
| Question or disclosed topic | 2026 record |
|---|---|
| Describe the questions in your earlier OA | 2026-07 interview (02) |
“History only” confirms a 2026 Apple practice-history date; it does not establish the interview year or level for that sighting. The Dijkstra row is a 2026 report of a 2025 interview.
The 2026 accounts also mention unnamed coding, system-design, debugging and behavioral questions.
All 42 experiences, 2015–2026
The counts below cover the entire series. Coding and data structures led the reported topics, followed by project and résumé discussion. Some accounts described the process without disclosing specific questions.
| Topic | Reports |
|---|---|
| Coding / data structures | 30 of 42 |
| Project / résumé | 18 of 42 |
| Behavioral / motivation | 14 of 42 |
| OS / concurrency / architecture | 11 of 42 |
| C / C++ | 7 of 42 |
| LLD / system design | 6 of 42 |
| Language / API knowledge | 4 of 42 |
| Testing / debugging | 4 of 42 |
| SQL / databases | 3 of 42 |
Each experience counts once per topic and can appear in several rows.
Questions we found
Algorithms / Data Structures
| Question | Frequency | All last seen dates |
|---|---|---|
| Merge Intervals | 3 reports | Reports: 2021-03, 2020-11, Mar–Apr 2019; same-report stored date: 2021-03-10, 2020-11-30, 2019-03-31 |
| Coin Change II | 2 reports | Reports: 2025-08-14 (report date), 2019-04; same-report stored date: 2019-04-29 |
| 3Sum | 1 report | Reports: 2020-11; same-report stored date: 2020-11-30 |
| Check Identical Binary Trees | 1 report | Reports: 2021-04; same-report stored date: 2021-04-14 |
| Clone an Undirected Graph State | 1 report | Reports: 2021-03; same-report stored date: 2021-03-10 |
| Coin Change | 1 report | Reports: 2025-08-14 (report date) |
| Collect Letters Along a Unique Grid Path | 1 report | Reports: 2025-08-14 (report date) |
| Corresponding Node in a Cloned Tree | 1 report | Reports: 2021-11; same-report stored date: 2021-11-28 |
| Count Islands in a Binary Grid | 1 report | Reports: 2020-11; same-report stored date: 2020-11-30; additional FastPrep history: 2026-08-22 |
| Count Pairs Divisible by K | 1 report | Reports: 2019-04; same-report stored date: 2019-04-17 |
| Dijkstra-based shortest-path task | 1 report | Reports: 2025-10; same-report stored date: 2026-05-09 |
| Elements After the First Target | 1 report | Reports: May 2019; same-report stored date: 2019-05-30 |
| Extract a Register Bit Field | 1 report | Reports: 2026-06; same-report stored date: 2026-07-27 |
| First and Last Position in a Sorted Array | 1 report | Reports: 2019 GHC; same-report stored date: 2019-12-10 |
| Gas Station Circular Tour | 1 report | Reports: 2021-11; same-report stored date: 2021-11-16 |
| House Robber II | 1 report | Reports: 2021-11; same-report stored date: 2021-11-16 |
| Josephus Survivor | 1 report | Reports: 2019-01-22 (report date) |
| Longest Increasing Subsequence Length | 1 report | Reports: 2021-02-01 (report date) |
| Lowest Common Ancestor in a Binary Tree | 1 report | Reports: 2021-09-07; same-report stored date: 2021-10-17 |
| Maximum Later Difference | 1 report | Reports: 2021-02-01 (report date) |
| Maximum Weight in Two Bags | 1 report | Reports: 2025-08-14 (report date) |
| Merge Two Sorted Linked Lists | 1 report | Reports: 2026-06; same-report stored date: 2026-07-27 |
| Middle of a Linked List | 1 report | Reports: 2021-11; same-report stored date: 2021-11-28 |
| Nearest Palindromic Number | 1 report | Reports: 2019-04; same-report stored date: 2019-04-29 |
| Next Leaf in an Ordered Tree | 1 report | Reports: 2018-05; same-report stored date: 2018-05-17 |
| Print a Diamond Pattern | 1 report | Reports: 2025-09-03 (report date) |
| Producer-Consumer Queue | 1 report | Reports: 2019 phone interview; same-report stored date: 2019-12-10; additional FastPrep history: 2026-10-12 |
| Reverse a Linked List | 1 report | Reports: 2022-01-18 (report date) |
| Rotate Array by K | 1 report | Reports: 2024-10; same-report stored date: 2024-11-06 |
| Shortest Subarray with Sum at Least K | 1 report | Reports: 2019-04; same-report stored date: 2019-04-17 |
| String to Integer (atoi) | 1 report | Reports: 2015-10; same-report stored date: 2015-10-07 |
| Subarray Sum Equals K | 1 report | Reports: 2021-09-24; same-report stored date: 2021-10-17 |
| Topological Ordering | 1 report | Reports: Oct 2024–Oct 2025 interview period; additional FastPrep history: 2026-10-12 |
| Two Eggs: Minimum Worst-Case Drops | 1 report | Reports: 2021-11; same-report stored date: 2021-11-21 |
| Two Sum | 1 report | Reports: 2020-11; same-report stored date: 2020-11-30 |
Behavioral (BQ)
| Question | Frequency | All last seen dates |
|---|---|---|
| Introduce yourself | 2 reports | Reports: 2023-09, 2021-04 |
| What are your future or further-study plans? | 2 reports | Reports: 2021-11, 2020-11 |
| Why Apple? | 2 reports | Reports: 2023-09, 2021-11 |
| Describe your skills and plans after graduation | 1 report | Reports: 2024-11 |
| How did you handle a conflict in a project? | 1 report | Reports: 2021-04 |
| What did you learn during your internship? | 1 report | Reports: 2020-11 |
| What do you know about Apple? | 1 report | Reports: 2021-11 |
System Design
| Question | Frequency | All last seen dates |
|---|---|---|
| Design a Real-Time Category Leaderboard | 1 report | Reports: 2019-01-22 (report date) |
| Design a Recursive DNS Resolver | 1 report | Reports: 2019-01-22 (report date) |
| Design an ML Training and Deployment Platform | 1 report | Reports: 2021-09-28; same-report stored date: 2021-10-17 |
Low-Level Design (LLD/OOD)
| Question | Frequency | All last seen dates |
|---|---|---|
| Design a Priority and Arrival-Time Scheduler | 1 report | Reports: 2021-11; same-report stored date: 2021-11-28 |
| Design a Single-Branch Car Rental | 1 report | Reports: 2021-11; same-report stored date: 2021-11-21 |
| Shared-Memory Producer-Consumer Protocol | 1 report | Reports: 2026-06; same-report stored date: 2026-07-27 |
Database Concepts
| Question | Frequency | All last seen dates |
|---|---|---|
| How would your project’s database choice support scaling? | 1 report | Reports: 2021-11 |
| Is the given relation in BCNF? | 1 report | Reports: 2021-11 |
| What is database normalization? | 1 report | Reports: 2021-11 |
CS / Language Concepts
| Question | Frequency | All last seen dates |
|---|---|---|
| Explain deadlocks | 1 report | Reports: 2015-09 |
| How does a hash map work, and what is its complexity? | 1 report | Reports: 2015-09 |
| How does multithreading work? | 1 report | Reports: 2026-02 |
| How does static differ in C and C++? | 1 report | Reports: Oct 2024–Oct 2025 interview period |
| How would you test the solution in production? | 1 report | Reports: — (comment date unknown; thread opened 2026-03-01) |
| Interpret const/volatile pointer declarations in C | 1 report | Reports: 2026-06 |
| State the steps in system design and the software lifecycle | 1 report | Reports: 2021-11 |
| What happens when you enter a URL in a browser? | 1 report | Reports: 2019-01-22 (report date) |
| What is the difference between a thread and a process? | 1 report | Reports: 2015-09 |
| When do variables live on the heap, stack, in globals, or in code memory? | 1 report | Reports: 2025-09-03 (report date) |
| When would you choose SPI, I2C, or UART? | 1 report | Reports: 2025-09-03 (report date) |
Project / Résumé Discussion
| Question | Frequency | All last seen dates |
|---|---|---|
| Describe an iOS app you built and how you would improve it | 1 report | Reports: 2024-02 |
Assessment Discussion
| Question | Frequency | All last seen dates |
|---|---|---|
| Describe the questions in your earlier OA | 2 reports | Reports: 2026-07, 2021-11 |
Hardware Discussion
| Question | Frequency | All last seen dates |
|---|---|---|
| How would you check that a new prototype board works? | 1 report | Reports: 2025-09-03 (report date) |
Frequencies count each candidate once across all 42 experiences. Stored dates and additional FastPrep history do not add reports; source months stay broad where calendar-day displays differed.
Patterns across the reports
-
The language changed the experience. The 2015 Boston candidate in entry 41 was asked for C despite mainly using Java/Swift. The 2025 Taipei candidate in entry 10 recognized the algorithm but struggled to implement it in C. The 2022–2023 candidate in entry 26 met a team that did not welcome Python. These are specific team accounts, not a company-wide language rule.
-
Passing one screen did not settle the rest of the process. Entries 4 and 5 describe team matching after a technical pass. Entries 8 and 9 describe larger panels after screens, while entry 18 continued coding in management interviews. The number and purpose of the next conversations remained tied to the team.
-
A small coding task could lead into domain questions. The 2019 queue account in entry 36 continued into condition variables, mutexes, semaphores, and OS fundamentals. The 2026 Apple Silicon loop in entry 3 returned repeatedly to shared memory, coherence, and ordering around its coding tasks. Those two systems-oriented reports support this narrower pattern.
-
Campus reports included design, too. The 2019 IIT account in entry 39 included a regional game leaderboard and DNS. The 2021 SDE1 account in entry 30 included car-rental object design and a priority/arrival scheduler in its two write-ups. Their different tasks should stay separate rather than becoming one generic “Apple system-design question.”
Candidate experiences 01–05
01: A C coding screen with behavioral questions
Report: Aug 22, 2026 · Role: SWE New Grad
First interview
The candidate reported behavioral and technical questions alongside an easy LeetCode-style task in C. The exact coding problem was not named. Further team interviews and a hiring-manager conversation were described as the expected next steps; the report did not establish that those later rounds had happened.
02: An AIDP interview dominated by BigDecimal
Interview: Jul 2026 · Role: Early-Career SDE · Team: AIDP
Live technical interview
The candidate’s follow-up described roughly 45 minutes of questions about Java’s BigDecimal and rounding settings, plus one unnamed data-structure problem. After the code was written, the interviewer said it would not adapt well if the problem’s conditions changed. The candidate had implemented the conditions they had actually been given.
The interviewer also asked what the two earlier OA questions had been. The candidate explicitly reported no OOP, system-design, or résumé discussion in this call. This was an early-career role; the account did not establish zero experience.
03: Apple Silicon: five interviews on systems and memory
Interview: Jun 2026 · Role: Software Engineer, GPU IP Validation · Education: MS Computer Engineering, May 2026 · Result: Rejected
Hiring-manager screen
A recruiter contacted the candidate through LinkedIn in late May. The early-June screen lasted 45 minutes and focused on their background and C/C++ coding.
Late-June loop
Five engineers interviewed the candidate back to back on Webex, 45 minutes each, using CoderPad. A separate recruiter introduction lasted 30 minutes.
- Multithreading: mutexes, semaphores, condition variables, race conditions, and deadlock conditions.
- Operating systems: virtual memory, page tables, privilege modes, trap handling, and race conditions.
- A producer-consumer protocol using one shared DRAM page, followed by cache coherence, MESI, and memory barriers.
- Merge two sorted linked lists in C++, then return to the shared-memory protocol. The candidate struggled with the list problem and later clarified that it was the standard node-splicing task.
- A work-experience walkthrough, extracting bits from a register, and interpreting
const/volatilepointer declarations in C. The exact bit range was not disclosed.
There were no graphics-specific questions in this account. A covering recruiter eventually delivered a verbal rejection without technical feedback. The candidate’s recruiter said they could still apply to other Apple teams; that statement belonged to this application.
04: Passing the screen and waiting for a team
Interview period: May–Jun 2026 · Role: IS&T SWE New Grad · Location: US
Technical screen and team matching
The May-2026 graduate had passed the technical screen and entered team matching. Their recruiter said this application would be archived if a match was not found within two weeks. No coding prompt was disclosed. The timing in the follow-up was approximate, so the account supports a May–June window rather than an exact interview day.
05: An IS&T screen, team match, and an eventual offer
Interview period: Feb–Mar 2026 · Role: Early-Career SWE · Level: 2026 CS graduate, no work experience or internships · Result: Offer
Screen and team matching
The candidate first reported passing a technical screen and matching with a team. All interviews were online. The next scheduled conversations were a 45-minute hiring-manager interview, a 60-minute technical interview, and a 30-minute Early Career/ECH interview.
Later update
In a March offer update, the same candidate reported offers from Apple and IBM and said they chose Apple. Their projects included an AWS movie application and a live collaborative code editor. Examples they gave about expanding a movie library or scaling user data were hypothetical preparation examples, not disclosed Apple questions. The two posts describe one candidate’s application, not two independent interview experiences.
Comments
0No comments yet — be the first to share what you know.