¿Qué es TDD y cuál es el propósito de este enfoque?
Python
Por ejemplo, en cualquier tarea, cuéntenos cómo buscó los cuellos de botella en las consultas a PostgreSQL: qué utilizó y cómo encontró el problema?
¿En qué versión de Python trabajaste en tu última empresa?
¿En qué se diferencia un generador de una función normal?
¿Cómo se utiliza el árbol de sintaxis abstracta (AST) en Python?
¿Qué tipos de pruebas conoces?
¿En qué áreas del desarrollo en Python se considera un especialista en el que más confía?
Nombra los principios básicos de la POO.
"""Escriba un código que extraiga enlaces del texto sin procesar y los ordene según reglas específicas. La lista de enlaces que se devolverá no debe contener duplicados. Las reglas de ordenación son las siguientes: - Prioridad 1: Primero los primeros enlaces detectados en cantidad de self.first_extracted_links - Prioridad 2: Luego enlaces a discos en la nube y documentos (Yandex Disk, etc.) - Prioridad 3: Después enlaces a archivos (que tengan extensiones .exe, .pdf, .rar, etc. al final de la ruta) - Prioridad 4: Los enlaces restantes ordenados de mayor a menor longitud de cadena También se debe considerar la limitación en la cantidad de enlaces y la implementación de un gestor de contexto. Se puede ejecutar, por ejemplo, en [link] En resumen: - Se da 30 minutos para la ejecución - Escribir funciones apply, process, funciones para el gestor de contexto - Todas las pruebas deben completarse - No se pueden modificar las pruebas - Se pueden usar importaciones - Después de escribir, se puede verificar ejecutando localmente y corregir si es necesario regex para buscar enlaces: (?: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" )) # Puede ampliar este método o reescribirlo def __init__(self, max_links: int = 7, first_extracted_links: int = 2, clouds = None): # Número máximo de enlaces que se devolverán en la lista self.max_links = max_links # Cantidad de enlaces que se extraen para la primera condición self.first_extracted_links = first_extracted_links # Lista de dominios considerados en la nube para la segunda condición self.clouds = clouds or self.DEFAULT_CLOUDS self._results = [] # Escribir este método, que añade parte del texto para analizar después def apply(self, text) -> "LinkExtractor": ... return self
¿Se puede acceder a un atributo o método de una clase que comienza con dos guiones bajos? ¿Cuáles son las características?
¿Cuándo y para qué eliges procesos (multiprocesamiento)?
Cuéntame sobre un incidente interesante o una situación difícil en el trabajo.
¿Qué buenas cosas hicieron en la empresa [empresa]? Cuéntenos sobre proyectos interesantes.
¿Qué tipos de colas como estructuras de datos conoces?
¿Qué herramientas de perfilado en Python conoces?
Hay un módulo que aceptó la tarea y está en espera. ¿Qué harás?
¿Cuál es la diferencia entre una copia superficial y una copia profunda (`copy` y `deepcopy`)?
¿Qué puede causar una fuga de memoria si hay recolector de basura?
¿Qué haría si una consulta SQL compleja se convierte en un cuello de botella?
¿Cómo lidiar con el crecimiento de las tablas en PostgreSQL?