English English French French Spanish Spanish German German
Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

42 questions et réponses d'entrevue Python en temps réel [2023]

questions d'entretien python
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Vous préparez-vous pour les entretiens Python ? Ou simplement curieux de savoir combien de Python vous connaissez ? Aucun problème. Ici, nous couvrons vos problèmes avec des questions et des réponses.

L'article vous aidera à comprendre à quel type de question vous pourriez être confronté lors d'entretiens. Ou vous aide à évaluer vos compétences en Python. Assurez-vous de répondre aux questions avant de voir les réponses pour vous évaluer avec précision. Sans plus tarder, plongeons-nous dans les questions.

Les questions sont divisées en différentes sections en fonction du type de sujets. Chaque section contient des questions ainsi que des réponses organisées. Vous pouvez modifier la réponse avec votre propre langue avec le même sens. Ainsi, l'intervieweur n'aura pas l'impression que vous lisez quelque chose.

Langage Python

# 1. Qu'est-ce que Python?

Python est un langage de programmation généraliste interprété de haut niveau. Nous pouvons créer presque n'importe quel type d'application en utilisant Python avec des bibliothèques et des frameworks tiers. Python est l'un des langages de programmation les plus populaires dans les technologies avancées telles que AI, Science des données, etc.

# 2. Quelle est la principale différence entre un interpréteur et un compilateur ?

L'interpréteur traduit une instruction à la fois en code machine, tandis que le compilateur traduit le code entier à la fois en code machine.

# 3. Python est-il un langage à typage statique ou à typage dynamique ?

Python est un langage à typage dynamique.

# 4. Qu'entendez-vous par langage typé dynamiquement ?

Les langages à typage dynamique vérifient les types de variables à run-time. Certains langages à typage dynamique sont Python, JavaScript, Ruby, etc.

Bonus: Les langages à typage statique vérifient les types de variables à lors de la compilation. Certains langages à typage statique sont C++, C, Java, etc.,

# 5. Donnez quelques applications de Python.

Python a une syntaxe plus simple et facile à apprendre. Cela peut ressembler à l'anglais. La communauté de développeurs pour Python est énorme. Nous pouvons trouver de nombreux packages tiers pour travailler avec différents types de développement d'applications. En matière de développement, nous pouvons créer des applications Web, des applications GUI, des applications CLI, etc.,

L'automatisation est l'une des applications les plus populaires de Python. Nous pouvons facilement créer des scripts en Python pour automatiser des tâches telles que le nettoyage du disque, l'envoi de courriers électroniques, l'obtention de données sur les prix des produits, etc.,

Python est l'un des langages les plus populaires à utiliser dans le domaine de la science des données.

# 6. Quelles applications avez-vous créées avec Python ?

J'ai écrit plusieurs scripts d'automatisation pour éliminer les tâches répétitives et ennuyeuses. Et des scripts pour obtenir des informations sur les prix des produits, la disponibilité, etc.

J'ai également travaillé avec des frameworks comme Django, Flask pour construire des applications web. Et créez des applications Web en utilisant à la fois Django et flacon.

Remarque : La réponse ci-dessus est un exemple. Votre réponse peut être complètement différente de celle ci-dessus. Essayez d'expliquer les différents domaines sur lesquels vous avez travaillé en utilisant Python. Montrez les applications si elles sont disponibles.

Types de données

# 7. Quels sont les types de données intégrés dans Python ?

Il existe plusieurs types de données intégrés en Python. Elles sont int, float, complex, bool, list, tuple, set, dict, str.

Note: YVous n'avez pas à indiquer tous les types de données présents dans Python. Mentionnez certains d'entre eux que vous utilisez le plus souvent. L'intervieweur peut poser des questions en fonction de votre réponse.

# 8. Quelle est la différence entre liste et tuple?

Les deux organisations, liste et tuple sont utilisés pour stocker la collection d'objets. La principale différence entre la liste et le tuple est "la liste est un objet mutable alors que le tuple est un objet immuable".

# 9. Quels sont les types de données mutables et immuables ?

