Quel est votre sens, vont-ils essayer de tester si vous connaissez Python, voir si vous pouvez faire avancer les choses en Python, ou tester si vous pouvez programmer (en Python)?
Ce sont des choses très différentes.
S'ils veulent que vous montriez que vous connaissez Python, ils peuvent vous forcer à faire des choses comme créer un générateur, puis faites-le sans utiliser yield
. Expliquez comment fonctionnent les classes. Expliquez l'ordre de résolution de la méthode C3. Etc.
S'ils veulent que vous montriez que vous pouvez faire avancer les choses en Python, vous devrez être compétent avec les structures de données de base et avoir une liste de bibliothèques vers lesquelles vous iriez pour différents types de tâches. Vous devez donc être à l'aise avec les dictionnaires, les ensembles et les tableaux. De même, vous devez savoir des choses comme l' BeautifulSoup
analyse de HTML, être capable de parler d'un cadre qui pourrait être utilisé pour le développement Web, etc. Vous n'avez pas nécessairement besoin de savoir comment bien utiliser ces choses, mais vous devez savoir où allez, comment en savoir plus et être en mesure de les utiliser une fois que l'intervieweur vous a donné des choses qui sont documentées.
S'ils veulent que vous montriez que vous pouvez programmer (en Python), vous devrez connaître les structures de données de base et connaître vos algorithmes. Ceci est beaucoup plus proche des questions C / C ++ qui vous seraient posées, sauf que vous devrez utiliser des structures de données natives où cela vous facilitera la vie.
Pour être en sécurité, vous devez vous préparer dans une certaine mesure aux trois. Par exemple, lisez http://docs.python.org/tutorial/ et prenez quelques notes pour vous. J'espère que vous savez déjà programmer. Et puis essayez quelques tâches aléatoires et forcez-vous à utiliser des bibliothèques que vous pourriez avoir manquées. Ainsi, par exemple, lisez du CSV, extrayez des informations par programmation d'une page Web, créez un petit site Web avec un cadre, etc.