Role: SWE Product (most of these roles are based in Menlo Park with very little opening in NYC)
Throw everything you know about leetcode out the window for this round. Grinding leetcode won't help you pass this round
You will be given a coderpad with "AI Assist" mode, but you can only choose from the lightweight foundation models (eg: o4 mini, claude haiku, llama 4 maverick) in the AI Assist tab. Sorry no fancy claude sonnet 4.5 model for this round. Pick one model that you vibe with. For me, I went with claude haiku since in my day to day, I use claude code at work and claude generally gives good output. Key is carefully crafting your prompt
Practice working with medium size codebases with several files (not just one solution.py file). You will be provided a codebase with stuff like main.py, test.py and some small module with utility functions. In the prep, Meta provides a sample codebase that's pretty much like the real interview. TAKE ADVANTAGE OF THIS
Meta will not score you on "prompt engineering ability". They'll still score you on the usual items like communication, coding, problem solving, etc, but now you have AI available, so try to show you responsibly using it. I have been on the side of the interviewer and have failed candidates for using LLM as a crutch for everything
I was given a codebase which consisted of a main.py, test.py, solve.py, utils.py and a data/ directory consisting of txt files with bunch of words and needed to find something special from that data.
There are a few util functions written in utils.py, but 2 out of the 4 unit tests are failing. Fix those! You can use AI Assist or just usual debugging. The provided coderpad does give you the "run code" and "run tests" button, so no hand tracing.
The fix for these are really minor logic errors. Use debug prints
solve.pyThe solve.py is a stubbed out function where you need to take in a list of words and identify a subset of words that meet a certain property. I took some time to gather the requirements of what the stubbed out function should do with the interviewer. That helped me craft a pretty good prompt to Claude Haiku 3.5 and get working code in 1-2 shots. I was able to pass the other unit tests provided for solve.py so no need to reinvent that
The kicker
Well, the interviewer asked me what the time and space complexity of my solution is and my solution was exponential time. The interviewer was wondering if there is a way to make the solution more efficient, but I wasn't able to get a better time complexity solution. I tried going for a solution that "looked better than exponential time", but was not 100% correct in all cases
The interviewer later told me that the problem I needed to solve was an NP-Complete problem! Most candidates don't notice that apparently. So that was quite an unforgettable experience. Apparently, there were additional parts to the question, but the interviewer mentioned those parts would be covered if TC one-shotted the question.
I liked the practicality of the AI coding round and hope more companies do these rounds. This is very realistic of day to day engineering (minus the knowing P/NP theory part)
The time complexity improvement question got me in that I didn't see apriori that the problem I was solving was an NP complete problem. If only I rememberd my P/NP theory from university, I may have been able to make more progress
The interviewer was SO NICE! Super friendly, super cordial and I had a lotta fun with this problem.