Les types de données mutables peuvent être modifiés après leur création. Certains des objets mutables en Python sont liste, ensemble, dict.

Les types de données immuables ne peuvent pas être modifiés après leur création. Certains des objets immuables en Python sont str, tuple.

# 10. Expliquer quelques méthodes de liste.

1. ajouter – la méthode est utilisée pour ajouter un élément à la liste. Il ajoute l'élément à la fin de la liste.

>>> a = [1, 2]
>>> a.append(3)
>>> a
[1, 2, 3]

2. pop – la méthode est utilisée pour supprimer un élément de la liste. Il supprimera le dernier élément si nous ne fournissons aucun index en tant qu'argument ou supprimera l'élément à l'index si nous fournissons un argument.

>>> a = [1, 2, 3, 4, 5]
>>> a.pop()
5
>>> a
[1, 2, 3, 4]
>>> a.pop(1)
2
>>> a
[1, 3, 4]

3. supprimez – la méthode est utilisée pour supprimer un élément de la liste. Nous devons fournir l'élément comme argument que nous voulons supprimer de la liste. Il supprime la première occurrence de l'élément de la liste.

>>> a = [1, 2, 2, 3, 4]
>>> a = [1, 2, 3, 2, 4]
>>> a.remove(1)
>>> a
[2, 3, 2, 4]
>>> a.remove(2)
>>> a
[3, 2, 4]

4. sort – la méthode utilisée pour trier la liste par ordre croissant ou décroissant.

>>> a = [3, 2, 4, 1]
>>> a.sort()
>>> a
[1, 2, 3, 4]
>>> a.sort(reverse=True)
>>> a
[4, 3, 2, 1]

5. inverser – la méthode est utilisée pour inverser les éléments de la liste.

>>> a = [3, 2, 4, 1]
>>> a.reverse()
>>> a
[1, 4, 2, 3]

Note: Tvoici d'autres méthodes comme effacer, insérer, compter, etc… Vous n'êtes pas obligé d'expliquer chaque méthode de la liste à l'intervieweur. Expliquez simplement deux ou trois méthodes que vous utilisez principalement.

# 11. Expliquer quelques méthodes de un magnifique

1. scission – la méthode est utilisée pour diviser la chaîne aux points souhaités. Il renvoie la liste en conséquence. Par défaut, il divise la chaîne au niveau des espaces. Nous pouvons fournir le délimiteur comme argument de la méthode.

>>> a = "This is Geekflare"
>>> a.split()
['This', 'is', 'Geekflare']
>>> a = "1, 2, 3, 4, 5, 6"
>>> a.split(", ")
['1', '2', '3', '4', '5', '6']

2. rejoindre – la méthode est utilisée pour combiner la liste des objets chaîne. Il combine les objets chaîne avec le délimiteur que nous fournissons.

>>> a = ['This', 'is', 'Geekflare']
>>> ' '.join(a)
'This is Geekflare'
>>> ', '.join(a)
'This, is, Geekflare'

RemarquesCertaines autres méthodes de chaînes sont : capitaliser, isalnum, isalpha, isdigit, inférieur, supérieur, centre, etc..,

# 12. Quelle est l'indexation négative dans les listes ?

L'index est utilisé pour accéder à l'élément à partir des listes. L'indexation normale de la liste commence à partir de 0.

Semblable à l'indexation normale, l'indexation négative est également utilisée pour accéder aux éléments des listes. Mais, l'indexation négative nous permet d'accéder à l'index depuis la fin de la liste. Le début de l'indexation négative est -1. Et ça continue d'augmenter comme -2-3-4, etc., jusqu'à la longueur de la liste.

>>> a = [1, 2, 3, 4, 5]
>>> a[-1]
5
>>> a[-3]
3
>>> a[-5]
1

# 13. Expliquer quelques méthodes de dicter

1. articles – la méthode renvoie valeur clé paires de dictionnaires sous forme de liste de tuples.

