Round 0 – Online Assessment: 4 questions — 3 DSA + 1 API question. Round 1 – DSA Round: Infinite Grid Game: Players drop colored balls (colors numbered 1..n) from the top. If a player gets 3 balls in a column of the same color → they win. Follow-ups: 1. Win condition: 3 in a row or 3 in a column. 2. Win condition: k in a row or k in a column (generalized case). My Approach: Used unordered_map > to store ball positions for rows and columns. For the generalized k case, used a sliding window approach: If current position is x, check range [x-(k-1), x+(k-1)]. Maintain frequency counts in a window of size k. Apply this for both rows and columns. Outcome: Coded and explained the first 2 follow-ups successfully. For k case, my logic was correct but had a small coding bug (returning early instead of checking all windows). I figured it out seconds after the interview ended. Discussed diagonals but didn’t code them. Positive feedback from the interviewer — moved to next round. Round 2 – Low-Level Design (LLD): Part 1: Discussion about my current project — design patterns I use, why I use them, and their benefits. (~30 mins) Part 2: Problem: Design Splitwise. I explained the solution end-to-end clearly. Due to time limits, I coded a simple version without design patterns but got the correct output. Round 3 – Managerial Round: Topics Covered: My current work, reasons for shifting, and why Flexport. Checked my LinkedIn profile live. HLD topics: CAP Theorem, How to choose a database, ACID properties. Explained the role was for Shopify team, not Flexport core. Asked situational & managerial problem-solving questions. Verdict & Offer: Offer: SWE-1 (Bangalore) Base: ₹30 LPA Joining Bonus: ₹3 LPA Annual Bonus: ₹3 LPA RSUs: $12,000 Decision: Rejected — had another SWE-2 opportunity at a public company with similar base + better stock options.