Interested in these companies at some point and curious what I should learn for each
Affirm onsite was Straight LC and one behavioral
Stripe: Doesn't do Big O analysis, most efficient runtime solution, or crazy/weird algorithm problems. It's more leetcode easy/medium but with huge emphasis on problem solving skills and writing logical/maintainable code. You can explain what you're thinking or work silently like you'll do at work. They don't follow BS rules/format like most other tech companies. Just write clear code that works. They have the best hiring process I've experienced amongst all "known" tech companies. Becoming a Leetcode warrior won't help much here. For their on-site, pick your programming language wisely. Pick something you're actually comfortable with and set up your IDE properly so you can quickly navigate a massive codebase and pull in external libraries you need. Like you'll do at work normally. The recruiter would send you lots of prep info before onsite. Read that doc carefully and setup your laptop properly before showing up. Better to be prepared with your own laptop IMO.
Agree on the quality of their hiring process. To add onto this, there’s also a bug squash interview where you clone an open source repo and fix real bugs from the past. IMO this was the hardest interview (besides system design) since there wasn’t really a way to prepare for it.
My bug squash interviewer was honest upfront that in his interview, he didn't find the bug and he "obviously works here". In my case, I fixed all bugs but didn't do well in the "integration interview". No working solution for any decent subset of the problem. That was my first interview of the day, so it really screwed with me mentally. Still got an offer. I believe I "nailed" all other interviews though. And they probably discounted the integration coding performance due to Java requiring too much boiler plate code.
Leetcode hard