>>> a = {1: 'Geekflare', 2: 'Geekflare Tools', 3: 'Geekflare Online Compiler'}
>>> a.items()
dict_items([(1, 'Geekflare'), (2, 'Geekflare Tools'), (3, 'Geekflare Online Compiler')])

2. pop – la méthode est utilisée pour supprimer le valeur clé paire du dictionnaire. Il accepte la clé comme argument et la supprime du dictionnaire.

>>> a = {1: 2, 2: 3}
>>> a.pop(2)
3
>>> a
{1: 2}

Remarque : certaines autres méthodes de dicter sont: obtenir, clés, valeurs, clair, et ainsi de suite

# 14. Qu'est-ce que le découpage en Python ?

Le découpage est utilisé pour accéder au sous-tableau à partir d'un type de données de séquence. Il renvoie les données du type de données de séquence en fonction des arguments que nous fournissons. Il renvoie le même type de données que le type de données source.

Le découpage accepte trois arguments. Ils sont les indice de départ, indice de fin et incrément étape. La syntaxe du découpage est variable[start:end:step]. Les arguments ne sont pas obligatoires pour le tranchage. Vous pouvez spécifier un deux-points vide (:) qui renvoie l'intégralité des données comme résultat.

>>> a = [1, 2, 3, 4, 5]
>>> a[:]
[1, 2, 3, 4, 5]
>>> a[:3]
[1, 2, 3]
>>> a[3:]
[4, 5]
>>> a[0:5:2]
[1, 3, 5]

# 15. Quels types de données permettent le découpage ?

Nous pouvons utiliser le tranchage sur liste, tuple, et  str Types de données.

# 16. Que sont les opérateurs de déballage en Python ? Comment les utiliser ?

Les opérateurs * et ** sont des opérateurs de déballage en Python.

L'opérateur de décompression * est utilisé pour affecter plusieurs valeurs à différentes valeurs à la fois à partir de types de données de séquence.

>>> items = [1, 2, 3]
>>> a, b, c = items
>>> a
1
>>> b
2
>>> c
3
>>> a, *b = items
>>> a
1
>>> b
[2, 3]

L'opérateur de déballage ** est utilisé avec dicter Types de données. Le décompactage dans les dictionnaires ne fonctionne pas comme le déballage avec des types de données de séquence.

Le déballage dans les dictionnaires est surtout utilisé pour copier valeur clé éléments d'un dictionnaire à un autre.

>>> a = {1:2, 3:4}
>>> b = {**a}
>>> b
{1: 2, 3: 4}
>>> c = {3:5, 5:6}
>>> b = {**a, **c}
>>> b
{1: 2, 3: 5, 5: 6}

Remarque : Vous pouvez vous référer à cet article pour plus d'informations sur ces opérateurs.

Conditions et boucles

# 17. Python a-t-il des instructions switch ?

Non, Python n'a pas d'instructions switch.

# 18. Comment implémentez-vous la fonctionnalité des instructions switch en Python ?

Nous pouvons implémenter la fonctionnalité des instructions switch en utilisant if et  Elif Déclarations.

>>> if a == 1:
...     print(...)
... elif a == 2:
...     print(....)

# 19. Quels sont pause et continuer déclarations ?

pause – l'instruction break est utilisée pour terminer la boucle en cours. L'exécution du code sautera à l'extérieur de la boucle de rupture.

>>> for i in range(5):
...     if i == 3:
...             break
...     print(i)
...
0
1
2

continuer – l'instruction continue est utilisée pour ignorer l'exécution du code restant. Le code après l'instruction continue ne s'exécute pas dans l'itération actuelle et l'exécution passe à l'itération suivante.

>>> for i in range(5):
...     if i == 3:
...             continue
...     print(i)
...
0
1
2
4

# 20. Quand est le code dans d'autre exécuté avec tout en et marquage boucles?

Le code à l'intérieur du d'autre bloquer avec tout en et  marquage loops est exécuté après l'exécution de toutes les itérations. Et le code à l'intérieur du d'autre le bloc ne s'exécute pas lorsque nous cassons les boucles.

