About me:
1 YOE
4 months of iOS Experience
Education: No name canadian university. Bachelor's in Electrical Engineering. No background in computer science.
How I got the interview:
Recruiter Reached out to me. Scheduled phone interview a month in advance (I had only solved ~25 leetcode problems to date)
Technical Phone Screen:
Asked questions on basic iOS fundamentals, like "What's a retain cycle", "What is ARC", "What are strong + weak pointers".
Asked 2 leetcode questions:
https://leetcode.com/problems/sqrtx/
https://leetcode.com/problems/maximum-subarray/
fumbled on them, but ended up getting invited to the onsite (somehow)
Onsite (Which was today, the day of writing).
I originally scheduled my onsite a month out. Made up some BS excuse to push back an additional 2 weeks.
At that point, I went from solving 25 leetcode problems to approximately 150 or so.
Here's how the onsite worked.
Round 1: System Design
To be honest, I have no idea how this round went. It was all over the place but I knew the answers to all the questions they asked when they wanted me to expand. I'd rate this round 6/10.
Round 2: Data Structures and Algorithms
Here, I got absolutely roasted. They asked All O One Data Structure.
https://leetcode.com/problems/all-oone-data-structure/
This problem is insane, I kind of knew how to do it (figured out at the 45 minute mark you needed to use a hashmap to store the frequencies and use a DLL to remove max and min keys), but not really. The interviewer also was not helpful providing hints. One of the interviewers straight up almost took a nap during the 45 minutes.
I asked my recruiter and the panel what to expect before the interview, and they said not to expect leetcode design problems, and the problems being leetcode medium/easy-hard ish problems so I skipped over this.
The interviewers sucked frankly, but what can you do.
Note: DO NOT TRUST YOUR RECRUITER ON WHAT TO STUDY
My rating: 1/10.
Round 3: Host Manager Round
Just a casual conversation with your potential manager. I'm quite a good storyteller so I did fine this round. Combined with the fact that I knew the onsite was over (and I wouldn't be getting an offer), all the anxiety went away and I just had a nice, casual conversation with the engineering manager. 7.5/10
Round 4: "Culture" Round
Another behavioural round. Nothing much to mention 7.5/10.
Round 5: Mobile Coding Round
Asked to build a small app. Conceptually, wasn't too bad. However, my brain (and throat) were fried at this point and although I eventually got it, we had like 5 minutes left, so I couldn't implement the entire thing, only some aspects of the app.
4/10 round
Overall, if I was a better candidate (I would consider myself mediocre at best, I don't know how I passed the phone screen), I'd probably had a fighting chance to pass. I would be surprised to get an offer at this point. I'm just waiting for that rejection email at this point ;___;
I'm sure you can do better, learn from my mistakes. Now I have a year to prepare for the next one at least.
***My takeaways from this: ***
***1. Solve top problems on Leetcode rated high. Some have said that the questions they got were further down, in my case, it was all wasted time. I tried to solve every question, but you only have so much time when you work 9-5, even if you study from 5AM-8PM on the weekends like I did.
2. Do not listen to your recruiter on the problems asked. She/He knows nothing
UPDATE: Recruiter called back within 2 days. It wad indeed a rejection.