Grant Jenks Logo

Be Ye Therefore Wise As Serpents


Too often, the people giving talks have already arrived at big fancy titles: Directors of Engineering, Chief Scientists, and Founders. But at some point, all of us will interview for that dream job, and most of us will suffer a coding interview or two or twenty. Fortunately, Python is an ideal language for many coding interviews. Come discover tools and tips for coding interviews with Python.


The dreaded technical interview: 45 minutes, an algorithmic puzzle, your career, and hundred(s) of thousands of dollars all hanging in the balance. An odd niche of programming, the technical interview will often require tradeoffs which you would not make in daily work. We’ll look at three kinds of technical interviews: algorithmic, object-oriented, and coding; and many kinds of solutions: brute-force, greedy, divide-and-conquer, recursive, back-tracking, dynamic-programming, recurrence relations, and finite state machines.

We’ll review the big-O of Python’s core data type abstractions (sequences, mappings, sets) along with helpful standard library modules like collections, heapq, bisect, and itertools. There’s a number of core language features like iteration, lexicographic ordering, and the numeric hierarchy that are helpful. And dozens of tips around placeholders, managing two-dimensional data structures, and gotcha-differences between Python and other languages.

I recently decided to return to the corporate world and had the (mis)fortune to endure dozens of coding interviews across Facebook, Apple, Amazon, LinkedIn, Google, and startups. Learn from my mistakes! Like, pitfalls with an interviewer that doesn’t know Python? Or how and where to practice? Come learn the assets and liabilities of Python as applied to the technical interview.