İşinizde Go dilinin çekiciliği ve kullanım potansiyelini nasıl değerlendiriyorsunuz?
Python
Mülakat aşamasında teknik kontrolün yapılması uygun olan durumlar nelerdir?
next() nasıl çalışıyor anlatabilir misin?
Dış bağımlılıklar kullanmadan eşzamanlı erişime karşı koruma sağlamak için bellekte basit bir kilit (lock) mekanizması nasıl uygulanır?
Önceki ekibinizdeki katılımcı sayısını nasıl belirleyebilirsiniz?
Uygulamanızda hiç depoladığınız veya işlediğiniz en büyük veri boyutu neydi?
Bu çözümün karmaşıklığını (zaman ve bellek açısından) değerlendirebilir misin? Ve neden karmaşıklık O(n^2) değil?
Son ne zaman algoritmik problemleri pratik veya projeler için çözdünüz?
# ATM, que se carrega com cassetes de notas, com o nosso aplicativo 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 ATM. # Denominações permitidas: 50₽, 100₽, 500₽, 1000₽, 5000₽. class ATM: pass # espaço para código # Dispositivo do ATM: # - o dinheiro está localizado em cassetes dentro do ATM, carregadas pelo inspetor e recarregadas; # - cada cassete contém notas de uma denominação; # - o ATM 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 ATM. # 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
Dağıtık mimarilere dayalı sistemler oluşturma ve bakımında deneyiminiz var mı?
# OneEditApart("kedi", "köpek") -> yanlış # OneEditApart("kedi", "kediler") -> doğru # OneEditApart("kedi", "küt") -> doğru # OneEditApart("kedi", "kast") -> doğru # OneEditApart("kedi", "at") -> doğru # OneEditApart("kedi", "eylemler") -> yanlış def OneEditApart(s1, s2) -> bool:
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
Dağıtık sistemleri destekleme veya geliştirme deneyiminiz var mı?
Bize rol veya şirket hakkında sorularınız var mı?
Hangi ülkelerde çalışma veya işbirliği seçeneklerini değerlendiriyorsunuz?
İş veya proje aramanız şu anda hangi aşamada?
```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 ```
Mülakatçı, adayın problem koşulunu görüp görmediğini netleştirir.
Son projen hakkında daha detaylı bilgi ver: neydi, hangi görevleri yaptın, sorumluluk alanın neydi?
Ön uç geliştirme konusunda deneyiminiz var mı?