7 Questions d’entretien Python à mettre en pratique

Cet article fait partie d’une série d’articles rédigés par nos amis de Karma de la carrièrequi se concentre sur les carrières dans l’industrie technologique. Consultez les postes précédents sur Préparation de l’entretien technique en JavaScript, salaires des technicienset CV techniques.

Il n’y a pas de meilleure façon de se préparer à un entretien technique que de s’entraîner à répondre à quelques questions de codage. Il peut être impossible de rendre compte de chaque question qui vous est posée, mais toute pratique vous aidera à prendre confiance et à affiner vos compétences en matière de programmation.

L’entretien technique ne concerne pas seulement vos compétences en matière de codage. Il s’agit de savoir si vous pouvez bien expliquer votre code et documenter ce que vous avez fait. C’est une autre raison pour laquelle la pratique est si importante. Vous apprendrez à parler de la programmation Python et du code que vous écrivez.

Questions d’entretien Python

Dans cet article, nous avons rédigé sept questions d’entretien en Python pour vous aider à préparer votre prochain entretien technique. Pour plus de préparation à l’entretien, consultez notre guide sur les entretiens dans le secteur des technologies, qui comprend des conseils techniques et comportementaux.

Décrire le concept de portée en Python en faisant référence à la portée locale et mondiale.

Le champ d’application est la région dans laquelle une variable est accessible dans un programme. Il y a deux scopes en Python. Le scope local est une variable qui est définie à l’intérieur d’une fonction Python. Les variables ayant une portée locale ne sont accessibles qu’à l’intérieur d’une fonction.

La portée globale est une variable qui est déclarée dans la partie principale d’un programme. Les variables globales sont accessibles dans l’ensemble d’un programme, y compris dans les fonctions. Vous pouvez rendre une variable locale globale en utilisant le mot-clé « global » à l’intérieur d’une fonction.

Quelle est la différence entre un tuple et une liste ?

Les tuples et les listes Python sont utilisés pour stocker des collections de données.

Une liste est déclarée comme une collection de valeurs séparées par des virgules et placées entre crochets, tandis que les tuples sont déclarés comme une collection de valeurs placées entre crochets.

Une liste est modifiable. Cela signifie que leur contenu peut être modifié. Les tuples sont immuables. Vous ne pouvez pas modifier le contenu d’un tuple. Vous devez plutôt déclarer un nouveau tuple si vous voulez modifier le contenu d’une valeur à l’intérieur d’un tuple.

Rédigez une liste de compréhension qui prend la liste suivante et crée une nouvelle liste contenant les noms des élèves dont les noms comportent quatre lettres :

étudiants = [“Hannah”, “Peter”, “Luke”]

La compréhension d’une liste est une façon plus « pythonienne » de créer une liste. Vous pouvez utiliser la compréhension de liste pour créer des listes basées sur le contenu d’une collection existante.

Nous pouvons utiliser le code suivant pour créer une liste d’élèves dont le nom contient quatre lettres :

four_letter_names = [name for name in students if len(name) == 4]
# [“Luke”]

Notre compréhension de la liste itére sur tous les étudiants dans la variable « étudiants ». La méthode de la chaîne len() calcule la longueur de chaque nom. Si la longueur d’un nom est égale à quatre, ce nom est ajouté à notre liste « quatre_nom_de_lettres ». Sinon, le nom n’est pas ajouté à notre liste.

Qu’est-ce qu’une fonction lambda ? Pourquoi les utiliser ?

Une fonction lambda est une fonction qui n’a pas de nom. Les fonctions lambda sont communément appelées fonctions anonymes.

Vous pouvez utiliser une fonction lambda comme alternative à la déclaration d’une fonction régulière, à condition que la fonction puisse tenir sur une ligne. Prenons l’exemple suivant :

prices = [2.50, 3.10, 2.70]

over_three_dollars = list(filter(lambda price: (price > 3), prices))

Ce code passe par la liste des « prix » et ne renvoie que les prix supérieurs à 3,00 $. Dans cet exemple, nous utilisons une fonction lambda pour définir une règle pour notre méthode filter(). La règle stipule qu’un prix doit être ajouté à une liste si ce prix est supérieur à 3,00 $.

Notre code renvoie [3.1] car il n’y a qu’une seule valeur dans notre liste de « prix » qui soit supérieure à 3,00 $.

Qu’est-ce que la méthode __init__ ? Écrivez un exemple de méthode __init__ pour les propriétés suivantes :

Nom de la classe : Étudiant :
Propriétés : nom, date de naissance, grade

