Your AI powered learning assistant

Собеседование Senior Go-разработчика / Даниил Подольский, Владимир Балун - Антон Зиновьев

Вступление

00:00:00

Формат открытого интервью и привлечение экспертов Сегодняшнее открытое собеседование для старшего разработчика Go будет состоять из двух частей: раздел общей беседы с вопросами, за которым последует живое кодирование. Цель занятия - обсудить назначение этих вопросов, как правильно на них отвечать, советы по подготовке и общее поведение во время собеседования. Из—за ограниченного личного опыта эффективного проведения интервью в одиночку я пригласил двух известных интервьюеров Go community — Данила Подольского из Yadro и Владимира Балуна из Яндекса - вести каждую часть соответственно.

Знакомство с интервьюерами Данилом Подольским и Владимиром Балуном Данил известен своей статьей "Коллеги, вы меня разочаровываете", в которой он делится своим знаменитым методом анкетирования при проведении интервью; он также активно участвует в конференциях и на моем канале подкастов. В настоящее время работает в компании Yadro, а также часто появляется на различных платформах, включая мою. С другой стороны, Владимир возглавляет небольшую инфраструктурную команду в Яндексе, а на своем собственном YouTube-канале публикует образовательный контент, аналогичный моему, который включает в себя открытые интервью, подобные сегодняшнему мероприятию.

Интерактивное Вовлечение Аудитории Во Время Прямых Трансляций "Прямые трансляции предоставляют зрителям более ранний доступ по сравнению с записанными сессиями из-за временных разрывов между датами записи и релиза". Мы активно отвечаем на интересные запросы зрителей через чат на протяжении всех наших мероприятий, обеспечивая интерактивное взаимодействие. Чтобы быть в курсе будущих мероприятий, следите за анонсами, распространяемыми в основном через Telegram-каналы, где идеи / форматы часто формируются на основе отзывов аудитории, влияющих на принятие решений об оценке кандидатов, таких как выбор старшего уровня вместо среднего / младшего, которые мы видим сегодня

Разговорная часть - Даниил Подольский

00:05:22

Вступительная часть интервью и информация о кандидате Даниил Подольский начинает собеседование с разъяснения своей роли в выработке рекомендаций, а не предложений. Кандидата просят поделиться достижениями за последние три года, рассказав об улучшениях, достигнутых коллегами за счет разработки утилит и стандартизации микросервисов.

Технологические преимущества языка Go Основное внимание в ходе обсуждения уделяется технологическим преимуществам языка Go, таким как его простота, встроенные инструменты, такие как трассировщики и отладчики, простота параллелизма с использованием "зеленых" потоков (goroutines), которые более эффективны из-за их легкого характера по сравнению с потоками операционной системы.

Проблемы, связанные с обработкой ошибок в Go Обработка ошибок в Go генерирует стандартный код; ручное управление памятью в настоящее время невозможно, но может улучшиться с появлением новых функций, таких как memory arenas. Написание расширений для других языков с использованием Go является сложной задачей, поскольку каждый экземпляр имеет свою среду выполнения.

Лайв-кодинг - Владимир Балун

00:56:39

Введение в практические задачи кодирования Владимир Балун проведет практическое занятие по программированию, подчеркнув, что основное внимание будет уделено решению реальных задач, а не алгоритмическим головоломкам, типичным для собеседований в таких компаниях, как Яндекс. Он объясняет свой подход и определяет ожидания участников.

Понимание проблем с производительностью PostgreSQL Обсуждение начинается с выявления проблем с производительностью в базе данных PostgreSQL, хранящей журналы. На первом этапе необходимо собрать жалобы пользователей на медленную работу и понять их ожидания. Анализ медленных запросов с помощью таких инструментов, как Slow Log, помогает выявить проблемные запросы.

Анализ проблемных запросов с помощью EXPLAIN После выявления проблемных запросов их можно проанализировать с помощью команды EXPLAIN, чтобы понять, почему они выполняются медленно. Этот процесс показывает, где может потребоваться оптимизация, и показывает, как осуществляется доступ к данным во время выполнения запроса.

Анализ рабочих нагрузок с интенсивным чтением и интенсивной записью Рабочие нагрузки с интенсивным чтением требуют частых операций чтения, в то время как рабочие нагрузки с интенсивной записью требуют большего количества операций записи. Понимание этого различия помогает определить, следует ли применять сегментирование или другие методы оптимизации в зависимости от типа рабочей нагрузки.

Заключение

02:07:05

Сессия подкаста доставила удовольствие как спикеру, так и аудитории, а максимальная аудитория составила около 100 человек. Несмотря на некоторые технические проблемы во второй части из-за плохого подключения, запись с двух камер обеспечит лучшее качество при просмотре. Особая благодарность была выражена Антону за его спонтанное участие без подготовки перед многотысячной аудиторией.