Golang
Jaký je rozdíl mezi procesy, vlákny a goroutines v Go?
Co je zásobník a halda v kontextu správy paměti? Kdo má přístup ke zásobníku a haldě? Proč zásobník funguje rychleji?
Jak zjistit, proč pero reaguje pomalu? Jak používat pprof?
Vytváří se pro každou gorutinu nový vlákno operačního systému?
Jaké kritéria jsou pro vás důležitá při výběru společnosti?
Získejte otázku/úkol z pohovoru z tohoto snímku obrazovky. Zachovejte původní jazyk.
Jak funguje sběrač odpadu v Go? Kdy se spouští? Lze ho spustit ručně?
Mohl byste mi podrobněji popsat složení současného týmu, kolik je v něm lidí a jaké jsou jejich role — byli tam testovači, analytici?
Standardně 2 týdny nebo trochu více na přechod?
Vysvětlete strukturu limitátoru rychlosti a funkci Allow. Jaké konfigurační parametry jsou používány a k čemu slouží?
Jak v zásadě funguje tým, jaký je proces, jak komunikuješ s kolegy?
Pracoval jste dříve v oblasti outsourcingu?
Co je to kanál v Go a jaké jsou jeho hlavní oblasti použití?
Co je to panic v Go? Čím se panic liší od deadlocku?
Lze použít struktury jako klíče v mapě?
Lze vytvořit index pouze na repliku, nikoli na masteru?
Jak je realizována izolace kontejnerů na úrovni jádra Linux? Povězte nám více o namespaces
Jaké máte zkušenosti s Linuxem?
Máte povolení k práci nebo občanství pro práci v Itálii?
Implementujte vlákno-bezpečný in-memory rate limiter pomocí algoritmu Sliding Window nebo Token Bucket. Rozhraní: type RateLimiter interface { Allow(key string) bool } Požadavky: - Omezení: N požadavků za T sekund na jeden klíč - Vlákno-bezpečná implementace - Bez externích knihoven - Minimalizovat zámky - Vysvětlete: - možné race conditions - vliv na GC - chování při velkém počtu klíčů Vstupní parametry: NewRateLimiter(limit int, window time.Duration)