La méthode __init__ définit un constructeur dans un objet. Cette méthode est appelée lors de la création d’un objet. __init__ est un mot-clé réservé.

Les méthodes __init__ peuvent accepter autant d’arguments que vous le spécifiez lorsque vous déclarez le constructeur. La méthode __init__ vous permet de définir les valeurs qui seront associées à un objet.

Une méthode __init__ doit apparaître au début d’une nouvelle classe, avant que les méthodes ne soient déclarées. Prenons l’exemple ci-dessous :

class Student():
	def __init__(self, name, date_of_birth, grade):
		self.name = name
		self.date_of_birth = date_of_birth
		self.grade = grade

Nous avons déclaré une classe appelée Étudiant. Notre classe a trois attributs : le nom, la date de naissance et le niveau scolaire.

Dans notre constructeur, nous attribuons la valeur des arguments que l’utilisateur spécifie à leurs valeurs respectives dans la variable « self ». Cela rend chaque valeur accessible dans notre objet lorsque nous faisons référence à « self ».

Nous pouvons déclarer un objet de notre classe comme tel :

mark = Student(“Mark”, “19/02/2007”, 8)

Nous avons créé un étudiant appelé Mark. La date de naissance de Mark est le 19/02/2007. Il est en huitième année.

Qu’est-ce que *args et **kwargs ? Donnez un exemple de **kwargs en usage.

Les déclarations *args et **kwargs permettent d’accepter un nombre variable d’arguments dans une fonction.

La déclaration *args renvoie un tas d’arguments. Vous pouvez accéder aux éléments du tuple en utilisant l’indexation. L’instruction **kwargs renvoie un dictionnaire d’arguments. Les arguments sont mis en correspondance à l’aide de clés et de valeurs.

*args est l’abréviation de « arbitrary arguments », tandis que **kwargs est l’abréviation de « arbitrary keyword arguments ». Cela s’explique par le fait que les arguments **kwargs sont associés à des mots-clés.

Nous pouvons utiliser **kwargs pour désigner un argument par une étiquette que nous attribuons lorsque nous passons une valeur comme argument :

def show_age(**student):
	print(“{} is {} years old.”.format(student[“name”], student[“age”]))

show_age(age=9, name=”Lynn”)

Cette fonction utilise les **kwargs pour accepter des informations sur un étudiant. Plutôt que d’accéder à chaque argument comme une variable, nous utilisons la variable « student ». La variable « student » est un dictionnaire de tous les arguments que nous avons passés.

La déclaration **kwargs est couramment utilisée si vous ne savez pas combien d’arguments vous allez faire valoir.

Expliquer les principales caractéristiques qui font de Python un langage de programmation orienté objet.

Python, comme Java et de nombreux autres langages, est considéré comme un langage de programmation orienté objet. Cela signifie que vous pouvez créer des objets et des classes pour vous aider à organiser votre code.

Une classe est un modèle. Elles servent à définir la structure d’un objet. Une classe peut comprendre les valeurs qu’un objet peut stocker et les méthodes qui peuvent être exécutées sur un objet.

Un objet est une instance d’une classe. Lorsque vous initialisez, ou créez, un objet, vous pouvez spécifier les attributs (valeurs et méthodes) qui doivent être associés à cet objet.

Par exemple, « Étudiant » pourrait être le nom d’une classe. Cette classe stockerait toutes les valeurs qui peuvent être associées à un dossier d’élève dans une école. « Alex » pourrait être un objet. Cet objet stockerait des détails sur un élève dont le nom est Alex.

Conclusion

Ne vous inquiétez pas de vous préparer à toutes les questions qui pourraient se poser. Seules quelques questions vous seront posées lors de votre entretien. La pratique de l’entretien consiste à couvrir l’essentiel et à vous mettre en confiance.

Au fur et à mesure que vous poserez et répondrez aux questions de l’entretien, vous perfectionnerez l’art d’expliquer votre travail. Vous apprendrez à écrire un code plus efficace qui vous aidera à vous distinguer comme le meilleur candidat pour un emploi.

Que vous passiez votre premier entretien technique ou que vous soyez déjà un ingénieur confirmé, la pratique vous aidera à améliorer vos chances de décrocher l’emploi de vos rêves.

James Gallagher est écrivain à Career Karma. Il dirige le contenu technique de la publication Career Karma. James a écrit des dizaines d’articles pour un public de novices en matière de code sur Python, HTML, CSS, JavaScript, Java et Linux.

Soyez le premier à commenter

Poster un Commentaire

Votre adresse de messagerie ne sera pas publiée.


*