Подготовка к интервью для Go‑разработчиков

career bannercareer banner

Что стоит повторить

Go
Мы проверяем знания возможностей языка и устройства runtime и оцениваем варианты решения задач в различных ситуациях. Например, когда лучше использовать mutex-ы или каналы, как понять, почему приложение использует так много памяти, и т.д.
Этот блок обязательно включает задачи на написание кода в онлайне.
Архитектура
Задачи на проектирование масштабируемых и отказоустойчивых решений из реальной практики Ozon.
Алгоритмы*
Знание стандартных алгоритмов, включая разные методы сортировки и обхода графов. Оценка сложности алгоритма в нотации big O.
Базы данных*
Понимание реляционных и нереляционных БД, их отличий, сценариев использования, проектирования схем, основ оптимизации под высокие нагрузки (репликация/шардинг).
ОС и сети*
Представление о работе в терминале, сетевом стеке Linux, базовом troubleshooting-e (чем заняты ресурсы, просмотр логов и т.д.).
* Для некоторых департаментов Ozon
Мы просим не использовать сторонние технические средства или помощь третьих лиц / ИИ во время интервью. Компания оставляет за собой право аннулировать результаты интервью в случае несоблюдения этих правил

Полезные ресурсы для подготовки

Статьи
  • Джей Макгаврен «Head First. Изучаем Go»

  • Калеб Докси «Введение в программирование на Go», «Introducing Go: Build Reliable, Scalable Programs»

  • Максим Жашкевич «Язык Go для начинающих»

  • Nathan Youngman Roger Peppe «Get Programming with Go»

  • Adam Freeman «Pro Go: The Complete Guide to Programming Reliable and Efficient Software Using Golang»

  • Kevin Cunningham «For the Love of Go»

  • Тейва Харшани «100 ошибок Go и как их избежать»

Для мидлов
  • Алан Донован, Брайан Керниган «Язык программирования Go»

  • Vladimir Vivien «Learning to Go»

  • Мэтт Батчер, Мэтт Фарина «Go на практике»

  • Марк Саммерфильд «Программирование на языке Go»

  • William Kennedy, Brian Ketelsen, Erik St. Martin «Go in Action»

  • М. Клеппман «Высоконагруженные приложения. Программирование, масштабирование, поддержка»

  • К. Индрасири, Д. Курупу «gRPC. Запуск и эксплуатация облачных приложений. Go и Java для Docker и Kubernetes»

  • John Arundel «The Power of Go: Tools»

Для сеньоров
  • Nathan Cozyra «Mastering Concurrency in Go»

  • Джон Боднер «Go: идиомы и паттерны проектирования»

  • Jan Newmarch «Network Programming with Go»

  • Bartlomej Plotka «Efficient Go»

  • Gayle Laakmann McDowell «Cracking the Coding Interview: 189 Programming Questions and Solutions 6th Edition»

  • Alex Xu «System Design Interview – An insider's guide»

  • А. Петров «Распределенные данные. Алгоритмы работы современных систем хранения информации»

К вакансиям