Sobes.tech

Python

# V současné době dokumentace a požadavky na tento kód nejsou přesné na 100% # a místy nejsou aktuální, takže je zde nezveřejňujeme. # Samotný kód běží na produkčních serverech, jejichž výsledky využívají různé # systémy, některé napsané v COBOLu, jiné na arktických platformách na ropných plošinách, # které přijímají vstupní data prostřednictvím jednostranného signálu ze satelitů. # Nechtěli bychom nic z toho rozbít, a pak to muset opravovat. # Proto by měly požadavky "co a jak má tento kód dělat" vycházet z toho, jak v současnosti funguje. db = Model() def process(data): print("velikost souboru: " + str(len(data))) řádky_uživatelů = open("/opt/data/users.txt").read().splitlines() výsledek = [] for řádek in řádky_uživatelů: řádky_transakcí = open("/opt/data/transactions.txt").read().splitlines() process(řádky_transakcí) for str2 in řádky_transakcí: parts = str2.split() is_valid = db.check_transaction( user_id=parts[3], change=parts[4], ) if not re.search("\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2}\s+\d+\s+\w+\s+\d+\.\d+", str2): continue user_id = řádek.split()[0] regdate = db.get_regdate(user_id) if re.search("\d{4}-\d{2}-\d{2}", regdate) and re.search("\d+\.\d+", parts[4]): výsledek.append(str2) if len(výsledek) > 0: print("shoda")

112

Je nutné ověřit strukturu POUZE na správnost otevírání a zavírání závorek. testová data = [ "[][[]]", # platné "[[[]]]", # platné "[][][]", # platné "]]][[", # neplatné "[[[]", # neplatné "[]]", # neplatné "[[]]", # neplatné "][]]", # neplatné "[]][[]", # neplatné "[][[]", # neplatné ] def je_validní(hodnota: str):

111

Proč je při práci se soubory potřeba kontextový manažer with? Kde se ještě používá?

105

Co je to jednotkový test a k čemu slouží mock objekty?

102

Zobrazte 5 nejlepších uživatelů podle počtu provedených transakcí.

87

Uveďte počet uživatelů zaregistrovaných za posledních 30 dní a seřaďte výsledek podle data registrace.

85

Jak zajistit samostatné zobrazení poplatku v historii transakcí při zachování správnosti a atomarity převodu?

83

Jak zorganizovat vybírání poplatků při převodu peněz mezi uživateli: jaké otázky položit podnikání a jaká technická řešení navrhnout?

83

Při práci s databázemi jste někdy používali ORM a psali si vlastní SQL dotazy?

79

Tabulka obsahuje 100–500 milionů záznamů a práce s ní se stala pomalou. Co lze udělat pro optimalizaci?

76

Stručně vysvětlete, co jsou fixture v pytest a jak se od sebe liší.

74

Implementujte pseudokód pro sběr poplatků v existující metodě `User.transfer`: jaké vstupy a kontroly jsou nutné?

73

Po zavedení poplatku jsou peníze odečteny od uživatelů, ale správce nevidí příjmy společnosti. Kde by mohly být peníze a jak je diagnostikovat?

72

Kdo by měl platit poplatek při převodu a jak by měl být záznam v operaci reflektován?

70

Jak změnit datový model tak, aby jednoznačně spojil čtyři transakce jednoho převodu a poté provedl vrácení jedním krokem?

66

Pracoval jste někdy s Dockerem nebo Kubernetesem?

58

Jak se pohybujete a pracujete v systémech Unix: jak se připojit a provádět základní diagnostiku?

50
/9