Вернуться в видеотекуКоротко о видео
На открытом вебинаре OTUS Владимир Балун проводит мок-собеседование по Go со студентом предыдущего потока Алексеем, который работает PHP-разработчиком и изучает Go в связи с переходом компании к микросервисам. Вопросы охватывают строки, map, массивы и slice, представление денег, goroutine, каналы, синхронизацию и неявную реализацию интерфейсов. После технической части участники обсуждают подготовку к интервью, требования вакансий, обучение и программу курса; в конце ведущий даёт Алексею обратную связь, не являющуюся решением о найме.
Затронутые темы
Что взять на заметку
- Для частого добавления фрагментов к строке стоит использовать Builder и заранее резервировать ёмкость, чтобы сократить число аллокаций.
- Массивы Go разной длины, например [5]T и [6]T, — разные типы; slice является дескриптором над массивом, поэтому результат append нужно присваивать обратно.
- Если порядок элементов не важен, первый элемент динамического массива можно удалить за O(1): поменять его местами с последним и укоротить slice.
- Для денежных значений в ключах map обсуждаются целое число минимальных единиц или структура из рублей и копеек; прямое сравнение float ненадёжно из-за погрешности, лучше сравнивать с epsilon.
- По мнению ведущего, при переходе в Go важнее инженерная база — алгоритмы, ОС, сети, БД и системный дизайн, — чем выбор второго языка программирования.
- На интервью полезно прямо обозначить незнание детали, затем объяснить ход рассуждений и предложить способ проверки; ведущий отдельно отмечает важность пограничных случаев и тестирования.
- Откликаться можно и на вакансии с незнакомыми технологиями вроде Kafka или ClickHouse, если они не критичны для задач команды; перед этим стоит освоить их базовые принципы.