Skip to content

Boarding pass · Python Beginner

Python · Beginner interview

An AI mock interview for developers new to Python (0–2 years). Practise the core data types, comprehensions, functions, and object-oriented basics — out loud, with a readiness score.

20–30 minEstimated6 questionsTailored live12 model answersTo study
  • Voice interview
  • Live feedback
  • Browser-only
  • No installation required

Your report · sample

AI Readiness Score

/100
Content score English score

Finish the mock and get this report — scored on content and English, with concrete tips and a model answer for every question, plus a study plan.

Your flight path

Five steps to interview-ready.

From a quick warm-up to a personalised study plan — here's the whole loop, and what you get at each gate.

  1. Step 01

    Preparation

    Skim the topics and warm up — you're briefed before takeoff.

  2. Step 02

    AI Interview

    A realistic AI interviewer asks tailored questions — answer by voice or text.

  3. Step 03

    Instant Score

    Finish and get a 0–100 readiness score across content and English.

  4. Step 04

    AI Feedback

    Concrete tips and a rewritten model answer for every response.

  5. Step 05

    Study Plan

    A personalised plan targets your weakest areas — so the next run scores higher.

Preview the AI demo

See one answer scored, end to end.

The whole loop on sample data — question, your answer, instant feedback and a study plan. Hover to pause.

aevrofy.com/session · live demoPlaying

Interviewer · Question 1

“Tell me about yourself.”

Who it's for

  • Developers new to Python
  • Engineers switching languages to Python
  • Anyone targeting junior Python roles
  • Self-taught devs prepping for interviews

What you'll practice

  • Choosing the right built-in data type
  • Writing list/dict comprehensions
  • Functions, *args/**kwargs and defaults
  • Classes, self and inheritance basics

Topics covered

What this level expects.

Basics

  • Dynamic typing
  • Mutable vs immutable
  • is vs ==

Data structures

  • list/tuple/set/dict
  • Comprehensions
  • Slicing

Functions

  • *args / **kwargs
  • Default arguments
  • Lambdas & map/filter

OOP

  • Classes & self
  • __init__
  • Inheritance

Practice questions

12 questions, with model answers.

Read them, then run the live mock to answer out loud and get scored. Tap any question to reveal a model answer.

01What kind of language is Python, and what are its key traits?

Python is a high-level, interpreted, dynamically typed language with automatic memory management. You don't declare types and you don't compile to a binary; the interpreter runs your code. Its strengths are readability, a huge standard library and ecosystem, and being multi-paradigm (procedural, OOP, functional). The trade-off is raw speed, which it makes up for with C-backed libraries.

02What's the difference between mutable and immutable types?

Mutable objects can be changed in place — lists, dicts, sets. Immutable ones can't — int, float, str, tuple, frozenset; 'changing' them actually creates a new object. This matters for sharing (mutating a list seen by two names affects both), for dict keys (only immutable, hashable types can be keys), and for the mutable-default-argument bug.

03What's the difference between == and is?

== compares values — whether two objects are equal. is compares identity — whether they're the exact same object in memory. You use == for almost everything and reserve is for singletons like None (if x is None). Small ints and short strings may be cached so is sometimes appears to work on them, but relying on that is a bug.

04When would you use a list, tuple, set, or dict?

A list is an ordered, mutable sequence for collections you'll change. A tuple is an ordered, immutable sequence — good for fixed records and as dict keys. A set is an unordered collection of unique items with fast membership tests and set operations. A dict is a key→value mapping with fast lookup by key. Pick by whether you need order, mutability, uniqueness, or key lookup.

05What is a list comprehension?

It's a concise way to build a list by transforming and/or filtering an iterable in one expression. It's usually more readable and a bit faster than the equivalent for-loop with append. The same syntax works for dicts and sets.

squares = [n*n for n in range(10) if n % 2 == 0]
06How does slicing work?

Slicing extracts a subsequence with [start:stop:step], where stop is exclusive and any part is optional. Negative indices count from the end, and a negative step reverses. It works on lists, tuples, and strings and returns a new object, so it's a quick way to copy (a[:]) or reverse (a[::-1]).

a = [0,1,2,3,4]
a[1:4]    # [1,2,3]
a[::-1]   # [4,3,2,1,0]
07What do *args and **kwargs do?

*args collects extra positional arguments into a tuple, and **kwargs collects extra keyword arguments into a dict. They let a function accept a variable number of arguments, and at the call site the same syntax unpacks a sequence or dict into arguments. They're common in wrappers and decorators that forward arguments along.

def log(*args, **kwargs):
    print(args, kwargs)
08What's the danger of a mutable default argument?

Default arguments are evaluated once when the function is defined, not on each call. So a default like def f(items=[]) shares the same list across all calls, and appending to it leaks between calls. The fix is to default to None and create a fresh list inside the function.

def f(items=None):
    if items is None:
        items = []
09What is a lambda, and how do map and filter relate to comprehensions?

A lambda is a small anonymous function written inline, e.g. lambda x: x*2. map applies a function over an iterable and filter keeps elements matching a predicate. They overlap with comprehensions; in modern Python a comprehension is usually preferred for readability, with map/filter reserved for passing an existing named function.

10What is self in a Python class?

self is the conventional name for the first parameter of instance methods, referring to the specific instance the method was called on. Python passes it automatically when you call obj.method(), so you use self to read and set per-instance attributes. It's explicit in Python where other languages hide it as 'this'.

11What is __init__ and when does it run?

__init__ is the initializer, run automatically right after a new instance is created, to set up its initial attributes from the arguments. It's not strictly the 'constructor' (that's __new__, which actually creates the object), but it's where you put setup code. You assign instance state on self there.

class User:
    def __init__(self, name):
        self.name = name
12How does inheritance work in Python?

A class can inherit from a parent to reuse and extend its behaviour, and override methods by redefining them. You call the parent's version with super(). Python also supports multiple inheritance, resolved by a defined method-resolution order. Inheritance models an 'is-a' relationship; for reuse without that relationship, composition is often better.

class Admin(User):
    def __init__(self, name, level):
        super().__init__(name)
        self.level = level

Preparation tips

Walk in ready.

  • Know when to use a dict vs a list vs a set
  • Practise rewriting a loop as a comprehension
  • Understand the mutable default argument trap
  • Be able to write a small class with __init__

Ready for the real thing?

Run a 6-question Python mock interview, answer out loud, and get a readiness score with tips and model answers.

More beginner interviews

Aevrofy · Python beginner interview prep