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

amoCRM

Актуальность: 1 кв 2025

  • Расскажите о вашем предыдущем месте работы и проекте, над которым вы работали; hr-behavioral/about-you
  • Что входило в ваши обязанности на предыдущем проекте? hr-behavioral/general
  • Как ваш продукт интегрировался в инфраструктуру заказчика? go/structs-methods
  • Какие метрики вы записывали для ваших сервисов и почему? devops/observability
  • Что такое slice в Go и как он устроен изнутри? go/slices-arrays
  • Что такое «эффект алиасинга» при работе со слайсами и в чем его опасность? go/slices-arrays
  • Как можно безопасно работать со слайсом, чтобы избежать этого эффекта? go/slices-arrays
  • Что такое map в Go и как она работает? go/maps
  • Почему сложность операций с map в среднем считается константной? algorithms/complexity
  • Что происходит при коллизиях в map? go/maps
  • Можете описать внутреннюю структуру map? go/maps
  • Что такое бакеты в реализации map и как они работают? go/maps
  • Чем sync.Map отличается от обычной map и когда ее следует использовать? go/sync
  • Освобождается ли память сразу после удаления ключа из map? go/maps
  • Что произойдет, если попытаться получить значение по ключу, которого нет в map? go/maps
  • Что произойдет, если записать значение в nil map? go/maps
  • Что такое каналы в Go и для чего они нужны? go/channels
  • В чем разница между «буферизированными» и «небуферизированными» каналами? go/channels
  • Можете описать внутреннюю структуру канала? go/channels
  • Как работает оператор select? go/channels
  • Что такое deadlock и как его избежать? go/sync
  • Как бы вы реализовали worker pool на Go? go/concurrency
  • Что произойдет, если закрыть уже закрытый канал? go/channels
  • Как можно избежать паники при закрытии канала? go/channels
  • В чем преимущества горутин по сравнению с потоками операционной системы? linux-os/processes
  • Что такое модель планировщика GMP? go/concurrency
  • Что такое утечка горутин и как ее обнаружить? go/concurrency
  • Какие инструменты вы использовали для поиска утечки памяти в вашем проекте? go/memory-gc
  • Что такое паника в Go и как ее обрабатывать? go/errors-panic
  • Что такое «graceful shutdown» и для чего он нужен? go/sync
  • Какие состояния бывают у горутины? go/concurrency
  • Что такое local run queue и global run queue в планировщике? go/concurrency
  • Что такое «голодание» в планировщике и как его избежать? go/concurrency
  • В каких случаях происходит переключение контекста между горутинами? linux-os/processes
  • Как работает сборщик мусора в Go? go/memory-gc
  • Как работает фаза пометки в сборщике мусора? go/memory-gc
  • Когда запускается сборщик мусора? go/memory-gc
  • Можно ли управлять работой сборщика мусора? go/memory-gc
  • С какими базами данных вы работали? hr-behavioral/about-you
  • Какие типы индексов вы знаете и в чем их разница? sql/indexes
  • Чем отличается hash-индекс от B-tree индекса? sql/indexes
  • Как индексы влияют на производительность запросов? sql/indexes
  • Какие типы JOIN в SQL вы знаете? sql/query-optimization
  • Что такое нормальные формы базы данных? sql/general
  • Что такое ACID в контексте транзакций? go/context
  • Какие уровни изоляции транзакций вы знаете и какие проблемы они решают? sql/transactions
  • Какие инструменты вы использовали для оптимизации SQL-запросов? sql/query-optimization
  • Что такое репликация и шардирование базы данных? sql/replication-scaling
  • Насколько вы знакомы с Kubernetes? containers/kubernetes
  • Что такое Pod в Kubernetes? containers/kubernetes
  • Для чего нужны Deployment и Service в Kubernetes? containers/kubernetes
  • Что такое Ingress в Kubernetes? containers/kubernetes
  • Как бы вы спроектировали сервис для сокращения ссылок? architecture/system-design
  • Какой HTTP-код следует использовать для перенаправления пользователя с короткой ссылки на длинную? network/http
  • Где в HTTP-ответе указывается адрес для перенаправления? network/http