Process: - HR screen - Take-home assignment - Zoom call going over assignment - Final in-person interview rounds The take-home assignment reflects a real-world scenario the company may have. The intention is not to solve some algorithmically complex problem, but display strong software engineering fundamentals with clean, extensible, and scalable code. I recommend focusing in the take home assignment and really putting your best foot forward there, as it will make the zoom call to go over the code much smoother and give you more to talk about. Consider how you would 'scale up' the code if more features or users were to be added. Back your technical decisions with good reasoning, and cover your edge cases. The final interview was much more conversational and casual than I expected. Any sort of Leetcode-style question was not much more complex than an LC easy, and I believe they are looking at your communication abilities and ability to write high quality/consistent code just as much as correctness and performance. Same for the system design interview where technical correctness and collaborative problem-solving were valued similarly in my opinion. Try to relax and enjoy yourself, bouncing off of the interviewers remarks and working together rather than trying to rush through the interview on your own. Ask questions!