Ce este TDD și care este scopul acestei abordări?
Python
La ce versiune de Python ai lucrat în ultima companie?
De exemplu, în orice sarcină, povestiți cum ați căutat punctele slabe în interogările către PostgreSQL: ce ați folosit și cum ați identificat problema?
Care este diferența dintre un generator și o funcție obișnuită?
Cum se utilizează Arborele Sintactic Abstract (AST) în Python?
Ce tipuri de teste cunoști?
În ce domenii ale dezvoltării Python te consideri cel mai puternic specialist?
Numește principiile de bază ale OOP.
Se poate accesa un atribut sau o metodă a unei clase care începe cu două underscore-uri? Care sunt caracteristicile?
"""Scrieți un cod care extragează linkuri din textul brut și le sortează conform unor reguli specifice. Lista de linkuri care va fi returnată nu trebuie să conțină duplicate. Regulile de sortare sunt următoarele: - Prioritatea 1: Mai întâi, primele linkuri detectate în cantitatea de self.first_extracted_links - Prioritatea 2: Apoi, linkuri către discuri în cloud și documente (Yandex Disk etc.) - Prioritatea 3: Apoi, linkuri către fișiere (cu extensii .exe, .pdf, .rar etc.) - Prioritatea 4: Restul linkurilor sortate de la cele mai lungi la cele mai scurte De asemenea, trebuie să țineți cont de limita de număr de linkuri și să implementați un manager de context. Se poate rula, de exemplu, în [link] Rezumat: - Se acordă 30 de minute pentru execuție - Scrieți funcțiile apply, process, funcții pentru managerul de context - Toate testele trebuie să treacă - Testele nu pot fi modificate - Se pot folosi importuri - După scriere, se poate verifica rulând local și corectând dacă este necesar regex pentru căutarea linkurilor: (?: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" )) # Poți extinde această metodă sau o poți rescrie def __init__(self, max_links: int = 7, first_extracted_links: int = 2, clouds = None): # Numărul maxim de linkuri returnate self.max_links = max_links # Numărul de linkuri extrase pentru prima condiție self.first_extracted_links = first_extracted_links # Lista de domenii considerate ca fiind în cloud pentru a doua condiție self.clouds = clouds or self.DEFAULT_CLOUDS self._results = [] # Scrie această metodă, care adaugă o parte din text pentru analiză def apply(self, text) -> "LinkExtractor": ... return self
Când și de ce alegi procesele (multiprocessing)?
Există un modul care a acceptat sarcina și este în așteptare. Ce vei face?
Povestiți despre un incident interesant sau o situație dificilă la locul de muncă.
Ce tipuri de cozi ca structuri de date cunoști?
Ce lucruri bune ați făcut în compania [companie]? Povestiți despre proiecte interesante.
Ce instrumente de profilare în Python cunoașteți?
Care este diferența dintre o copie superficială și o copie profundă (`copy` și `deepcopy`)?
Ce poate cauza o scurgere de memorie dacă există un colector de gunoi?
Cum să gestionezi creșterea tabelelor în PostgreSQL?
Ce ați face dacă o interogare SQL grea devine un punct de blocaj?