Level: Senior-Level
Round: Onsite · Type: Multiple Types · Difficulty: 8/10 · Duration: 240 min · Interviewer: Unfriendly
Topics: Sorting, Decoding, JWT, Authentication, OOD, Heaps, Arrays, Behavioral Questions
Location: San Francisco Bay Area
Interview date: 2026-01-15
Got offer: False
My interview was for the MAI team. I had a phone screen followed by an onsite interview.
Phone Screen: The question was similar to LeetCode 287. I was required to achieve both O(1) space and time complexity. I proposed using bubble sort.
Onsite:
Round 1: I was given three custom functions by the interviewer:
await to read a streamI was asked to combine these to read a stream and return a list of objects. I had to constantly ask about the function's purpose and input. I didn't solve it. The interviewer restricted me to using C#.
I was also asked a behavioral question about a technical challenge.
Round 2: I was asked to write a function to decode a JWT token. I mentioned authentication, which the interviewer picked up on and asked me to write a function to decode a token. I manually implemented Base64 decoding while referring to a JWT documentation. It would have been better to ask if I could use libraries to speed up the process.
For the behavioral part, I was asked OOD questions and how authentication works in a browser. I don't work on authentication usually.
Round 3: I was asked to find the maximum number's frequency in an array.
Given an array nums and a query array query, for each query[i], find the frequency of the maximum number in nums[i:].
Example: nums = [7, 5, 7, 2, 7], query = [0, 1, 2, 3, 4]. The answer is [3, 2, 2, 1, 1].
I solved this using a heap from right to left.
I was also asked behavioral questions about teamwork and conflicts.
Round 4: The Hiring Manager round was cancelled.
LeetCode similar: LeetCode 287