Richard Zhao

New Grad Job Search 2: Electric Boogaloo

TL;DR It's a lot harder this year.

Last year, I wrote a blog post detailing my new grad job search. Well, both offers I had ended up being rescinded due to COVID, and I knew I was going to go through the recruiting gauntlet again. I ended up deferring graduation, got an internship on pretty short-notice (thanks to blatant nepotism), and started recruiting again at the start of August.

Now that this year's recruiting cycle is starting to slow down and I've signed somewhere, I wrote this partially to give some insight as to the sheer difficulty of recruiting this year (really, it's not you, it's the economy), partially to fill my 2020 section with something, but mostly to reflect on the insanity of this year, and to gather my thoughts as to why I felt the way I did throughout this entire process. Honestly, this is probably more for my own catharsis than anything else, and a bigger chunk of the post will probably be on reflecting beyond just the job search, but I hope that some people who feel similar to me find solace in reading this.

Statistics:
Companies applied to: 155
Responses: 30
Hackerranks/Online Assessments/CodeSignal: 27
Total Phone Interviews (initial and post-OA): 9
Onsites: 6
Total Offers: 3 (1 return)
Withdrawn Applications: 2

Summary/Takeaways From my Experience:
- Recruiting is extra hard this year. I had a higher GPA, more internships, more coursework, more skills (well, you get the point - a stronger resume), but last year I had a near 30% response rate where as this year I went down to 19%, a big chunk of which were CodeSignal requests, of which I would deem to be "low-quality" responses. The companies I applied to were also very similar in profile to the ones I applied to last year.
- Leetcode is pretty essential. Note that I pretty much exclusively applied to Bay Area positions though (due to personal reasons). I was asked LC style questions in every interview, many of which were medium/hard difficulty.
- DP does not come up nearly as often as you'd probably think. All of the other "standard" topics (strings, linked list, heaps, trees, intervals, greedy, sort, etc.) came up with pretty uniform distribution.
- Passing or acing an OA does NOT guarantee an interview. This is probably unique to this year and maybe next year. I had a CodeSignal of 838 and finished pretty much every OA with all test cases passing and plenty of time to spare, but I converted these into an actual interview less than half of the time. Last year, acing an OA almost certainly let me advance to at least a phone screen.
- Virtual career fairs are garbage.
- Take this post with a grain of salt. This is what worked/didn't work for me, but luck probably played a huge part in a lot of my outcomes.

For context:



The actual job search/preparation

I felt that despite the fact that I was getting noticeably less responses than last year, I still had a decent "hit" rate. However, this year, the obstacles I faced last year were exacerbated by the fact that COVID had dramatically reduced the number of openings and every opening was getting thousands of applicants. Last year, there were so many openings that I couldn't apply fast enough; this year, I could go days or even weeks without seeing a new job posted. In addition, I had multiple onsites that were cancelled because headcount filled up - even though I had applied the day the job was posted and went through the process as fast as possible. This really made me put in perspective how few slots there were in comparison to applicants this year. The Robinhood recruiter in particular mentioned that they had over 50000 applications - and there were only 3 university recruiters.

My preparation involved skimming CTCI (for behavioral only), grinding a lot of Leetcode, and reading the Competitive Programmer's Handbook for more "exotic" topics like graphs, dynamic programming, greedy algorithms, obscure data structures, etc.. I did 260 questions on Leetcode (with a split of 93/146/20) over the course of 4 months. I believe that this was overkill; I was basically able to solve any technical question thrown at me during an interview with little trouble. The online assessments, however, were a different beast. I think this year they were abnormally difficult, as often I was being given insane assessments that were essentially 2-3 Leetcode hards in 80 minutes. Prior to this year, I really only encountered this level of OA with trading firms, but I was getting this level maybe half the time. Preparing this heavily helped me a lot for this particular stage.

Honestly, I think the Blind 75 List is enough to handle most of your preparation. Of the online assessments that I've taken, the only one I failed to complete was DoorDash's, and of the phone screens and onsites I did not pass, the only technical question I failed to answer was a sorting question because I had a brain fart and forgot the syntax for writing custom comparators in Python. I also failed a non-trivial amount of behaviorals; essentially every phone screen that did not progress to an onsite was not because I could not answer the technical question. This was a little strange to me, because I usually have little problem with this stage, but I'll chalk that up to my social skills deteroriating from not seeing anyone due to COVID, and a generally much higher candidate bar.

I began applying at the start of August and sent 155 applications. I applied to almost exclusively the Bay Area (around 5% NYC, 2% Seattle, 90% SF/Bay Area, and 3% other). I had a return offer to the startup (based in NYC) that I was interning at, so I did not really bother applying to anywhere outside of the Bay Area because I was more than willing to take this return offer.

This might seem contrary to a lot of what I see on the subreddit, but I did not tailor my application to each listing. In fact, I didn't even have a cover letter; I'd submit a blank document if one was required. In my experience, cover letters mattered more to smaller firms outside of tech-hubs, but when it came to jobs where there were 2k+ applicants, I opted to shotgun.

Last year, I was interviewing almost everyday, and had interviews scheduled months in advanced. This year, I rarely had interviews and had a very open schedule; I used to get emails requesting an interview pretty much everyday and it was honestly quite discouraging to see that I would get an interview request maybe once a week.

Of the questions I was asked, I actually ran into a pretty even split when it comes to topics covered. Last year, I had been asked mostly tree and interval questions, but now it was pretty evenly distributed. The more interesting thing is that I was asked 0 system-design this year - but maybe that's because it's harder to do these questions virtually. I'm not entirely sure; it could just be a coincidence.

My first onsite that wasn't cancelled was with Tesla in October. I'd actually like to give a special shoutout to Tesla for giving me the worst technical interview experience I've ever had. My interviewer came in 10 minutes late (to a 45 minute interview), didn't show his webcam (probably not that big of a deal, but I personally think this helps to build some kind of relationship because I was interviewing to join this person's team and he would be my coworker), didn't say anything to introduce himself or what he did or even address the fact that he was late, immediately pasted a question onto CoderPad and said solve the question, and sat there in absolute silence. There was no collaboration, no conversation, no feedback. When I finished the question, he said thanks, failed to answer any questions I had, and hung up. I think I heard him talk for 30 seconds. I left with the impression that he had 0 intention to hire me in the first place, but the experience was so impersonal and bad that I didn't even feel bad after getting the rejection email.

I ended up with 3 offers (1 return, 2 unicorns). I'm not entirely sure I want to give out the names of the places I got offers from, and I'm sure someone will figure out what they were (especially in the future when this is probably on my LinkedIn), but I'll leave it with, they were 200k offers, which was a lot better than either of my rescinded offers.