Pre-Screening Interview Questions to Ask a Python Developer

Last updated on

Python makes it easy to write something that works and hard to know why it is slow. These questions test depth beneath the syntax and whether someone has run their code in production.

TL;DR, what to screen for

The best pre-screening questions for a Python developer test four things: systems they shipped and still support rather than scripts they wrote, whether they understand the language beneath the syntax, whether errors and logging are handled deliberately, and whether they have run Python in production. Ask about something slow they made fast.

  • Systems they shipped
  • Depth beneath syntax
  • Errors handled
  • Run in production

Why pre-screen Python developers before the technical interview

Python's accessibility is the reason applications vary so widely. Someone who has automated reports and someone who has run a service under load describe their experience in similar words, and only one of them has debugged a memory problem or a blocking call in an event loop. A short screen asks about something slow they made fast, which separates the two quickly.

What actually matters when screening Python Developer candidates

  1. 01

    Technical proficiency

    Check fluency beyond scripting: generators, decorators, typing with mypy, asyncio versus threading, and framework depth in Django, FastAPI or Flask, plus packaging with poetry or uv.

  2. 02

    Systems and trade-offs

    Probe how they structured a service: ORM query patterns, Celery or RQ task queues, caching in Redis, migration strategy, and where they chose Python over another runtime.

  3. 03

    Evidence and rigour

    Ask for their testing and profiling habits: pytest fixtures, coverage thresholds, mocking external APIs, cProfile or py-spy runs, and how a regression was caught before release.

  4. 04

    Collaboration and communication

    Look for evidence of code review practice, type hints and docstrings written for others, contributions to open source or internal libraries, and work with non-Python teammates.

Pre-screening questions to ask Python Developer candidates

12 questions grouped by what they test. Ask the same set in every screen and score answers on a consistent scale, or send them as an async video screen and compare answers side by side.

Systems they shipped

3 questions
  1. 01What is your experience using Python for web or service development?

    Listen for

    Services in production with traffic described, and their own components rather than the team's work.

    Experience limited to scripts and notebooks, or nothing that served real users.

  2. 02Tell me about a project where you used Python to automate a process.

    Listen for

    Automation still running with failure handling built in, and the time it saves quantified.

    Scripts that run manually, or automation with no error handling or monitoring.

  3. 03Can you describe using object-oriented features to solve a complex problem?

    Listen for

    Design decisions justified by the problem, with a preference for simple structures over deep hierarchies.

    Patterns applied by name, or classes introduced where functions would have been clearer.

Depth beneath syntax

4 questions
  1. 04Can you explain your understanding of Python's design philosophy?

    Listen for

    Idiomatic preferences explained with clear reasons, and readable code valued over anything clever.

    Philosophy recited, or code style described without any reasoning behind the choices.

  2. 05How do you use comprehensions and generators, and when would you avoid them?

    Listen for

    Generators used for memory reasons, with an understanding of when a comprehension hurts readability.

    Comprehensions nested for their own sake, or no awareness of the memory difference.

  3. 06Are you familiar with Python's memory behaviour and how to optimise it?

    Listen for

    Memory profiled on a real problem, with reference behaviour and large object handling understood.

    Memory treated as automatic, or no experience of a process growing until it was killed.

  4. 07How do you approach concurrency in Python?

    Listen for

    The interpreter lock understood, with threads, processes and asynchronous code each used appropriately.

    Threads used for computation, or asynchronous code mixed with blocking calls unknowingly.

Errors handled

3 questions
  1. 08What techniques do you use to debug Python code?

    Listen for

    Debugger and profiler used on real problems, with reproduction established before any fix is attempted.

    Debugging done entirely with print statements, or fixes applied without reproducing the issue.

  2. 09How do you handle exceptions in Python?

    Listen for

    Specific exceptions caught where recovery is possible, with anything unexpected allowed to surface.

    Broad exception handling that swallows errors, or failures logged and then ignored.

  3. 10How have you implemented error handling and logging in past projects?

    Listen for

    Structured logging with enough context to diagnose an incident without reproducing it locally.

    Logging added after an incident, or log messages that give no context about what failed.

Run in production

2 questions
  1. 11Do you have experience running Python in a production environment?

    Listen for

    Deployment, process management and resource limits handled, with an incident they were on call for.

    Code handed to another team for deployment, or no operational experience of anything they wrote.

  2. 12Can you describe your experience managing Python dependencies?

    Listen for

    Environments pinned and reproducible, with a habit of reviewing what a package pulls in before adding it.

    Dependencies installed globally, or versions unpinned so builds differ between machines.

How to score responses

Score every candidate on the same four criteria immediately after the screen. At this stage you are shortlisting for panel interviews, not making the final call.

  1. Technical proficiency

    35%

    5Explains CPython internals such as the GIL, contrasts asyncio with multiprocessing from real use, and names library versions confidently.

  2. Systems and trade-offs

    25%

    5Describes a concrete bottleneck (N+1 queries, cold starts), the trade-off weighed, and the measured latency or cost outcome after the change.

  3. Evidence and rigour

    25%

    5Cites specific test suites and profiler output, quantifies speedups or defect reduction, and admits where coverage was thin and why.

  4. Collaboration and communication

    15%

    5Gives examples of review comments that changed a design, and explains technical constraints clearly to product or data colleagues.

Automating a report and running a service under load sound the same on paper. A one-way video screen tells them apart.

Try it on Hirevire

Screening FAQ

Process basics

How long should a pre-screening round for this role take?

Fifteen minutes across eight to ten questions, answered async. Enough to establish what they shipped, test their language depth, and check debugging and production practice.

Should I include a coding task in the screen?

No. Keep the screen to experience and reasoning, then use a short focused exercise afterwards. A take-home at first stage loses good candidates and adds little signal.

Evaluating answers

What is the strongest signal when screening this role?

Something slow they made fast, with the profiling described. Developers with depth name the actual bottleneck. Anyone who optimised by guessing has not carried a system under load.

How do I judge their language depth?

Ask about concurrency in Python. Real answers cover the interpreter lock and when threads, processes or async each apply. Anyone who has not hit that boundary has not run anything demanding.

Go deeper on this role

Sanat Hegde
Sanat Hegde
Founder, Hirevire

Sanat has been hiring since 2012 and watching the recruitment industry change up close ever since, and turned that screening process into Hirevire's video screening platform. LinkedIn

Trusted by 500+ Companies

Screen Python Developer candidates on Hirevire

Turn this question list into an async video screen in minutes. Every applicant answers the same depth, debugging and production questions on camera before you spend engineering time on interviews.