# 21. Que sont les compréhensions de liste et de dictionnaire ?

Les compréhensions de listes et de dictionnaires sont du sucre syntaxique pour le pour-boucles.

>>> a = [i for i in range(10)]
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a = {i: i + 1 for i in range(10)}
>>> a
{0: 1, 1: 2, 2: 3, 3: 4, 4: 5, 5: 6, 6: 7, 7: 8, 8: 9, 9: 10}
>>>

# 22. Comment fonctionne la fonction gamme ?

La fonction range renvoie la séquence de nombres entre le début et la fin avec un incrément de pas. La syntaxe de la fonction range est plage(démarrage, arrêt[, étape]).

, Arrêtez l'argument est obligatoire. Les arguments Commencez et  étape sont facultatifs. La valeur par défaut de Commencez et  étape pouvez et 1, respectivement.

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(1, 10))
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(1, 10, 2))
[1, 3, 5, 7, 9]
>>>

Les fonctions

# 23. Quels sont les paramètres et arguments ?

Les paramètres sont les noms répertoriés dans la définition de la fonction.

Les arguments sont les valeurs transmises à la fonction lors de l'appel.

# 24. Quels sont les différents types d'arguments en Python ?

Il existe principalement quatre types d'arguments. Ce sont des arguments positionnels, des arguments par défaut, des arguments de mot-clé et des arguments arbitraires.

Arguments positionnels : les arguments normaux que nous définissons dans les fonctions définies par l'utilisateur sont appelés arguments positionnels. Tous les arguments positionnels sont requis lors de l'appel de la fonction.

