How to prepare for a Python coding interview

Hey there,

Participating in a "Silicon Valley style" coding interview can feel scary as heck.

Unlike other professionals, it seems to be okay for software developers to expect to get humiliated at a job interview:

"What, you can't code up a recursive descent parser on a whiteboard in 7.5 minutes? How DARE YOU even apply for this job!"

Yeah, it's one of the things that sucks about our industry—

Personally, I believe that 80-90% of the questions that you get asked during the typical coding interview have nothing to do with your real performance on the job.

But unfortunately these interviews aren't going to go away over night.

If you want a well-paid job as a software developer, you're likely going to encounter some coding quiz as part of your interviewing experience.

For the foreseeable future, interviewers are going to keep squeezing you through the same processes and will keep asking you those same questions...

And if you're like me, there's a pretty slim chance you'll pass an interview like that without some serious prep work—either to learn the right skills or to refresh your memory.

Alright, that all sounds pretty glum, no?

But here's what you need to realize:

Interviewing is a skill you can learn like any other.

It's something you get better at with practice.

It's true—

Just remember that all that prep work needs time. So be sure to plan ahead with ample of buffer to get enough study days in before your "big day."

If I had a coding interview coming up in 1-2 months, here's a rough outline of what I'd do to prepare:

Step 1:

Buy the following two books: "Elements of Programming Interviews (Python Ed.)" and "Cracking the Coding Interview."

Step 2:

Buy a whiteboard and some markers. Put the whiteboard on an actual wall, and make sure you get a board with a decent size. This is where 90% of your prep work will happen over the next few weeks.

Step 3:

Every day, stand in front of your whiteboard and work on at least one problem from the books listed in Step 1. Talk out loud about what you're doing, and snap a photo of the board when you're done. Set a 30 minute timer for each problem to put some pressure on yourself. If you can't solve a problem, pick up the book and go through all the motions with the solution in front of you. Rinse and repeat.

The closer you get to your interview date the more you want to practice—ramp it up to around 5 problems per day in the last two weeks before your interview.

Just repeat after me: "Interviewing is a learned skill."

The more "reps" you can get on each problem, the better your chances of getting a job offer will be.

Happy Pythoning!

— Dan Bader

Older messages

New Python tutorials on Real Python

Saturday, June 13, 2020

Hey there, There's always something going on over at realpython.com as far as Python tutorials go. Here's what you may have missed this past week: Python Community Interview With Kattni Rembor

New Python tutorials on Real Python

Saturday, June 6, 2020

Hey there, There's always something going on over at realpython.com as far as Python tutorials go. Here's what you may have missed this past week: Build Physical Projects With Python on the

I'm certified

Friday, June 5, 2020

Hey there, One of the "shameful secrets" of my career is that I'm a certified "Scrum Product Owner." Let me tell you how this came to be: One fine Tuesday morning my manager

What Python developers say about "CPython Internals: Your Guide to the Python 3 Interpreter"

Wednesday, June 3, 2020

Unlock the Secrets of the Python Interpreter And Save $35 on the "CPython Internals" Book Click Here (Ends Thursday at 11:59pm) Hey there, I wanted to share a few things that other Python

Get your Guide to the Python 3 Interpreter (Book Launch)

Tuesday, June 2, 2020

CPython Internals (our new book) is available at a 60% "Early Access" discount until Thursday night Click here to learn more and claim your discount Hey there, Are there certain parts of

You Might Also Like

This Week in Rust #575

Friday, November 29, 2024

Email isn't displaying correctly? Read this e-mail on the Web This Week in Rust issue 575 — 27 NOV 2024 Hello and welcome to another issue of This Week in Rust! Rust is a programming language

Welcome to How-To Geek Newsletters

Thursday, November 28, 2024

How-To Geek Logo Hi, Welcome to the How-To Geek newsletters! We're delighted to have you as part of our community! Our newsletter includes highlights of the best stories, instructive how-to manuals

💻 Issue 438 - Hidden NET 9 gems

Thursday, November 28, 2024

This week's Awesome .NET Weekly Read this email on the Web The Awesome .NET Weekly Issue » 438 Release Date Nov 28, 2024 Your weekly report of the most popular .NET news, articles and projects

💎 Issue 445 - Rails is better low code than low code

Thursday, November 28, 2024

This week's Awesome Ruby Newsletter Read this email on the Web The Awesome Ruby Newsletter Issue » 445 Release Date Nov 28, 2024 Your weekly report of the most popular Ruby news, articles and

💻 Issue 445 - Deno vs. Oracle: Canceling the JavaScript Trademark

Thursday, November 28, 2024

This week's Awesome JavaScript Weekly Read this email on the Web The Awesome JavaScript Weekly Issue » 445 Release Date Nov 28, 2024 Your weekly report of the most popular JavaScript news, articles

📱 Issue 439 - Google's iOS app now injects links on third-party websites that go to Search

Thursday, November 28, 2024

This week's Awesome iOS Weekly Read this email on the Web The Awesome iOS Weekly Issue » 439 Release Date Nov 28, 2024 Your weekly report of the most popular iOS news, articles and projects Popular

💻 Issue 363 - 7 challenges to do before a React interview

Thursday, November 28, 2024

This week's Awesome React Weekly Read this email on the Web The Awesome React Weekly Issue » 363 Release Date Nov 28, 2024 Your weekly report of the most popular React news, articles and projects

💻 Issue 445 - Mastering JavaScript Event Delegation

Thursday, November 28, 2024

This week's Awesome Node.js Weekly Read this email on the Web The Awesome Node.js Weekly Issue » 445 Release Date Nov 28, 2024 Your weekly report of the most popular Node.js news, articles and

📱 Issue 442 - Static, Dynamic, Mergeable, oh, my!

Thursday, November 28, 2024

This week's Awesome Swift Weekly Read this email on the Web The Awesome Swift Weekly Issue » 442 Release Date Nov 28, 2024 Your weekly report of the most popular Swift news, articles and projects

💻 Issue 440 - Nio: An Async Runtime for Rust

Thursday, November 28, 2024

This week's Awesome Rust Weekly Read this email on the Web The Awesome Rust Weekly Issue » 440 Release Date Nov 28, 2024 Your weekly report of the most popular Rust news, articles and projects