Millised töötajate omadused aitavad luua tõhusat ja harmoonilist meeskonda?
Python
Kas saaksid selgitada, kuidas funktsioon next() töötab?
Kuidas saab määrata teie eelneva meeskonna osalejate arvu?
Kandidaat palub selgitada pakutud lahendust (miks on vaja võrrelda minimaalsete ja maksimaalsete paaride korrutisi).
Millal te viimati lahendasite algoritmilisi ülesandeid praktika või projektide jaoks?
Kas saame hinnata selle lahenduse keerukust (aega ja mälu)? Ja miks keerukus ei ole O(n^2)?
Kuidas rakendada lihtsat lukustusmehhanismi (lock) mälus, et kaitsta konkurentselise juurdepääsu eest ilma väliste sõltuvusteta?
# Pangaautomaat, mis laaditakse kassettidega, millel on meie rakendus pardal # peab suutma välja anda kupüüre määratud summas või vastata keeldumisega # Kupüüride väljastamisel arvestatakse need pangaautomaatide saldost maha. # Lubatud nimiväärtused: 50R, 100R, 500R, 1000R, 5000R. class ATM: pass # koha koodile # Pangaautomaadi seade: # - raha paikneb pangaautomaadi sees kassettides, mida laadib inspektor ja täidab; # - igas kassettis on oma nimiväärtusega kupüürid; # - pangaautomaadil on võimalik lugeda järelejäänud kupüürid kassettides, kuid see operatsioon võtab kaua aega - seda tuleks teha võimalikult harva. # API liides pangaautomaadi seadmetega suhtlemiseks: # SDK liides võib olla muudetud/laiendatud poolte kokkuleppel, kui see on vajalik 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
Milline oli suurim andmemaht, mida olete kunagi oma praktikas jooksul salvestanud või töötlenud?
Kas teil on kogemusi jaotatud süsteemide toetamisel või arendamisel?
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
Kas teil on kogemusi jaotatud arhitektuuridel põhinevate süsteemide loomisel ja hooldamisel?
# OneEditApart("kass", "koer") -> vale # OneEditApart("kass", "kassid") -> tõsi # OneEditApart("kass", "lõikama") -> tõsi # OneEditApart("kass", "loss") -> tõsi # OneEditApart("kass", "l") -> tõsi # OneEditApart("kass", "tegevused") -> vale def OneEditApart(s1, s2) -> bool:
Millistes riikides kaalute töö- või koostöövõimalusi?
Kas teil on meie kohta küsimusi rolli või ettevõtte kohta?
Millises etapis on teie töö või projekti otsing praegu?
```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 ```
Intervjueerija selgitab, kas kandidaat näeb ülesande tingimust.
Kas teil on kogemusi frontend arendusega?
Kuidas me kujutaksime ette graafi, mida selle ülesande jaoks vajame, ja kuidas sellest vastust (marsruuti) saada?