Python
Czy [nazwa] jest językiem interpretowanym czy kompilowanym? W czym jest różnica między tymi podejściami?
Opisz architekturę techniczną komponentu platformy scoringowej współpracującego z modelem ML: podział usług i odpowiedzialności, komunikacja między nimi oraz Twój osobisty wkład.
obj = {True: 1, 1: 2, 1.0: 3, "1": 4} print(obj) # {True: 3, "1": 4}
# Napisz kod dla funkcji cache. To jest dekorator, który powinien # zapamiętywać, co zwróciła dekorowana funkcja, i zwracać zapamiętaną # wartość przy ponownym wywołaniu z tymi samymi argumentami. # # Można założyć, że wszystkie argumenty są haszowalne. # Używać tylko standardowej biblioteki Pythona.
Co możesz powiedzieć o generatorach asynchronicznych?
Jaką bibliotekę użyłeś do interakcji z Kafka i dlaczego wybrałeś ją zamiast klasycznej biblioteki Kafka?
Jakie powinny być klucze słownika Pythona?
Jak bardzo czujesz się komfortowo pracując z PostgreSQL i czystym SQL zamiast ORM, takiego jak SQLAlchemy?
Jak indeksy wpływają na wydajność bazy danych?
Czy interesuje Cię zagłębianie się w architekturę rozwoju? Podaj przykład bliskiej współpracy z architekturą, jeśli tak.
Jakie sortowanie jest używane w Pythonie i jaka jest jego złożoność?
Jakiego formatu pracy szukasz: biuro, hybrydowy czy zdalny?
Czy można zaimplementować dekorator dla metody za pomocą klasy i jak to zrobić?
Opowiedz nam o najbardziej skomplikowanym wyzwaniu technicznym lub produktowym, z jakim się zmierzyłeś: na czym polegał problem i jak go rozwiązałeś?
Jaki jest Twój okres wypowiedzenia przed zwolnieniem?
Jak mierzysz jakość odpowiedzi, jakie konkretne metryki używasz, aby to nie było 'na oko'?
# # Można założyć, że wszystkie argumenty są hashowalne. # Używaj tylko standardowej biblioteki Pythona. _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")
Jak odwrócić listę [1,2,3] na [3,2,1]? Czym różni się reverse() od wycinania?
# zapewnić wywołanie end() w funkcji g() # nie modyfikować funkcji, oprócz 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(): ...
Jakie są Twoje oczekiwania finansowe?