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.