Sobes.tech

Python

Millised töötajate omadused aitavad luua tõhusat ja harmoonilist meeskonda?

Junior — Middle
147

Kas saaksid selgitada, kuidas funktsioon next() töötab?

146

Kandidaat palub selgitada pakutud lahendust (miks on vaja võrrelda minimaalsete ja maksimaalsete paaride korrutisi).

144

Millal te viimati lahendasite algoritmilisi ülesandeid praktika või projektide jaoks?

Junior — Middle
142

Kas saame hinnata selle lahenduse keerukust (aega ja mälu)? Ja miks keerukus ei ole O(n^2)?

142

Kuidas rakendada lihtsat lukustusmehhanismi (lock) mälus, et kaitsta konkurentselise juurdepääsu eest ilma väliste sõltuvusteta?

142

# 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

141

Milline oli suurim andmemaht, mida olete kunagi oma praktikas jooksul salvestanud või töötlenud?

Junior — Middle
141

Kas teil on kogemusi jaotatud süsteemide toetamisel või arendamisel?

141

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

141

Kas teil on kogemusi jaotatud arhitektuuridel põhinevate süsteemide loomisel ja hooldamisel?

Junior — Middle
140

# 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:

140

Millistes riikides kaalute töö- või koostöövõimalusi?

Junior — Middle
139

Millises etapis on teie töö või projekti otsing praegu?

Junior — Middle
137

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

136

Intervjueerija selgitab, kas kandidaat näeb ülesande tingimust.

133

Kas teil on kogemusi frontend arendusega?

Junior — Middle
130

Kuidas me kujutaksime ette graafi, mida selle ülesande jaoks vajame, ja kuidas sellest vastust (marsruuti) saada?

130
/5