Qual é a complexidade temporal do seu algoritmo considerando o ciclo while aninhado? É O(n) ou O(n²)?
Python
Tem experiência prática no uso de plataformas e serviços em nuvem?
Qual foi a razão da sua decisão de deixar o seu cargo anterior?
O que fazer a seguir no algoritmo quando não é mais possível mover a fronteira esquerda (o aperto da janela parou na etapa atual)?
Com que sistemas de gestão de bases de dados já trabalhou nos seus projetos?
Quais as suas habilidades e conhecimentos que pode usar para se avaliar como desenvolvedor?
Como saberemos que a janela atual (entre dois ponteiros) já contém todos os caracteres do alfabeto?
Fala sobre um caso técnico interessante ou um problema que teve que resolver.
Qual é a faixa salarial que você propõe para esta posição?
Qual foi o número de trabalhadores temporários ou estagiários na empresa durante um período específico?
Qual é o limite máximo de operações por segundo que atingiu ou conhece para o seu sistema ou projeto?
Utiliza na sua atividade outros idiomas de programação além do principal?
Estás a pensar em mudar de linguagem de programação para trabalhar ou aprender?
Que tipo de comportamento ou carácter dos colegas lhe causa antipatia ao trabalhar em equipe?
Já utilizou alguma árvore ou estrutura de dados na prática em seus projetos?
Quanto tempo trabalhou no seu emprego anterior?
```python BILLS = (5000, 1000, 500, 100, 50) 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 class ATM(): def __init__(self, atm_api: SDK): self.atm_api: SDK = atm_api def withdraw(self, amount: int) -> bool: bills_plan: dict[int: int] = {} for bill in BILLS: available = self.count_bills(bill) num_bills = min(available, amount // bill) bills_plan[bill] = num_bills amount -= num_bills * bill if amount != 0: return False # Cannot dispense the exact amount self.atm_api.open_dispenser() for bill, count in bills_plan.items(): if count > 0: self.atm_api.move_banknote_to_dispenser(bill, count) return True ```
Tens conhecimentos sobre a estrutura de árvores e seus nós no contexto de algoritmos ou dados?
Qual é a sua abordagem preferida para organizar o trabalho?
O que o motivou a deixar o seu cargo anterior?