Co je TDD a jaký je smysl tohoto přístupu?
Python
Na které verzi Pythonu jste pracoval v poslední společnosti?
Na příkladu jakéhokoliv úkolu nám povězte, jak jste hledali úzká místa v dotazech na PostgreSQL: co jste použili a jak jste problém našli?
V čem se liší generátor od běžné funkce?
Jak se v Pythonu používá abstraktní syntaktické strom (AST)?
Jaké typy testů znáte?
V jakých oblastech vývoje v Pythonu se považujete za nejsilnějšího odborníka?
Existuje modul, který přijal úlohu a je závislý. Co budeš dělat?
Uveďte základní principy OOP.
Lze přistupovat k atributu nebo metodě třídy, která začíná dvěma podtržítky? Jaké jsou vlastnosti?
"""Napište kód, který extrahuje odkazy z nezpracovaného textu a seřadí je podle určitých pravidel. Seznam odkazů, který bude vrácen, by neměl obsahovat duplicity. Pravidla řazení jsou následující: - Priorita 1: Nejprve první nalezené odkazy v množství self.first_extracted_links - Priorita 2: Poté odkazy na cloudové disky a dokumenty (Yandex Disk atd.) - Priorita 3: Následně odkazy na soubory (s příponami .exe, .pdf, .rar atd.) - Priorita 4: Zbývající odkazy seřazené od delšího po kratší řetězec Je třeba také vzít v úvahu omezení počtu odkazů a implementovat kontextový manažer. Například lze spustit v [link]. Shrnutí: - Na provedení je dáno 30 minut - Napsat funkce apply, process, funkce pro kontextový manažer - Všechny testy musí projít - Testy nelze upravovat - Lze použít importy - Po napsání lze zkontrolovat spuštěním lokálně a případně opravit regex pro hledání odkazů: (?: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" )) # Tuto metodu lze rozšířit nebo přepsat def __init__(self, max_links: int = 7, first_extracted_links: int = 2, clouds = None): # Maximální počet odkazů, které se mají vrátit self.max_links = max_links # Počet odkazů extrahovaných pro první podmínku self.first_extracted_links = first_extracted_links # Seznam domén považovaných za cloud pro druhou podmínku self.clouds = clouds or self.DEFAULT_CLOUDS self._results = [] # Napsat tuto metodu, která přidá část textu k analýze def apply(self, text) -> "LinkExtractor": ... return self
Kdy a proč volíte procesy (multiprocessing)?
Jaké typy front jsou jako datové struktury znáte?
Povězte o zajímavém incidentu nebo složité situaci v práci.
Jaký je rozdíl mezi povrchní kopií a hlubokou kopií (`copy` a `deepcopy`)?
Jaké nástroje pro profilování v Pythonu znáte?
Co dobrého se dělalo ve společnosti [společnost]? Povězte o zajímavých projektech.
Jaké typy replikace podporuje PostgreSQL?
Co může způsobit únik paměti, pokud je garbage collector?
Jak bojovat s růstem tabulek v PostgreSQL?