Was ist TDD und was ist der Sinn dieses Ansatzes?
Python
Nehmen wir ein beliebiges Beispiel, erzählen Sie, wie Sie Engpässe in den Abfragen an PostgreSQL gesucht haben: Was haben Sie verwendet und wie haben Sie das Problem gefunden?
Mit welcher Version von Python haben Sie in Ihrem letzten Unternehmen gearbeitet?
Worin besteht der Unterschied zwischen einem Generator und einer normalen Funktion?
Wie wird der abstrakte Syntaxbaum (AST) in Python verwendet?
Welche Arten von Tests kennen Sie?
In welchen Bereichen der Python-Entwicklung sehen Sie sich als den stärksten Spezialisten?
Nennen Sie die Grundprinzipien der OOP.
"""Schreiben Sie einen Code, der Links aus rohem Text extrahiert und sie nach bestimmten Regeln sortiert. Die zurückzugebende Linkliste darf keine Duplikate enthalten. Die Sortierregeln sind wie folgt: - Priorität 1: Zuerst die ersten gefundenen Links in der Menge self.first_extracted_links - Priorität 2: Dann Links zu Cloud-Diensten und Dokumenten (Yandex Disk usw.) - Priorität 3: Danach Links zu Dateien (mit Endungen .exe, .pdf, .rar usw.) - Priorität 4: Die verbleibenden Links, sortiert nach absteigender Länge der Zeichenkette Es ist auch die Begrenzung der Linkanzahl zu berücksichtigen und einen Kontextmanager zu implementieren. Kann zum Beispiel in [link] ausgeführt werden. Kurz gesagt: - Es werden 30 Minuten für die Ausführung gewährt - Funktionen apply, process, Funktionen für den Kontextmanager schreiben - Alle Tests müssen erfolgreich sein - Tests dürfen nicht modifiziert werden - Es dürfen Importe verwendet werden - Nach dem Schreiben kann man es lokal ausführen und bei Bedarf korrigieren regex zur Linksuche: (?:https?|ftp):\/\/(?:[a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.[a-zA-Z]{2,}(?::\d+)?(?:\/[^\s()]*)?""" class LinkExtractor: DEFAULT_CLOUDS = frozenset(( "drive.google.com", "mediafire.com", "yadi.sk", "disk.yandex.ru", "cloud.mail.ru", "mega.nz" )) # Diese Methode erweitern oder neu schreiben def __init__(self, max_links: int = 7, first_extracted_links: int = 2, clouds = None): # Maximale Anzahl der Links, die zurückgegeben werden self.max_links = max_links # Anzahl der extrahierten Links für die erste Bedingung self.first_extracted_links = first_extracted_links # Liste der Domains, die als Cloud gelten für die zweite Bedingung self.clouds = clouds or self.DEFAULT_CLOUDS self._results = [] # Diese Methode schreiben, die einen Teil des Textes hinzufügt, der später analysiert werden soll def apply(self, text) -> "LinkExtractor": ... return self
Kann man auf ein Attribut oder eine Methode einer Klasse zugreifen, die mit zwei Unterstrichen beginnt? Was sind die Besonderheiten?
Wann und warum wählen Sie Prozesse (Multiprocessing)?
Erzählen Sie von einem interessanten Vorfall oder einer schwierigen Situation bei der Arbeit.
Es gibt ein Modul, das die Aufgabe angenommen hat und hängt. Was wirst du tun?
Was Gutes wurde in der Firma [Firma] gemacht? Erzählen Sie von interessanten Projekten.
Welche Profiling-Tools in Python kennen Sie?
Welche Arten von Warteschlangen als Datenstrukturen kennen Sie?
Was ist der Unterschied zwischen einer flachen Kopie und einer tiefen Kopie (`copy` und `deepcopy`)?
Was kann eine Speicherleck verursachen, wenn es einen Garbage Collector gibt?
Was würden Sie tun, wenn eine schwere SQL-Abfrage zum Engpass wird?
Wie man das Wachstum der Tabellen in PostgreSQL bekämpft?