Apple | Cryptography engineer | Jan 2021 [Offer]
Anonymous User
2609

Prior experiance: 10 years of experience in crypto, 7 years working in Silicon Valley (not FANG). I've been granted several applied cryptography patents.
Education BA in mathematics from an Ivy League university. I also withdrew without a degree from a math PHD program after realizing that I wasn't smart enough to get a top academic job.
Position: ICT4 at Apple
Location: Cupertino, CA
Date: January 2021

I received an unsolicited phone call from an Apple recruiter. He said that he found my number from an application I submitted to Apple 5 years ago and stated that the hiring manager had reviewed my LinkedIn profile and felt I was an ideal candidate.

First round interview was a phone screen with the hiring manager. The hiring manager asked some basic crypto and system design questions. (What is the difference between the Merkle - Damgård construction and the Sponge construction? What is the difference between PUT and POST?)

The first round was followed up with a take home exercise. The crux of the solution was to use a hashtable with a custom hash function that was invariant to changes in certain object properties.

Second round interview was four 45 minutes panels with two interviewers each.

Two rounds were easy to medium leetcode questions (eg Loop-in-linked list, Max square dynamic programming). There was usually a followup question about CS theory. (eg Show me a formal proof for your claimed Θ() time complexity? How would you apply Floyd – Hoare logic to prove the correctness of your algorithm?)

The third panel was product managers. The questions focussed on cultural fit. (How would you feel if you worked on a product that never launched? How would you handle restrictions on internally sharing a technical breakthrough?)

The fourth and final panel was with an SRE and cryptographer. The SRE asked a few softball questions (eg How can you list open TCP ports on Linux?). The cryptographer focused on theoretical cryptography. She first asked me to prove the correctness of the RSA algorithm. I stumbled with my answer. My proof relied on Fermat's little theorem, but I could only recall the identity and not the theorem's name. The cryptographer then asked my thoughts on several of several NIST post-quantum algorithm proposals.

After the final panel, I was asked if I was available for an extra round with the same hiring manager as the phone screen. I understand that Apple only does a final round if an offer is pending. The hiring manager spent his time selling me on the position.

I was somewhat surprised at how easy the coding questions were. I think the real purpose of the coding questions was to segue into theoretical CS. Perhaps Apple may have been impressed with my crypto background and refrained from asking more difficult coding questions. Maybe I was just lucky?

Comments (2)