♦Earlier this year I decided I needed a change, so I started looking for a new job. I interviewed across five companies: a quantum computing company, a big pharma company, a big tech company, a medical imaging startup, and an AI company in real estate, all while working full-time. I wrote about the coding interview formats I encountered. This is time I’m writing about preparation.
I ended up with offers from three of them, no offer from the big pharma company, and pulled out of one of them after the first round because it felt too close to my current role. The constraint throughout wasn’t knowledge; it was time and precision. Five different roles, five different things they actually cared about, and a full-time job I wasn’t willing to let slip in the process.
That last part matters. The standard advice for a job search is to treat it like a second job. That’s fine if you’re between roles. It’s less fine if you’re midway through a Shape Up cycle and still responsible for shipping the work you committed to. What AI made possible was targeted, high-quality prep. Without it, I’d have been choosing between preparing properly and showing up properly at work.
This isn’t about using AI to cheat in interviews. It’s about using it as a coach before them: to go deeper faster, to connect your actual experience to what a specific role needs, to sharpen how you communicate what you already know. The experience has to be yours. AI helped me prepare the parts I already had.
The failure mode was also obvious. If I gave it a broad brief, it gave me broad advice. If I gave it a role description, it sometimes tried too hard to make every project sound perfectly aligned with that role. In the prep sessions, the same work could be made to sound relevant to almost anything: pharma infrastructure, medical imaging data loading, agentic systems, real-estate document AI. Some of those connections were real. Some were only adjacent. The useful step was making the overlap visible, not accepting every framing it suggested.
Here’s what worked.
Finding the right examplesIf you’ve been following my blog so far, you probably gathered that I’ve been using AI to help with my day-to-day work for a while now, so using it for interview prep felt like a natural extension. It already has context on what I’ve built. Why not ask it to help me figure out what to actually showcase?
For each role, I’d paste in the job description and ask: what have I worked on that maps directly to this? The useful thing isn’t that AI knows more about my work than I do. It’s that it can make connections quickly across a lot of context without me having to sit and think through months of projects from scratch.
For the big pharma role, it flagged the way we used pre-signed S3 URLs for secure uploads as a strong example for their infrastructure questions, because the security model (credential isolation between untrusted edge nodes and cloud storage in a HIPAA-compliant pipeline) gave me a way into what they cared about. I knew that work well. What the AI gave me was a clear train of thought going in: here’s the example, here’s why it’s relevant, here’s how to frame it for this specific audience.
Prepping for the person, not just the roleFor the medical imaging interview, I was meeting their principal ML scientist. I found an article he’d written about 3D CT medical imaging: the computational bottlenecks, why standard tooling wasn’t fast enough, what his team built to replace it.
I brought that article into a prep session: here’s who I’m meeting, here’s what he’s written about publicly, here’s my background. What’s the genuine overlap? What will resonate vs what will sound like it came from a generic ML resume?
The output was specific: the angle he’d find interesting was data loading efficiency and the full execution path from file iteration to model call, because that’s where his team had spent the hard engineering effort. That gave me a more concrete way to frame my work: not as a generic tour of my ML background, but as examples that connected to the problems his team was working on.
Reading papers with a point of viewOne company built their process around ML research papers. The first round was a discussion of a generative modelling paper. The second was a more specialised ML paper. The final round was a short presentation on how I’d test a research hypothesis connecting the two.
For the discussion rounds, I used AI to sharpen my read before going in: what’s the core thesis, what’s genuinely novel versus a synthesis of prior work, what are the likely discussion angles, what are the strong takes and the interesting critiques.
The most useful thing it gave me was framing. For one paper, the useful position was: this is a clarification of the design space, not a new benchmark-chasing result. That’s a defensible read, and it changes the conversation. You’re not just summarising the paper; you’re making a claim about what kind of contribution it is.
The slides round was more hands-on. I built the presentation iteratively with AI: draft a slide, get feedback on technical precision, refine, move to the next one. It flagged places where my experimental design made implicit assumptions and helped me anticipate the questions a researcher from a different technical background would push on.
By the time I presented, I still had to defend the experimental design myself. The useful part was that the weak spots had already been named.
Practicing the explanation, not the knowledgeFor one interview I knew the format would involve open-ended AI systems design questions: design an agent, evaluate a system, think through production instrumentation.
I ran mock sessions with AI as interviewer. The point wasn’t to find out if I knew the material. It was to sharpen how I communicated it under time pressure, with someone actively probing.
The feedback was specific enough to be useful:
- An agent design answer scored 7.5/10. The architecture was right, but I hadn’t made the human-in-the-loop gates explicit enough for the interviewer to follow the reasoning.
- A precision/recall answer scored 5.5/10. I was framing the metric correctly but hadn’t connected it to “good enough for the specific action we’re taking,” which is what the question was actually asking.
I mostly needed that feedback at inconvenient times: late evening, before work, or between interview rounds. Mock sessions surfaced it before the real interview, not afterward.
Finding behavioural stories I would actually useI pointed AI at my personal website, work history, and public writing before prep sessions for behavioural rounds. Then I’d work through questions like: who inspires you, what do you like doing, tell me about a technical disagreement, and tell me about a time you handled ambiguity.
The useful part was not getting a polished STAR answer. It was having the model pull candidate stories from my actual work. For “what inspires you to learn something new,” it picked up a pattern I probably would not have phrased as clearly on the spot: friction. Repeated manual triage, repeated review comments, repeated context loss between AI sessions. That was a better answer than “I like learning new technologies,” because it connected to how I actually work.
For disagreement, it surfaced a code-review pattern: one person seeing a design as over-engineered, another seeing it as necessary for the planned architecture. The useful framing was to move the discussion away from preference and back to context: what requirement was this complexity serving, what alternatives existed, and what were we giving up if we simplified it?
Again, I had to edit the answer back into my own voice. AI tends to make behavioural answers sound cleaner than real work feels. But it was useful for finding the story.
How to brief AI so it is actually usefulThe pattern across all of this was not that I asked better-sounding prompts. It was that I stopped treating interview prep as a generic category.
If I asked, “help me prep for an ML interview,” the output was exactly what you’d expect: broad topic lists, common questions, and answers that could have belonged to anyone. The useful sessions started once I gave it the actual situation: the role, the format, the interviewer if I knew them, the job description, and my own raw material.
The difference looked like this in practice. “Explain RAG” was too broad. “I need to discuss RAG tradeoffs at the senior engineer level; what decisions matter, and where do interviewers usually probe?” was useful. “Help me present this project” was vague. “I need to present this log-analysis and issue-triage workflow in an interview; help me structure the problem, architecture, guardrails, and tradeoffs” gave me a usable narrative. “How do I design a story-writing agent?” would have produced a toy answer. “Reason through this as a production creative system: planning, memory, structured outputs, evaluation, safety, and user control” forced a much better discussion.
The same was true for behavioural prep. “How should I answer behavioural questions?” produced template answers. “Here are the questions and here is my actual work history; which stories are strongest, and which ones sound forced?” gave me something I could work with.
Then I would ask for something narrower than an answer. Not “write my response,” but: what is this role really screening for? Which of my projects are directly relevant, and which are only adjacent? What would this interviewer probably probe on? Where does this answer sound overstated? Which behavioral story is strongest for this question?
That distinction mattered. If I asked for a finished answer too early, the model made it smooth before it made it true. It would produce something plausible and well structured, but a little too convenient. Asking for candidate examples was better. I could reject the weak ones, correct the overfit ones, and keep the parts that actually mapped to my experience.
The prompt I came back to most often was some version of:
Here is the role. Here is the interviewer. Here is my background. Find the strongest overlap, but separate direct experience from adjacent experience.
The second half of that prompt did a lot of work. Without it, AI is very good at making your experience sound aligned with whatever role you put in front of it. For interview prep, that is both the useful thing and the dangerous thing. You want help seeing the overlap. You do not want to accidentally turn every adjacent project into a perfect match.
So the real workflow was: bring the context in, ask for the overlap, challenge the output, then rewrite it back into something I would actually say.
That’s where AI was most useful: not as a source of interview answers, but as preparation help. It made the prep faster, more specific, and easier to fit around work. The answers still had to come from me.
What’s the most targeted thing you’ve done to prep for a technical interview?
♦How I Used AI to Prep for Interviews While Working Full-Time was originally published in Code Like A Girl on Medium, where people are continuing the conversation by highlighting and responding to this story.