"""Napíšte kód, ktorý extrahuje odkazy z nezpracovaného textu a ich zoradí podľa určitých pravidiel. Zoznam odkazov, ktorý bude vrátený, by nemal obsahovať duplikáty. Pravidlá zoradenia sú nasledovné: - Priorita 1: Najskôr prvé nájdené odkazy v množstve self.first_extracted_links - Priorita 2: Potom odkazy na cloudové disky a dokumenty (Yandex Disk atď.) - Priorita 3: Následne odkazy na súbory (s príponami .exe, .pdf, .rar atď.) - Priorita 4: Zvyšné odkazy zoradené od dlhšieho po kratší reťazec Je tiež potrebné zohľadniť obmedzenie na počet odkazov a implementovať kontextový manažér. Napríklad, môže byť spustené v [link]. Zhrnutie: - Dáva sa 30 minút na vykonanie - Napísať funkcie apply, process, funkcie pre kontextový manažér - Všetky testy musia prejsť - Testy nie je možné upravovať - Môžu sa použiť importy - Po napísaní je možné skontrolovať spustením lokálne a opraviť podľa potreby regex na vyhľadávanie odkazov: (?: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" )) # Túto metódu môžete rozšíriť alebo prepísať def __init__(self, max_links: int = 7, first_extracted_links: int = 2, clouds = None): # Maximálny počet odkazov, ktoré sa majú vrátiť self.max_links = max_links # Počet odkazov extrahovaných pre prvú podmienku self.first_extracted_links = first_extracted_links # Zoznam domén považovaných za cloud pre druhú podmienku self.clouds = clouds or self.DEFAULT_CLOUDS self._results = [] # Napíšte túto metódu, ktorá pridá časť textu na analýzu def apply(self, text) -> "LinkExtractor": ... return self
Python
Aký konkrétny smer práce alebo zodpovednosť vám bola pridelená na predchádzajúcom pracovisku?
Aké sú výhody a nevýhody rámca Flask pre vývoj webových aplikácií?
Aké sú rozdiely medzi Django, Django REST Framework, FastAPI a Flask v kontexte vývoja webových aplikácií?
Je možné, aby hash funkcia vydávala rovnaký výsledok pre rôzne dáta?
Môžete vysvetliť koncept safe point v kontexte správy pamäte alebo viacvláknového spracovania?
Aký typ projektu by ste chceli teraz realizovať alebo sa na ňom zúčastniť?
Je možné použiť cyklus while na prechádzanie prvkov kolekcie?
Povedzte nám o vašich skúsenostiach s frameworkom Tornado v projektoch.
Aké metódy alebo praktiky používaš na prevenciu vyhorenia v práci?
Ako je organizovaný váš proces revízie kódu a vydania?
Ako spracovať hraničné prípady vstupných údajov — záporné čísla, príliš veľké súčty, nesprávne hodnoty?
Aký je rozdiel v mechanizme vyhľadávania metód v triedach v Pythone 2 a Pythone 3?
Je možné spustiť viacero cyklov udalostí v jednom vlákne Python a ako to realizovať?
Je možné dynamicky riadiť počet pracovníkov v Celery počas vykonávania úloh?
Stretli ste sa nejakými problémami počas procesu nasadenia aplikácie?
Akými metódami je možné realizovať zavádzanie závislostí medzi triedami v softvéri?
Aká pozícia alebo úloha v tíme vás najviac zaujíma a prečo?
Aké princípy riadia algoritmus asymetrického šifrovania?
Ako ste pripojili a používali fixture vo svojich testoch?