Занимались ли созданием таблиц для аналитиков в ClickHouse? С какими движками сталкивались?
Какими индексами пользовались, по каким полям выбирали и почему?
Как бы ты спроектировал сервис на 50k RPS с минимальной обработкой данных и отправкой на внешний API, с гарантией доставки и без дубликатов?
Расскажи о разработке custom парсера логов (обёртки над OpenTelemetry). Какова была твоя роль?
Что бы ты изменил в Go, если бы был мейнтейнером?
Как работает планировщик Go? Расскажи про модель GMP.
Является ли тип string в Go изменяемым или неизменяемым?
Как в целом работает стандартная схема авторизации через JWT?
Что происходит с данными при DELETE в PostgreSQL?
А в шардах, в репликах как была настроена конфигурация ClickHouse?
Что тебя демотивирует в работе?
Объясните технику решения задачи о максимальном расстоянии до ближайшего занятого места
Как устроена хэш-таблица? Какова сложность вставки и чтения? Особенности реализации в Go.
Какие библиотеки и фреймворки использовались в Go-сервисе?
Расскажи про запоминающийся фейл на работе
Задача: «Пинг-понг с таймаутом» Напишите функцию pingPong, которая: - Запускает две горутины: одна генерирует сообщения "ping", другая — "pong". - Горутины должны обмениваться сообщениями через общий канал строго по очереди. - Обмен продолжается 3 секунды, после чего программа должна завершиться (graceful shutdown). - Используйте контекст для отмены через таймаут. - Выводите каждое сообщение на экран вместе с временем (в миллисекундах от старта). Пример ожидаемого вывода: text 0ms: ping
Что выведет код при выполнении? package main import "fmt" type Counter struct { val int } func (c Counter) IncVal() { c.val++ } func (c *Counter) IncPtr() { c.val++ } func main() { c := Counter{val: 1} c.IncVal() fmt.Print(c.val, " ") c.IncPtr() fmt.Print(c.val) }
Опишите процесс компиляции Go-программы: что происходит при запуске go build?
Расскажи интересный случай на работе
По зарплатным ожиданиям, от какой суммы сейчас рассматриваешь предложение?