
Make talent quality your leading analytic with skills-based hiring solution.

Python is easy to read, which makes it easy to fake in an interview. A candidate can describe list comprehensions fluently and still write code that loads a 4 GB file into memory or breaks because of a default argument. The questions below are built to surface that gap. Each one comes with what a strong answer includes, and the exercises show how candidates write code when nobody is prompting them.
Use this guide for the technical interview stage, after a skills screen has confirmed the basics.
Python developers write server side logic for web applications, build APIs, connect data sources and automate workflows, often with frameworks such as Django and Flask. Python is free and open source, runs across platforms and supports object oriented, functional and procedural styles, which is why it shows up in web development, data engineering and machine learning teams alike.
Qualifications: usually a bachelor’s degree in computer science or equivalent experience.
Skills to look for:
An hour long interview is an expensive way to find out a candidate can’t write a loop. Glider’s technical skill tests and coding simulations check Python skills before the interview, including Jupyter Notebook tasks for data roles, with AI proctoring so you know the work is the candidate’s own.
| Score | Level | What you hear |
|---|---|---|
| 1 | Recall | A definition with no example |
| 2 | Explains | Correct reasoning about how it works |
| 3 | Applies | Working code or a concrete example from their own projects |
| 4 | Judges | Tradeoffs, edge cases, performance and when not to use it |
Expect mid level developers to average 3 and senior developers to reach 4 on design and performance questions.
Strong answer: neither label fits exactly. Python passes object references by value, sometimes called pass by assignment. Mutating a list inside a function changes the caller’s list; rebinding the name inside the function does not.
Red flag: “Everything is by reference.”
Strong answer: functions can be assigned to variables, passed as arguments, returned from other functions and stored in data structures. That’s what makes decorators and callbacks possible. A score of 3 includes a decorator they’ve written.
Strong answer: the lambda captures variables from its enclosing scope and keeps access to them after that scope ends. Strong candidates mention late binding: lambdas created in a loop all see the loop variable’s final value unless it’s bound as a default argument.
Strong answer: concise syntax for building lists and dicts from iterables, with optional filters. A score of 4 adds when to switch to a generator expression to avoid building a large list in memory, and when a plain loop reads better.
Strong answer: tuples are immutable, lists are mutable. Because of that, tuples can be dict keys and set members, and they signal fixed structure such as coordinates or database rows.
from functools import reduce
nums = [3, 8, 12, 5, 20]
evens = list(filter(lambda n: n % 2 == 0, nums)) # [8, 12, 20]
total = reduce(lambda a, b: a + b, evens) # 40
Strong answer: correct code, plus the note that reduce moved to functools in Python 3 and that a comprehension with sum() is usually clearer.
Strong answer: names real tools and how they used them, for example a linter such as Ruff, Flake8 or Pylint, pdb or an IDE debugger, and cProfile for finding slow functions. Listen for a specific performance problem they found and fixed.
def reverse_iter(s):
out = ""
for ch in s:
out = ch + out
return out
def reverse_rec(s):
return s if len(s) <= 1 else reverse_rec(s[1:]) + s[0]
Strong answer: both versions, plus the idiomatic slice with a negative step. A score of 4 notes that the recursive version hits the recursion limit on long strings and that repeated string concatenation is quadratic.
Strong answer: unit tests are fast, isolated, deterministic and test one behavior; functional tests check a feature end to end from the user’s view. Strong candidates use pytest, fixtures and mocks, and explain what they choose not to test.
Strong answer: resources identified by URLs, standard HTTP methods, stateless requests and meaningful status codes. RPC exposes actions (call this function); REST exposes resources (act on this thing). A good candidate can map this to a Django REST Framework or Flask project.
Strong answer: whereis searches a fixed list of standard system directories for the binary, source and man page files of a command, while which searches the user’s PATH. Treat this as a quick check of comfort on Linux servers rather than a core Python signal.
Give one or two of these in 30 to 45 minutes. Watch how candidates test their own code.
def add_item(item, items=[]):
items.append(item)
return items
What to look for: the default list is created once and shared across calls. The fix is items=None, then creating a new list inside the function.
What to look for: list(dict.fromkeys(values)), or a loop with a seen set. Using set() alone loses order, and a strong candidate says so.
What to look for: collections.Counter and most_common(), reading line by line, and handling case and punctuation.
What to look for: a generator that yields records one at a time, so memory use stays flat whatever the file size.
What to look for: a Flask or Django view with input validation, correct status codes and at least one test.
Glider’s live coding interviews let an interviewer and candidate work through exercises like these in a shared editor.
Score these on the same 1 to 4 scale, looking for evidence and ownership.
| Area | Weight | Score (1 to 4) |
|---|---|---|
| Core Python | 25% | |
| Practical exercise | 30% | |
| Frameworks and APIs | 15% | |
| Testing and debugging | 15% | |
| Communication and ownership | 15% |
Agree on the weights with the hiring manager before interviews start.
For high volume Python hiring, the same questions can run through AI interviews with fixed questions evaluated against a rubric, and a recruiter reviews every result before anyone advances. Hiring for Java too? See the Java developer interview questions guide, or browse the full interview questions library.
Ask about argument passing, first class functions, closures, comprehensions, mutable versus immutable types and testing, then give one practical exercise and two behavioral questions.
Score each answer from 1 to 4: recall, explains, applies, judges tradeoffs. Compare scores across interviewers before discussing the candidate.
Fixing the mutable default argument bug, removing duplicates while keeping order, counting words with Counter, processing a large file with a generator and building a small API endpoint.
The global interpreter lock, asyncio, type hints at scale, profiling a slow service and dependency management.
Plan 45 to 60 minutes for the technical interview plus 30 to 45 minutes for a practical exercise, after a skills screen.
Yes. A proctored technical skill test or a coding simulation confirms fundamentals first, so the interview can go deeper.

A strong architect portfolio tells you what got built. It rarely tells you what the candidate personally decided, what they gave up when the budget moved, or how they handled a contractor who said the detail couldn’t be built. Those are the things that decide whether a hire works out, and they only come out […]

The best benefits specialist interview questions test four areas: compliance knowledge (COBRA, ERISA, ACA, HIPAA), program administration (open enrollment, vendors, HRIS), employee communication and judgment in sensitive situations. Ask for specific examples, then confirm the skills with a short job based skill test before the final round. A benefits specialist is the person employees call […]

Underwriters review applications, whether for insurance policies or loans, and decide how much risk a company should take on. Get a clear snapshot of how to screen the ideal candidate for your organization with this set of underwriter interview questions. The job of an underwriter is to review insurance or loan applications and carry out […]