Тех собес на middle-senior Golang Разработчик в ****

Доступно с премиум-подпиской

Оформите премиум-подписку, чтобы получить доступ к:

  • Фильтрации по компаниям
  • Названиям компаний в интервью
  • Видеозаписям собеседований в категории Golang Разработчик

Посмотреть видео в категории

(2025-01-16)

1) горутины, потоки И все что около них:

— чем отличаются

— может ли поток выделить себе память в течение работы? — почему горутины легковесные

— можно ли ограничить кол-во потоков?

— как думаешь, по каким критериям нужно ставить gomaxprocs? (этот вопрос вытекает из предыдущего)

— сколько одновременно может быть запущено горутин?

— а что если у меня одно ядро и я запустил 100 горутин? (этот вопрос вытекает из предыдущего)

— сталкивался ли с дедлоками?

— гошка может определять дедлоки?

— какая есть тулза для диагностики дедлоков? (я так понимаю он имел в виду goleak от uber)

2) live-coding — задача на написание своей реализации кэша из задачника

— у нас стала нагрузка на чтение и запись 50/50, что делать будем? (написать решение с партициями)

— как бы тут сделал инвалидацию кэша? (ttl)

— стоит ли кэшировать запросы которых нет в базе и в кэше? (404 ответы) (тут нужно порассуждать просто)

— задача на lru cache, порассуждать, как бы реализовал (эта задача есть в задачнике)

— задача на урлы, пробежаться по ним (есть в задачнике)

— пробежаться асинхронно — как отменить выполнение всех горутин? (контекст)

— какие бы тут тесты написал? (найти корнер кейсы)

— есть ли какая нибудь проблема со стандартным http.Get?

— sql задача пользователь чат сообщение (есть в задачнике)

— выбрать все чаты пользователя вася в формате chatid, chatname

— что будет если left join сделать? (вопрос вытекает из предыдущего)

— какой бы индекс повесил бы на этот запрос? (на васю)

— у нас распухла база, что делать будем? нужно определить какая из таблиц первая распухнет и как её шардировать

— что такое references? можем без вреда удалить первичный ключ чтобы все ссылающиеся не заругались? (нет)

— задача про сервис аналитики, типо теряем заказы, что делать будем?

— здесь либо outbox либо kafka (но он мне сказал что кафку у нас аналитика не читает)

— что делать если два outbox воркера захватили одни и те же данные? (как вариант решения select for update)

— как здесь сделать observability? (прометей логи трейсинг рассказать про это)