Golang
Какво означава преизчисляването на историческите данни при реализирането на patch процеса за зареждане и преизчисляване на историческите данни? Защо трябва да се прави всяка нощ?
Разкажи за нивата на изолация на транзакциите
Какво е stack и heap?
Има ли ограничения, когато няколко инстанции на потребител четат от Kafka?
Какви индекси има в PostgreSQL? Как да се справите с бавен заявка?
Какви видове gRPC взаимодействия сте използвали? Можете ли да ги назовете?
Какво се случва след въвеждането на google.com в браузъра и натискането на Enter? Опишете целия процес и участниците.
Кои примитиви за синхронизация познаваш в Go?
Как поддържа Go HTTP/2?
Разкажи за конкурентната обработка — как ограничиха паралелизма, как избираха параметрите чрез измервания?
Кои примитиви за синхронизация познаваш?
Какво е volume в Docker?
Каква е разликата между EXPLAIN и EXPLAIN ANALYZE?
Къде се съхраняват низовете в Go: в heap или в стека?
Има HTTP обработчик, който извършва сложен SELECT в базата данни, и потребителят не е доволен от дългото чакане. Каква е последователността от действия за диагностика и оптимизация?
/* Има приложение с архитектура на микросервизи. Микросервисът може да бъде абстрахиран чрез интерфейса Backend. За достъп до екземпляр на микросервиса, можете да използвате типа BackendImpl, който вече е реализиран. За всеки микросервис има няколко десетки работещи екземпляра, всеки достъпен по свой адрес addr. Обаче отделните екземпляри на микросервиса не са надеждни: те могат да падат, да са недостъпни или претоварени. Затова трябва да реализирате типа Balancer, който също реализира интерфейса Backend и извършва баланс на натоварването между екземплярите на микросервиса, избирайки всеки път **най-малко натоварения** екземпляр. */ type Request interface{} type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr съдържа ip:port на конкретен екземпляр func NewBackend(addr string) *BackendImpl type Balancer struct { //TODO } var _ Backend = &Balancer{} // addrs съдържа адресите на всички балансирани екземпляри func NewBalancer(addrs []string) *Balancer { //TODO }
Използвали ли сте някога облачни услуги? Yandex, Google, AWS или други облачни услуги?
Какво е латентност, пропускателна способност, MTU и Keep-Alive?
Може ли да се направи EXPLAIN ANALYZE в продукция?
От каква сума разглеждате предложение?