Parašykite rate_limit(max_calls, period) dekoratorių, kuris riboja funkcijos kvietimų skaičių naudojant slenkantį langą laike: ne daugiau kaip max_calls kvietimų per paskutinius period sekundžių. Viršijus limitą, kvietimas neturėtų būti vykdomas. Atminkite, kad funkciją gali kviesti keli srautai. Pavyzdys: @rate_limit(max_calls=5, period=60) šeštas kvietimas per minutę turėtų būti atmestas.
Python
Papaskinkite, kuo užsiiminėjote ankstesnėse darbovietėse. Pradėkime nuo įmonės [įmonė].
Kas yra stabilios ir nestabilios sudedamosios dalys?
Ką reiškia YAGNI principas?
Kaip derintumėte neišbandytą testą?
Kaip veikia `with` ir kontekstinis valdytojas?
Kas yra antis tipo?
Kokio lygio OSI modelyje veikia TCP ir UDP ir kame jie skiriasi?
Kaip indeksai sąveikauja su sąlygomis WHERE ... LIKE SQL?
Kokias bibliotekas naudojote sąveikai su RabbitMQ ir Kafka?
Ar pažįstate reguliarias išraiškas?
Kam skirti yra abstraktūs klasės?
Kaip keistis duomenimis tarp procesų?
Kokia yra sudėtingumas pridėti ir pašalinti elementus Python sąraše ir nuo ko jis priklauso?
Pateikite pavyzdį, kaip veikia polimorfizmas Python kalbos įmontuotose ar standartinėse bibliotekose.
Kodėl serveris gali atsakyti į ping, bet būti neprieinamas per TCP/UDP, pavyzdžiui, per HTTP ar FTP?
Kuriuo atveju pažeidžiamas atvirumo-uždarymo principas?
Paminėkite visus SOLID principus.
Kokia yra sprendimo su dviem rodyklėmis laiko sudėtingumas ir papildoma atmintis?
Kuo skiriasi `__new__` ir `__init__`?