Czym jest TDD i jaki jest sens tego podejścia?
Python
Na przykład w dowolnym zadaniu opowiedz, jak szukałeś wąskich gardeł w zapytaniach do PostgreSQL: czego używałeś i jak znajdowałeś problem?
Na jakiej wersji Pythona pracowałeś w ostatniej firmie?
Czym różni się generator od zwykłej funkcji?
Jak w Pythonie używany jest abstrakcyjny drzewo składniowe (AST)?
Jakie rodzaje testów znasz?
W jakich obszarach rozwoju w Pythonie uważasz się za najbardziej kompetentnego specjalistę?
Wymień podstawowe zasady OOP.
"""Napisz kod, który wyodrębnia linki z surowego tekstu i sortuje je według określonych reguł. Lista linków, która zostanie zwrócona, nie powinna zawierać duplikatów. Reguły sortowania są następujące: - Priorytet 1: najpierw pierwsze wykryte linki w ilości self.first_extracted_links - Priorytet 2: następnie linki do chmur i dokumentów (Yandex Disk itp.) - Priorytet 3: potem linki do plików (z rozszerzeniami .exe, .pdf, .rar itd.) - Priorytet 4: pozostałe linki posortowane od największej do najmniejszej długości ciągu Należy również uwzględnić ograniczenie ilości linków i zaimplementować menedżera kontekstu. Można uruchomić na przykład w [link] Podsumowując: - Daje się 30 minut na wykonanie - Napisać funkcje apply, process, funkcje dla menedżera kontekstu - Wszystkie testy muszą przejść - Testów nie można modyfikować - Można używać importów - Po napisaniu można sprawdzić uruchamiając lokalnie i poprawić w razie potrzeby regex do wyszukiwania linków: (?: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" )) # Możesz rozbudować tę metodę lub przepisać ją def __init__(self, max_links: int = 7, first_extracted_links: int = 2, clouds = None): # Maksymalna liczba linków do zwrócenia self.max_links = max_links # Liczba linków wyodrębnionych dla pierwszego warunku self.first_extracted_links = first_extracted_links # Lista domen uznawanych za chmury dla drugiego warunku self.clouds = clouds or self.DEFAULT_CLOUDS self._results = [] # Należy napisać tę metodę, dodaje część tekstu do analizy def apply(self, text) -> "LinkExtractor": ... return self
Czy można uzyskać dostęp do atrybutu lub metody klasy, które zaczynają się od dwóch podkreśleń? Jakie są cechy?
Kiedy i dlaczego wybierasz procesy (multiprocessing)?
Opowiedz o interesującym incydencie lub trudnej sytuacji w pracy.
Co dobrego zrobiono w firmie [firma]? Opowiedz o interesujących projektach.
Jest moduł, który przyjął zadanie i jest w oczekiwaniu. Co zrobisz?
Jakie rodzaje kolejek jako struktury danych znasz?
Jakie narzędzia profilujące w Pythonie znasz?
Jaka jest różnica między płytką kopią a głęboką kopią (`copy` i `deepcopy`)?
Co może powodować wyciek pamięci, jeśli jest garbage collector?
Co byś zrobił, gdyby ciężkie zapytanie SQL stało się wąskim gardłem?
Jak radzić sobie z rozrostem tabel w PostgreSQL?