Hoe kunt u het aantal deelnemers van uw vorige team bepalen?
Python
Kun je uitleggen hoe next() werkt?
De kandidaat vraagt om uitleg over de voorgestelde oplossing (waarom het vergelijken van de producten van minimale en maximale paren nodig is).
Hoe implementeer je een eenvoudig lock-mechanisme in geheugen ter bescherming tegen gelijktijdige toegang zonder externe afhankelijkheden?
Kun je de complexiteit van deze oplossing beoordelen (qua tijd en geheugen)? En waarom is de complexiteit niet O(n^2)?
Wanneer hebt u voor het laatst algoritmische problemen opgelost voor oefening of projecten?
Heeft u ervaring met het ondersteunen of ontwikkelen van gedistribueerde systemen?
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
# Geldautomaat die wordt geladen met cassettes met bankbiljetten, met onze app aan boord # moet in staat zijn om bankbiljetten uit te geven voor een opgegeven bedrag of te weigeren # Bij het uitgeven worden de bankbiljetten afgeschreven van het saldo van de automaat. # Toegestane nominalen: 50€, 100€, 500€, 1000€, 5000€. class ATM: pass # plek voor code # Apparatuur van de automaat: # - het geld bevindt zich in cassettes binnen de automaat, geladen door de inkassojournalist en opnieuw geladen; # - elke cassette bevat bankbiljetten van één nominale waarde; # - de automaat kan de resterende bankbiljetten in de cassettes tellen, maar deze operatie duurt lang - moet zo weinig mogelijk worden aangeroepen. # API voor interactie met de automaat. # de SDK-interface kan worden gewijzigd/uitgebreid in onderling overleg indien nodig 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
Heeft u ervaring met het creëren en onderhouden van systemen gebaseerd op gedistribueerde architecturen?
Wat was de maximale omvang van gegevens die je ooit hebt opgeslagen of verwerkt in je praktijk?
# OneEditApart("kat", "hond") -> onwaar # OneEditApart("kat", "katten") -> waar # OneEditApart("kat", "knip") -> waar # OneEditApart("kat", "kast") -> waar # OneEditApart("kat", "at") -> waar # OneEditApart("kat", "handelingen") -> onwaar def OneEditApart(s1, s2) -> bool:
In welke landen overweeg je werk- of samenwerkingsmogelijkheden?
In welke fase bevindt uw zoektocht naar werk of project zich momenteel?
Heb je vragen voor ons over de rol of het bedrijf?
```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 ```
De interviewer verduidelijkt of de kandidaat de voorwaarde van de taak ziet.
Heeft u ervaring met frontend-ontwikkeling?
Vanaf welk bedrag bent u bereid een aanbod te overwegen?