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

Data Science Weekly - Issue 540

Friday, March 29, 2024

Curated news, articles and jobs related to Data Science, AI, & Machine Learning ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

This Week in Rust #540

Friday, March 29, 2024

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

The Value Of A Promise 🤞

Friday, March 29, 2024

How much is a promise from a tech company really worth, anyway? Here's a version for your browser. Hunting for the end of the long tail • March 28, 2024 The Value Of A Promise When you hear a

New Elastic Security for SIEM Training Course

Friday, March 29, 2024

Detect and respond to evolving threats ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ elastic | Search. Observe. Protect Detect anomalies and malicious behavior March

SBF gets 25 years 

Thursday, March 28, 2024

Sam Bankman-Fried is sentenced View this email online in your browser By Christine Hall Thursday, March 28, 2024 Welcome back to TechCrunch PM! The editorial team spent a chunk of the day discussing

💎 Issue 410 - Being laid off in 2023-2024 as an early-career developer

Thursday, March 28, 2024

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

💻 Issue 403 - Microsoft defends .NET 9 features competing with open source ecosystem

Thursday, March 28, 2024

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

💻 Issue 410 - Node.js TSC Confirms: No Intention to Remove npm from Distribution

Thursday, March 28, 2024

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

💻 Issue 410 - JSDoc as an alternative TypeScript syntax

Thursday, March 28, 2024

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

📱 Issue 404 - Dependency Injection for Modern Swift Applications Part II

Thursday, March 28, 2024

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