Cos'è TDD e qual è il senso di questo approccio?
Python
Ad esempio, in qualsiasi compito, raccontaci come hai cercato i colli di bottiglia nelle query a PostgreSQL: cosa hai usato e come hai trovato il problema?
In quale versione di Python hai lavorato nell'ultima azienda?
Qual è la differenza tra un generatore e una funzione normale?
Come viene utilizzato l'albero di sintassi astratta (AST) in Python?
Quali tipi di test conosci?
In quali ambiti dello sviluppo Python ti consideri un esperto più forte?
Indica i principi fondamentali della POO.
"""Scrivi un codice che estragga i link dal testo grezzo e li ordini secondo regole specifiche. L'elenco dei link che verrà restituito non deve contenere duplicati. Le regole di ordinamento sono le seguenti: - Priorità 1: Prima i primi link rilevati in quantità di self.first_extracted_links - Priorità 2: Poi link a cloud e documenti (Yandex Disk, ecc.) - Priorità 3: Poi link a file (con estensioni .exe, .pdf, .rar, ecc. alla fine del percorso) - Priorità 4: Gli altri link ordinati dalla lunghezza maggiore a quella minore Deve anche considerare il limite sulla quantità di link e implementare un gestore di contesto. Può essere eseguito, ad esempio, in [link] In sintesi: - Si concedono 30 minuti per l'esecuzione - Scrivere funzioni apply, process, funzioni per il gestore di contesto - Tutti i test devono passare - I test non possono essere modificati - È permesso usare import - Dopo aver scritto, si può verificare eseguendo localmente e correggere se necessario regex per la ricerca di link: (?: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" )) # Può espandere questo metodo o riscriverlo def __init__(self, max_links: int = 7, first_extracted_links: int = 2, clouds = None): # Numero massimo di link da restituire self.max_links = max_links # Numero di link estratti per la prima condizione self.first_extracted_links = first_extracted_links # Lista di domini considerati come cloud per la seconda condizione self.clouds = clouds or self.DEFAULT_CLOUDS self._results = [] # Scrivere questo metodo, che aggiunge parte del testo da analizzare def apply(self, text) -> "LinkExtractor": ... return self
È possibile accedere a un attributo o metodo di una classe che inizia con due underscore? Quali sono le caratteristiche?
Quando e perché scegli i processi (multiprocessing)?
Racconta di un incidente interessante o di una situazione difficile sul lavoro.
Cosa di buono è stato fatto nell'azienda [azienda]? Racconta di progetti interessanti.
Quali tipi di code come strutture dati conosci?
Quali strumenti di profiling in Python conosci?
C'è un modulo che ha accettato il compito ed è in attesa. Cosa farai?
Qual è la differenza tra una copia superficiale e una copia profonda (`copy` e `deepcopy`)?
Cosa può causare una perdita di memoria se c'è un garbage collector?
Cosa faresti se una query SQL pesante diventasse un collo di bottiglia?
Come affrontare l'espansione delle tabelle in PostgreSQL?