Sobes.tech

Python

Tem experiência prática no uso de plataformas em nuvem para armazenamento de dados?

Intern — Junior
154

Qual foi o maior volume de dados armazenados nos projetos?

154

Como implementar um mecanismo simples de bloqueio (lock) na memória para proteção contra acesso concorrente sem usar dependências externas?

153

Qual foi o tamanho máximo de dados que você já armazenou ou processou na sua prática?

Junior — Middle
152

Como tratar os casos limites de entrada de dados — números negativos, somas demasiado grandes, valores incorretos?

151

```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 ```

149

# Multibanco que se carrega com cassetes de notas, com a nossa aplicação a bordo # deve ser capaz de dispensar notas para um valor especificado ou responder com uma recusa # Ao dispensar notas, estas são debitadas do saldo do multibanco. # Denominações permitidas: 50€, 100€, 500€, 1000€, 5000€. class ATM: pass # espaço para código # Dispositivo do multibanco: # - o dinheiro está localizado em cassetes dentro do multibanco, carregadas pelo inspetor e recarregadas; # - cada cassete contém notas de uma denominação; # - o multibanco pode contar as notas restantes nas cassetes, mas esta operação leva tempo - deve ser chamada o menos possível. # API para interação com o equipamento do multibanco. # a interface SDK pode ser alterada/expandida por acordo entre as partes, se necessário 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

149

Quando foi a última vez que resolveu problemas algorítmicos para prática ou projetos?

Junior — Middle
149

Tem experiência na criação e manutenção de sistemas baseados em arquiteturas distribuídas?

Junior — Middle
147

# OneEditApart("gato", "cão") -> falso # OneEditApart("gato", "gatos") -> verdadeiro # OneEditApart("gato", "corte") -> verdadeiro # OneEditApart("gato", "castelo") -> verdadeiro # OneEditApart("gato", "a") -> verdadeiro # OneEditApart("gato", "atos") -> falso def OneEditApart(s1, s2) -> bool:

146

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

146

Em quais países está considerando opções de trabalho ou colaboração?

Junior — Middle
144

Em que fase está atualmente a sua procura de emprego ou projeto?

Junior — Middle
143

Qual é a sua experiência com Python e há quanto tempo o utiliza nos seus projetos?

Junior — Middle
143

Tem experiência em suporte ou desenvolvimento de sistemas distribuídos?

142

Fala-me mais sobre o teu último projeto: em que consistia, que tarefas realizaste, qual foi a tua área de responsabilidade?

142
/5