Technical interview prep with ChatGPT


This is part of my AI Sidekicks for job seekers series.
Introduction
A few months ago, I went through the interview process for my current role at Vistar Media and I was terrified. Like, dumb terrified.
Which made no sense. I’m a senior engineer. I code every day. I have actual, documented proof that I’m good at it: promotions, performance reviews, paychecks. By all logic, I should’ve been fine. But, still, pure terror.
So, I decided to bring in some backup: ChatGPT.
I knew there’d be a live coding/problem-solving session with other engineers, though I had no clue what kind of problem they’d throw at me. I also knew there’d be a system design round.
Goals
Here’s what I wanted out of this AI-assisted prep:
Confidence to show up and do in an interview what I already do every day at work.
Practice running through realistic problems and iterating on solutions.
Exposure to scenarios I might not have faced before, without feeling dumb for asking “explain it like I’m a junior.”
I treated ChatGPT like a fellow senior engineer on the interview panel:
You give me the question, I’ll talk through my approach, we’ll refine it together.
My goals were not:
Memorizing solutions
Grinding LeetCode problems
A note on LeetCode…
I wasn’t even applying to companies that use LeetCode-heavy interviews.
I think it’s a terrible way to measure actual engineering skill.
From a practical standpoint: I have a job, a life, and a toddler who somehow manages to occupy more than 24 hours a day. I don’t have the time (or interest) to master toy problems.
And honestly? As a senior engineer, syntax recall is not the job. Problem solving, tradeoffs, and communication are. Any company penalizing me for looking up method names in Python’s docs isn’t the right fit for me.
General strategy
Whether it was live coding or system design, my process was the same:
ChatGPT gives me a problem.
I respond either talking through the approach, writing pseudocode, or drafting real code.
ChatGPT gives feedback: Am I on track? Any glaring edge cases? Any “next-level” refinements I’m missing?
I iterate by asking clarifying questions when needed, just like I would in a real interview.
And, on and on until I feel comfortable..
Coding challenges
Example prompt:
I'm a senior software engineer preparing for a "coding challenge"/"live coding" interview for a Backend Senior Software Engineer job, using Python as my coding language of choice. I'd like for you to help me walk through some possible coding challenges and we can work through solutions together. Can you give me an example problem that might be given in a 1hour long live coding session?
ChatGPT immediately responded with:
Got it — you want something realistic for a senior backend software engineer interview, Python-based, with a complexity level that fills about an hour if you explain your thought process, ask clarifying questions, and write clean, testable code.
For that kind of setting, companies often look for:
Problem decomposition (how you break it down into smaller parts)
Data structures & algorithms knowledge (but not necessarily “LeetCode Hard”)
Clean, maintainable code (naming, modularity, tests)
Edge case handling
Trade-off discussion (space/time complexity, scalability)
and provided me one of the classic rate-limiter problems. Link to conversation
Most of my practice happened on the train during my daily commute. For coding challenges, I’d give ChatGPT my general strategy first (read: it was very rare that I wrote actual code) and then fire off a follow-up question to see where we could take it next.
Follow-up questions
“Can you think of any edge cases my approach doesn’t handle?”
“What assumptions am I making here that might be risky?”
“Can you walk me through the time and space complexity of my solution?”
“Is there a more efficient algorithm or data structure I should consider?”
“At what scale would this approach start to break down?”
“What test cases would you write to validate this implementation?”
“How else could I solve this problem, and what tradeoffs would that introduce?”
“What’s a more brute-force version, and what’s a more optimal version?”
“How would I adapt this for a distributed system?” (if applicable)
Next steps
Ask your “interviewer” for another question. Don’t be afraid to request a question from a different domain.
System design
Just like with the coding challenges, I approached the system design sessions with ChatGPT as if it were my interviewer or a senior engineer (or maybe even a future coworker).
I knew system design interviews are less about perfect answers and more about your thought process, tradeoffs, and how you communicate complex ideas clearly.
My strategy was similar to coding:
ChatGPT would throw me a design prompt (ie, “Design a social media feed”)
I would respond with through my high-level approach (components, data flow, key challenges) without obsessing over every single detail upfront.
ChatGPT would push back with questions about scale, reliability, data consistency, or changing requirements, basically, all the curveballs a real interviewer might toss.
I would respond, adjust my design, ask clarifying questions, and iterate.
Since I often practiced during my commute or in short bursts, this conversational back-and-forth helped me build confidence in thinking on my feet and adapting to new constraints.
Example prompt:
I’m a senior software engineer preparing for a system design interview for a senior software engineer position. I know this company uses AWS. Let’s work through some system design scenarios.
Why this works:
It forces you to organize your thoughts out loud (a key skill during live interviews)
You get comfortable with ambiguity and incomplete info, learning to ask smart clarifying questions.
You practice explaining tradeoffs, which shows depth and maturity.
It’s low-pressure and repeatable anytime, anywhere.
Conclusion
Preparing for technical interviews can feel daunting, even if you’re a senior engineer who codes every day.
This approach isn’t about memorizing answers or grinding endless toy problems. It’s about sharpening your thinking, practicing clear communication, and getting comfortable with the kinds of questions and curveballs real interviews throw at you.
Subscribe to my newsletter
Read articles from Christina Branson directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Christina Branson
Christina Branson
I’m a senior software engineer with a passion for building applications & solving problems. Always chasing that elusive ideal known as "technical leadership".