Какво е TDD и каква е целта на този подход?
Python
Например, в която и да е задача, разкажете как сте търсили тесните места в заявките към PostgreSQL: какво сте използвали и как сте открили проблема?
На коя версия на Python работихте в последната компания?
Каква е разликата между генератор и обикновена функция?
Как се използва абстрактното синтактично дърво (AST) в Python?
Какви видове тестове знаете?
В кои области на разработка с Python се считате за най-силен специалист?
Посочете основните принципи на ООП.
"""Напишете код, който извлича връзки от суров текст и ги сортира според определени правила. Списъкът с връзки, който ще бъде върнат, не трябва да съдържа дублиращи се елементи. Правилата за сортиране са следните: - Приоритет 1: Първо се взимат първите открити връзки в количество self.first_extracted_links - Приоритет 2: След това връзки към облачни дискове и документи (Yandex Disk и др.) - Приоритет 3: След това връзки към файлове (с разширения .exe, .pdf, .rar и др.) - Приоритет 4: Останалите връзки, сортирани по големина на дължината им Трябва също да се вземе предвид ограничението за броя връзки и да се реализира контекстен мениджър. Може например да се изпълни в [link]. Обобщение: - Дават се 30 минути за изпълнение - Трябва да се напишат функции apply, process, функции за контекстния мениджър - Всички тестове трябва да преминат - Тестовете не могат да бъдат модифицирани - Могат да се използват import-и - След писане, може да се провери като се изпълни локално и при нужда да се коригира regex за търсене на връзки: (?: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" )) # Може да разширите този метод или да го препишете def __init__(self, max_links: int = 7, first_extracted_links: int = 2, clouds = None): # Максималният брой връзки, които ще се върнат self.max_links = max_links # Броят връзки, извлечени за първото условие self.first_extracted_links = first_extracted_links # Списък с домейни, считани за облачни за второто условие self.clouds = clouds or self.DEFAULT_CLOUDS self._results = [] # Трябва да напишете този метод, който добавя част от текста за анализ def apply(self, text) -> "LinkExtractor": ... return self
Може ли да се достъпи до атрибут или метод на клас, който започва с две долни черти? Какви са особеностите?
Кога и защо избирате процеси (multiprocessing)?
Разкажете за интересен инцидент или трудна ситуация на работното място.
Какво добро направихте в компанията [компания]? Разкажете за интересни проекти.
Има модул, който е приел задачата и е зависим. Какво ще направите?
Какви видове опашки като структури от данни знаете?
Кои инструменти за профилиране в Python знаете?
Каква е разликата между повърхностно копиране и дълбоко копиране (`copy` и `deepcopy`)?
Какво може да причини изтичане на памет, ако има garbage collector?
Как да се справим с разрастването на таблиците в PostgreSQL?
Какво бихте направили, ако тежък SQL заявка стане тесен момент?