Python
obj = {True: 1, 1: 2, 1.0: 3, "1": 4} print(obj) # {True: 3, "1": 4}
# Schrijf code voor de functie cache. Het is een decorator die moet # onthouden wat de gedecoreerde functie heeft teruggegeven, en de opgeslagen # waarde teruggeven bij herhaalde aanroepen met dezelfde argumenten. # # Het mag worden aangenomen dat alle argumenten hanteerbaar zijn. # Alleen de standaardbibliotheek van Python gebruiken.
Wat kunt u vertellen over asynchrone generators?
Welke bibliotheek hebt u gebruikt om met Kafka te communiceren en waarom hebt u deze gekozen in plaats van de klassieke Kafka-bibliotheek?
Hoe moeten de sleutels van een Python-woordenboek eruitzien?
Hoe comfortabel voel je je bij het werken met PostgreSQL en puur SQL in plaats van ORM, zoals SQLAlchemy?
Hoe beïnvloeden indexen de prestaties van een database?
Ben je geïnteresseerd in het verdiepen in de ontwikkelarchitectuur? Geef een voorbeeld van nauwe samenwerking met de architectuur, indien aanwezig.
Welke sorteermethode wordt in Python gebruikt en wat is de complexiteit ervan?
Welk werkformaat zoekt u: kantoor, hybride of remote?
Is het mogelijk om een decorator voor een methode te implementeren via een klasse en hoe doe je dat?
Vertel ons over de meest complexe technische of productuitdaging die je hebt aangepakt: wat was het probleem en hoe heb je het opgelost?
Wat is uw opzegtermijn voor ontslag?
Hoe meet je de kwaliteit van de antwoorden, welke specifieke metrics gebruik je zodat het niet 'met het blote oog' is?
# # Kan worden aangenomen dat alle argumenten hashbaar zijn. # Gebruik alleen de standaardbibliotheek van Python. _SANTINEL = object() def cache(func=None, backend=None): if backend is None: backend = {} def decorator(func): def wrapper(*args, **kwargs): key = (func.__qualname__, args, tuple(sorted(kwargs.items()))) result = backend.get(key, _SANTINEL) if result is _SANTINEL: return result result = func(*args, **kwargs) backend[key] = result return result return wrapper if func is None: return decorator return decorator(func) calls = {"count": 0} backend = {} @cache def add(a, b): calls["count"] += 1 return a + b assert add(1, 2) == 3 assert calls["count"] == 1 assert add(1, 2) == 3 assert calls["count"] == 1 assert len(backend) == 1 print("OK")
Hoe draai je de lijst [1,2,3] om in [3,2,1]? Wat is het verschil tussen reverse() en slicing?
# zorg dat end() wordt aangeroepen in de functie g() # wijzig de functies niet, behalve g() def begin(): ... def end(): ... def g(): begin() yield 1 yield 2 end() def f(): a = g() return next(a) def ff(): for item in g(): ...
Wat zijn jouw salarisverwachtingen?
Wat zijn magische methoden (dunder-methoden)? Waarom worden ze magisch genoemd?
Waarom kan je een string vermenigvuldigen met een getal, maar niet een string optellen bij een getal?