Sobes.tech

Python

```python # a = "abc", no vacío, único (m) # s = "dfaga[bfkac]ebf" => "aceb" (n) O(n) # s = "cfaafb" => "cfaafb" # s = "affb" => "" from collections import Counter def min_s(a: str, s: str) -> str: need = Counter(a) ```

152

¿Tiene experiencia práctica en el uso de plataformas en la nube para el almacenamiento de datos?

Intern — Junior
151

¿Cómo manejar los casos límite de entrada de datos — números negativos, sumas demasiado grandes, valores incorrectos?

151

¿Cuál fue el tamaño máximo de datos que alguna vez almacenaste o procesaste en tu práctica?

Junior — Middle
150

¿Cómo implementar un mecanismo simple de bloqueo (lock) en memoria para protegerse contra accesos concurrentes sin usar dependencias externas?

149

¿Puedes explicar cómo funciona next()?

149

¿Puedes evaluar la complejidad de esta solución (en tiempo y memoria)? ¿Y por qué la complejidad no es O(n^2)?

147

¿Cuándo fue la última vez que resolviste problemas algorítmicos para practicar o proyectos?

Junior — Middle
145

¿Tiene experiencia en la creación y mantenimiento de sistemas basados en arquitecturas distribuidas?

Junior — Middle
145

# OneEditApart("gato", "perro") -> falso # OneEditApart("gato", "gatos") -> verdadero # OneEditApart("gato", "corte") -> verdadero # OneEditApart("gato", "castillo") -> verdadero # OneEditApart("gato", "a") -> verdadero # OneEditApart("gato", "actos") -> falso def OneEditApart(s1, s2) -> bool:

144

# Cajero automático que se carga con cassettes de billetes, con nuestra aplicación a bordo # debe poder dispensar billetes por una cantidad determinada o responder con rechazo # Al dispensar billetes, se descuentan del saldo del cajero automático. # Denominaciones permitidas: 50R, 100R, 500R, 1000R, 5000R. class ATM: pass # lugar para el código # Dispositivo del cajero automático: # - el dinero está ubicado en cassettes dentro del cajero, que son cargados por un recolector y recargados; # - cada cassette contiene billetes de su denominación; # - el cajero puede contar los billetes restantes en los cassettes, pero esta operación lleva tiempo - debe llamarse lo menos posible. # API para interactuar con el hardware del cajero. # La interfaz SDK puede ser modificada/ampliada según acuerdo de las partes, si es necesario class SDK(ABC): @abstractmethod def count_banknotes(self, banknote: int) -> int: pass @abstractmethod def move_banknote_to_dispenser(self, banknote: int, count: int) -> None: pass @abstractmethod def open_dispenser(self) -> None: pass

143

class ATM(SKD): def __init__(self, atm_api: "SKD"): self.atm_api: SKD = atm_api self.bills_count: dict[int:int] = {bill: self.atm_api.count_banknotes(bill) for bill in BILLS} def withdraw(self, amount: int) -> bool: bills_plan: dict[int: int] = {} remaining = amount for bill in BILLS: available = self.bills_count[bill] take = min(remaining // bill, available) if take > 0: bills_plan[bill] = take remaining -= take * bill if remaining != 0: return False bills_count_const = {50: 0, 100: 2, 500: 0, 1000: 0, ...}, expected = True @pytest.mark.parametrize( "bills_count_const,expected", [ ({5000: 0, 1000: 0, 500: 0, 100: 0, 50: 0}, False), ({5000: 100, 1000: 100, 500: 100, 100: 100, 50: 100}, True), ({5000: 1, 1000: 0, 500: 0, 100: 2, 50: 0}, True) ] ) def test_false(bills_count_const, expected): atm = ATM(FakeSDK()) atm.bills_count = bills_count_const amount = 1000 res = atm.withdraw(amount) assert res == expected

142

¿En qué países estás considerando opciones de trabajo o colaboración?

Junior — Middle
142

¿Tiene experiencia en soporte o desarrollo de sistemas distribuidos?

141

¿En qué etapa se encuentra actualmente su búsqueda de trabajo o proyecto?

Junior — Middle
140

```python from collections import Counter def min_s(a: str, s: str) -> str: need = set(a) window = Counter() res = "" c = 0 left = 0 best_len = float('inf') for right, char in enumerate(s): if char in need and \ window[char] += 1 if window[char] == 1: c += 1 while c == len(need): if right - left + 1 < best_len: res = s[left:right + 1] best_len = right - left + 1 if s[left] in need: window[s[left]] -= 1 if window[s[left]] == 0: c -= 1 left += 1 return res ```

140

El entrevistador aclara si el candidato ve la condición del problema.

135

¿Cuál es su experiencia con Python y cuánto tiempo lo ha estado usando en sus proyectos?

Junior — Middle
135
/5