Перейти к содержимому

Lamoda / Ламода - 1

  • За счет чего обеспечивается отказоустойчивость Kafka? brokers/kafka
  • Какие гарантии доставки предоставляет Kafka? brokers/kafka
  • Что подразумевает под собой гарантия доставки «at most once»? go/sync
  • Что подразумевает под собой гарантия доставки «at least once»? brokers/general
  • Что делать, если у нас «at least once», но при этом бизнес-логика чувствительна к дубликатам запросов? brokers/general
  • Какие плюсы и минусы микросервисной архитектуры? architecture/microservices
  • Расскажите, что знаете про распределенные транзакции. architecture/microservices
  • Как решается проблема дубликатов входящих запросов? architecture/patterns
  • Лайвкодинг: первая задача. misc/general
  • Что выведет программа? go/puzzles
  • Как устроен слайс? go/slices-arrays
  • Как работает append? go/slices-arrays
  • Какая временная сложность доступа к элементам слайса? algorithms/complexity
  • Какая временная сложность добавления элемента в конец слайса? algorithms/complexity
  • Как бы ты исправил представленную программу, чтобы foo() не влияла на arr? go/slices-arrays
  • Кривой вопрос про то, можно ли предвыделить память при помощи make(). go/memory-gc
  • Лайвкодинг: вторая задача. misc/general
  • Что выведет программа? go/puzzles
  • Что бы ты улучшил в представленной программе? misc/general
  • Почему wg.Add(1) нельзя делать прямо в начале ожидаемой горутины? go/concurrency
  • В какой последовательности в представленной программе отработают запущенные горутины? go/concurrency
  • Какие проблемы могут быть, если в представленной программе в urls будет 100k урлов? go/concurrency
  • Как можно обойти эти проблемы? go/concurrency
  • Расскажите про планировщик. go/concurrency
  • Что такое горутина? go/concurrency
  • В какой момент происходит переключение горутин? go/concurrency
  • Какой-то странный вопрос про поведение планировщика при сетевых запросах. go/concurrency
  • Что такое netpoller? go/runtime
  • Что происходит с горутиной, когда она блокируется на чтении файла? go/concurrency
  • Какие отличия между сетевым запросом и чтением из файла с точки зрения планировщика? go/concurrency
  • Исправь представленную программу, чтобы как только какая-нибудь горутина ответила с ошибкой, то программа завершилась. go/concurrency
  • Что такое context? go/context
  • Какие контексты бывают? go/context
  • Для чего используется context.WithValue? go/context
  • Что выведет программа? go/puzzles
  • Как обнаружить гонку? go/sync
  • Что будет, если в программе мы будем читать по ключу «a», а писать по ключу «b»? go/concurrency
  • Как избежать гонки в представленной программе? go/sync
  • Чем отличаются Mutex и RWMutex? go/sync
  • Почему ты предпочитаешь использовать map+RWMutex, а не sync.Map? go/sync
  • Какие примитивы синхронизации ты знаешь? go/sync
  • Какие ключи можно использовать для мапы? go/maps
  • Как устроена мапа? go/maps
  • Что выведет программа? go/puzzles
  • Как поправить представленную программу? misc/general
  • Начинаю писать решение. misc/general
  • Что выведет программа? go/puzzles
  • Как поправить программу? misc/general
  • Для чего используются интерфейсы? Что можете сказать про dependency injection? architecture/principles
  • Столкнулись ли с чистой/гексогональной архитектурой? architecture/general
  • Расскажите про многослойную архитектуру; architecture/general
  • Что такое интерфейс any? go/interfaces
  • Как работать с any? go/interfaces
  • Что такое индексы в бд? sql/indexes
  • Что такое составные индексы? sql/indexes
  • Базы данных: четвертая задача (транзакции + блокировки и прочие радости). sql/transactions
SET enable_seqscan TO off;