Python
# Írjon kódot a cache függvényhez. Ez egy dekorátor, amelynek # meg kell jegyeznie, hogy mit adott vissza a dekorált függvény, és # vissza kell adnia a tárolt értéket ismételt híváskor ugyanazokkal a argumentumokkal. # # Feltételezhető, hogy minden argumentum hash-olható. # Csak a Python szabványos könyvtárát használja.
Mit tud az aszinkron generátorokról?
Milyen könyvtárat használt a Kafka-val való interakcióhoz, és miért ezt választotta a klasszikus Kafka-könyvtár helyett?
Milyennek kell lennie a Python szótár kulcsainak?
Mennyire érzi magát kényelmesen a PostgreSQL és a tiszta SQL használatában az ORM, például SQLAlchemy helyett?
Hogyan befolyásolják a indexek az adatbázis teljesítményét?
Érdekel az fejlesztési architektúrába való mélyebb belemerülés? Adj példát arra, hogy szorosan együttműködtél az architektúrával, ha volt ilyen.
Milyen rendezést használ a Python, és mi a komplexitása?
Milyen munkafolyamatot keres: irodai, hibrid vagy távoli?
Lehet-e dekorátort implementálni egy módszerhez osztályon keresztül, és hogyan?
Meséljen a legbonyolultabb technikai vagy termékhez kapcsolódó kihívásról, amellyel szembesült: mi volt a probléma és hogyan oldotta meg?
Milyen felmondási idővel rendelkezik munkaviszonyának megszüntetése előtt?
Hogyan méred a válaszok minőségét, milyen konkrét mérőszámokat használsz, hogy ez ne csak 'szemmel' legyen?
# # Feltételezhetjük, hogy minden argumentum hash-olható. # Csak a Python szabványos könyvtárát használja. _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")
Hogyan fordítsuk meg a [1,2,3] listát [3,2,1]-re? Mi a különbség a reverse() és a szeletelés között?
Mi a stabil és instabil komponensek?
# biztosítani az end() hívását a g() függvényben # ne módosítsa a függvényeket, kivéve a g()-t 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(): ...
Milyen a fizetési elvárásod?
Mi azok a mágikus módszerek (dunder módszerek)? Miért nevezik őket mágikusnak?
Miért lehet egy sztringet megszorozni egy számmal, de nem lehet egy sztringet összeadni egy számmal?