Almost perfect communication, straightforward interview with an unexpected "gotcha", but no feedback after rejection. Write your tests before writing your logic for brownie points. I didn't do this and still made it past the first round, but every little bit helps. Drill the easy/medium questions from Top Interview 150 on leetcode. Memorize the asymptotic running time of a few algorithms (binary search, sorts, etc.) and how to implement them in your language of choice, especially if good algos are in your standard library. Watch some youtube videos on good behavioral question responses. System design is more behavioral than technical. I binged relevant videos from A Life Engineered and Techlead, and aced my next interview after minor flubs with Parachute. The part of the interview I'm still very unsure about is their architectural session. You're presented with some business requirements and nothing else. This is good to test requirements elicitation capability of the applicant, but without context on what the adjudicator is actually expecting in terms of deliverable/output, you're hanging the applicant out to dry a little. In my other interviews, I was specifically asked for a system design, data model, object-oriented design, etc. These interviews often combined a few of these (e.g., system design with data modeling, or data modeling with OOD). I dove into data modeling, and consistently felt like that wasn't what they were looking for. Unfortunately, I can't confirm that because a week after the panel, I got what read like an autoreject from the recruiter. Asked for feedback, but no reply. Shame, tbh, everyone I talked to was super nice.