>>> def add(a, b):
...     return a + b
...
>>> add(1, 2)
3
>>> add(1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: add() missing 1 required positional argument: 'b'
>>>

Arguments par défaut : nous pouvons fournir la valeur aux arguments dans la définition de la fonction elle-même comme valeur par défaut. Lorsque l'utilisateur n'a pas passé la valeur, la fonction considérera la valeur par défaut.

>>> def add(a, b=3):
...     return a + b
...
>>> add(1, 2)
3
>>> add(1)
4

Arguments de mots clés : nous pouvons spécifier le nom des arguments lors de l'appel de la fonction et leur attribuer des valeurs. Les arguments de mot-clé nous aident à éviter l'ordre qui est obligatoire dans les arguments positionnels.

>>> def add(a, b):
...     print("a ", a)
...     print("b ", b)
...     return a + b
...
>>> add(b=4, a=2)
a  2
b  4
6

Arguments arbitraires : nous utilisons des arguments arbitraires pour collecter un tas de valeurs à un moment où nous ne connaissons pas le nombre d'arguments que cette fonction obtiendra. Nous et ** opérateurs dans la définition de la fonction pour collecter les arguments.

>>> def add(*args):
...     return sum(args)
...
>>> add(1, 2, 3, 4, 5)
15
>>> def dict_args(**kwargs):
...     print(kwargs)
...
>>> dict_args(a='Geekflare', b='Geekflare Tools', c='Geekflare Online Compiler')
{'a': 'Geekflare', 'b': 'Geekflare Tools', 'c': 'Geekflare Online Compiler'}

# 25. Qu'est-ce que la fonction lambda ?

Les fonctions lambda sont de petites fonctions anonymes en Python. Il a des expressions uniques et accepte plusieurs arguments.

>>> add = lambda a, b: a + b
>>> add(1, 3)
4

# 26. Quelle est la différence entre la fonction normale et la fonction lambda ?

Les fonctionnalités des fonctions normales et des fonctions lambda sont similaires. Mais, nous devons écrire du code supplémentaire dans les fonctions normales par rapport aux fonctions lambda pour la même fonctionnalité.

Les fonctions lambda sont utiles lorsqu'il n'y a qu'une seule expression.

# 27. Quelle est le pass mot-clé utilisé pour?

, pass Le mot-clé est utilisé pour mentionner un bloc vide dans le code. Python ne nous permet pas de laisser les blocs sans aucun code. Alors le pass L'instruction nous permet de définir des blocs vides (lorsque nous décidons de remplir le code plus tard).

>>> def add(*args):
...
...
  File "<stdin>", line 3

    ^
IndentationError: expected an indented block
>>> def add(*args):
...     pass
...
>>>

# 28. Qu'est-ce qu'une fonction récursive ?

La fonction qui s'appelle est appelée fonction récursive.

Que sont les opérateurs d'emballage en Python ? Comment les utiliser ?

Les opérateurs d'emballage sont utilisés pour collecter plusieurs arguments dans les fonctions. Ils sont connus sous le nom d'arguments arbitraires.

Remarque : tu peux te référer à cet article pour plus d'informations sur les opérateurs d'emballage en Python.

# 29. POO en Python

Quel mot clé est utilisé pour créer des classes en Python ?

, classe Le mot-clé est utilisé pour créer des classes en Python. Nous devrions suivre le cas pascal pour nommer les classes en Python en tant que pratique standard de l'industrie.

>>> class Car:
...     pass
...

# 30. Comment instancier une classe en Python ?

Nous pouvons créer une instance d'une classe en Python en l'appelant simplement comme fonction. Nous pouvons passer les attributs requis pour l'objet de la même manière que nous le faisons pour les arguments de fonction.

>>> class Car:
...     def __init__(self, color):
...             self.color = color
...
>>> red_car = Car('red')
>>> red_car.color
'red'
>>> green_car = Car('green')
>>> green_car.color
'green'
>>>

# 31. Qu’est ce que soi en Python?

soi représente l'objet de la classe. Il est utilisé pour accéder aux attributs et aux méthodes de l'objet à l'intérieur de la classe pour l'objet particulier.

# 32. Quelle est le __init__ méthode?

, __init__ est la méthode constructeur similaire aux constructeurs des autres langages POO. Il s'exécute immédiatement lorsque nous créons un objet pour la classe. Il est utilisé pour initialiser les données initiales de l'instance.

# 33. Qu'est-ce que la docstring en Python ?

Les chaînes de documentation ou docstrings sont utilisées pour documenter un bloc de code. Ils sont également utilisés comme commentaires multilignes.

Ces docstrings sont utilisées dans les méthodes d'une classe pour décrire ce que fait une certaine méthode. Et nous pouvons voir la méthode docstring en utilisant le Besoin d'aide ? méthode.

>>> class Car:
...     def __init__(self, color):
...             self.color = color
...
...     def change_color(self, updated_color):
...             """This method changes the color of the car"""
...             self.color = updated_color
...
>>> car = Car('red')
>>> help(car.change_color)
Help on method change_color in module __main__:

change_color(updated_color) method of __main__.Car instance
    This method changes the color of the car

>>>

# 34. Quelles sont les méthodes dunder ou magiques?

Les méthodes ayant deux préfixes et soulignement des suffixes sont appelées méthodes dunder ou magiques. Ils sont principalement utilisés pour surcharger les méthodes. Certaines des méthodes que nous pouvons surcharger dans les classes sont __str__, __len__, __setitem__, __getitem__, etc.,

>>> class Car:
...     def __str__(self):
...             return "This is a Car class"
...
>>> car = Car()
>>> print(car)
This is a Car class
>>>

Remarque : Il existe de nombreuses autres méthodes que vous pouvez remplacer. Ils sont utiles lorsque vous souhaitez personnaliser le code en profondeur. Explorez la documentation pour plus d'informations.

# 35. Comment implémenter l'héritage en Python ?

Nous pouvons passer la classe parente à la classe enfant en tant qu'argument. Et nous pouvons invoquer la classe parent de la méthode init dans la classe enfant.

>>> class Animal:
...     def __init__(self, name):
...             self.name = name
...
>>> class Animal:             e):
...     def __init__(self, name):
...             self.name = name
...
...     def display(self):
...             print(self.name)
>>> class Dog(Animal):        e):ame)
...     def __init__(self, name):
...             super().__init__(name)
...
>>> doggy = Dog('Tommy')
>>> doggy.display()
Tommy
>>>

