it-swarm.dev

Python Interviewfragen

Ich werde innerhalb von zwei Wochen ein Interview für ein Praktikum führen, das Python Programmierung) beinhalten würde.

Kann jemand vorschlagen, welche möglichen Bereiche ich polieren soll? Ich suche nach häufig gestellten Fragen in Interviews für Python Eröffnungen. Abgesehen von der Tatsache, dass ich die Sprache bereits seit über einem Jahr spreche, kann ich nicht erkennen, was sie mich fragen können.

Wie bei einem C- oder C++ - Interview gibt es viele Fragen, die vom Umkehren von Zeichenfolgen bis zum Erstellen verknüpfter Listen reichen, aber für ein Interview mit Python] bin ich ahnungslos.

Persönliche Erfahrungen und/oder Vorschläge sind willkommen.

25
Andy

Hier sind einige einfache:

  1. Was sind Python Dekorateure und wie würden Sie sie verwenden?
  2. Wie debuggen Sie Ihren Python Code)?
  3. Wie würden Sie viele Projekte einrichten, in denen jedes unterschiedliche Versionen von Python und Bibliotheken von Drittanbietern) verwendet?
  4. Folgen Sie PEP8 beim Schreiben Ihres Codes?
8
Thierry Lam

Wie wäre es mit etwas mit Python Listenverständnis ? Für mich waren dies eines der großen Verkaufsargumente für C++, nachdem ich in Dive into) darüber gelesen hatte Python .

"Schreiben Sie ein Listenverständnis, das eine Liste der geraden Zahlen von 1 bis 10 (einschließlich) erstellt.".
Wenn die Antwort ungefähr so ​​lautet (beachten Sie, dass die Werte im Bereich einen Zaunpfostenfehler vermeiden):

foo = [x for x in range(1, 11) if (x % 2) == 0]
print foo
[2, 4, 6, 8, 10]

Wenn Sie alle in Dive into Python aufgeführten Konzepte verstehen, sollte dies die meisten wichtigen Funktionen abdecken.

7
Cyclops

Ist Python als Referenz übergeben oder als Wert übergeben ist auch eine sehr gute Frage.

6
ismail

Fragen, die mir gestellt wurden:

  • Beschreiben von zwei Methoden der Metaprogrammierung in Python.
  • Was ist die GIL?
  • Warum ist die GIL wichtig?
  • Warum gibt es eine alternative Implementierung von Python namens nladen Swallow ?
  • Django, Pylone oder Zope? Verteidige deine Position.
6
Scant Roger

Ich habe keine solchen Erfahrungen, aber hier sind einige Vermutungen:

  1. (Unveränderlichkeit
  2. Erstklassige Funktionen/Klassen
  3. Verschlüsse

Das sind einige Dinge, die python Programmierer wissen sollten, sonst können Sie auch C-Programmierer für die Position einstellen.

5
Kugel

Ich würde die Liste in diese Antwort durchgehen. Versuchen Sie, das, was Sie wissen, nach dieser Liste so weit wie möglich zu aktualisieren. Mach dir keine Sorgen, wenn du es nicht bis zum Ende schaffst.

3

Neben anderen Links haben die Leute zur Verfügung gestellt. Ich empfehle auch Hidden Features of Python . Nur für den Fall, dass sie Ihnen knifflige Fragen stellen.

2
grokus

Was ist Ihr Sinn, werden sie versuchen zu testen, ob Sie Python kennen, ob Sie Dinge in Python erledigen können oder ob Sie programmieren können (in Python)?

Das sind sehr unterschiedliche Dinge.

Wenn sie möchten, dass Sie zeigen, dass Sie Python kennen, können sie Sie dazu zwingen, beispielsweise einen Generator zu erstellen, und dies dann ohne Verwendung von yield. Erklären Sie, wie Klassen funktionieren. Erläutern Sie die Auflösungsreihenfolge der C3-Methode. Und so weiter.

Wenn Sie zeigen sollen, dass Sie Dinge in Python erledigen können, müssen Sie mit den grundlegenden Datenstrukturen vertraut sein und über eine Liste von Bibliotheken verfügen, in die Sie für verschiedene Arten von Aufgaben gehen würden. Sie müssen sich also mit Wörterbüchern, Sets und Arrays auskennen. Ebenso müssen Sie über Dinge wie BeautifulSoup zum Parsen von HTML Bescheid wissen, über ein Framework sprechen können, das für die Webentwicklung verwendet werden kann usw. Sie müssen nicht unbedingt wissen, wie man diese Dinge gut verwendet. Aber Sie sollten wissen, wohin Sie gehen müssen, wie Sie mehr herausfinden und sie tatsächlich verwenden können, sobald der Interviewer Ihnen Dinge gegeben hat, die dokumentiert sind.

Wenn Sie zeigen sollen, dass Sie programmieren können (in Python), müssen Sie die grundlegenden Datenstrukturen und Ihre Algorithmen kennen. Dies kommt den C/C++ - Fragen, die Ihnen gestellt werden, viel näher, außer dass von Ihnen erwartet wird, dass Sie native Datenstrukturen verwenden, die Ihnen das Leben erleichtern.

Um sicher zu gehen, sollten Sie sich bis zu einem gewissen Grad auf alle drei vorbereiten. Lesen Sie zum Beispiel http://docs.python.org/tutorial/ durch und machen Sie sich Notizen. Hoffentlich wissen Sie bereits, wie man programmiert. Probieren Sie dann einige zufällige Aufgaben aus und zwingen Sie sich, Bibliotheken zu verwenden, die Sie möglicherweise übersehen haben. Lesen Sie beispielsweise CSV, extrahieren Sie Informationen programmgesteuert aus einer Webseite, erstellen Sie eine kleine Website mit einem Framework usw.

2
btilly