# 36. Comment accéder à la classe parente dans la classe enfant en Python ?

Nous pouvons utiliser le super() qui fait référence à la classe parent à l'intérieur de la classe enfant. Et nous pouvons accéder aux attributs et aux méthodes avec.

Divers

# 37. Comment utiliser les commentaires sur une ligne et sur plusieurs lignes en Python ?

Nous utilisons hachage (#) pour les commentaires sur une seule ligne. Et guillemets simples triples ("'commentaire"') or guillemets triples (“””commentaire”””) pour les commentaires multilignes.

# 38. Qu'est-ce qu'un objet en Python ?

Tout en Python est un objet. Tous les types de données, fonctions et classes sont des objets.

# 39. Quelle est la différence entre is et  ==?

L'opérateur == permet de vérifier si deux objets ont la même valeur ou non. Les is L'opérateur est utilisé pour vérifier si deux objets font référence au même emplacement mémoire ou non.

>>> a = []
>>> b = []
>>> c = a
>>> a == b
True
>>> a is b
False
>>> a is c
True
>>>

# 40. Qu'est-ce qu'une copie superficielle et profonde ?

Copie superficielle: il crée la copie exacte comme l'original sans changer les références des objets. Désormais, les objets copiés et originaux font référence aux mêmes références d'objet. Ainsi, changer un objet affectera l'autre.

, copier méthode de la copier module est utilisé pour la copie superficielle.

>>> from copy import copy
>>> a = [1, [2, 3]]
>>> b = copy(a)
>>> a[1].append(4)
>>> a
[1, [2, 3, 4]]
>>> b
[1, [2, 3, 4]]

Copie profonde : il copie récursivement les valeurs de l'objet d'origine dans le nouvel objet. Nous devons utiliser le tranchage or copie profonde fonction du copier module pour la copie profonde.

>>> from copy import deepcopy
>>> a = [1, [2, 3]]
>>> b = deepcopy(a)
>>> a[1].append(4)
>>> a
[1, [2, 3, 4]]
>>> b
[1, [2, 3]]
>>> b[1].append(5)
>>> a
[1, [2, 3, 4]]
>>> b
[1, [2, 3, 5]]
>>>

# 41. Que sont les itérateurs ?

Les itérateurs sont des objets en Python qui mémorisent leur état d'itération. Il initialise les données avec le __iter__ méthode et renvoie l'élément suivant à l'aide de la __Suivant__ méthode.

Nous devons appeler le suivant(itérateur) pour obtenir l'élément suivant de l'itérateur. Et nous pouvons convertir un type de données de séquence en un itérateur en utilisant le iter méthode intégrée.

>>> a = [1, 2]
>>> iterator = iter(a)
>>> next(iterator)
1
>>> next(iterator)
2
>>> next(iterator)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
StopIteration
>>>

# 42. Que sont les générateurs ?

Les générateurs sont les fonctions qui renvoient un itérateur comme un objet générateur. Il utilise le rendement pour générer les données.

>>> def numbers(n):
...     for i in range(1, n + 1):
...             yield i
...
>>> _10 = numbers(10)
>>> next(_10)
1
>>> next(_10)
2
>>> next(_10)
3
>>> next(_10)
4

Conclusion

Les questions ne sont pas limitées, comme nous le voyons dans cet article. Cet article montre comment différents types de questions peuvent être posées à partir de divers sujets dans Python. Mais, cela ne se limite pas à l'ensemble des questions que nous avons abordées dans cet article.

Une façon de se préparer tout en apprenant est de se remettre en question sur différents sujets. Essayez de créer différents types de questions à partir d'un concept. Et répondez-y vous-même. De cette façon, vous ne serez probablement pas surpris par les questions de l'entretien. Vous pouvez également consulter le compilateur Python en ligne pour pratiquer le code.

Tout le meilleur pour votre prochaine interview Python ! ??

Merci à nos commanditaires
Plus de bonnes lectures sur Carrière
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder