Подборка объединяет вопросы, отмеченные на этапах интервью в Avito. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: mobile, go, frontend.
В Go обмен информацией между двумя горутинами обычно реализуется с помощью каналов (channels). Каналы позволяют безопасно передавать данные между горутинами и синхронизировать их работу.
Правильная команда для отправки локальной ветки feature/auth на удалённый репозиторий origin и одновременной настройки отслеживания одноимённой удалённой ветки:
Процесс — это экземпляр выполняющейся программы, имеющий собственное адресное пространство, выделенные системные ресурсы (файловые дескрипторы, сокеты и т.д.) и как минимум один поток выполнения.
Гонка данных (race condition) в Go — это ситуация, когда несколько горутин одновременно обращаются к одной и той же переменной без должной синхронизации, и хотя бы одна из них изменяет её.
Обработка ошибок — это механизм в программировании, который позволяет программе корректно реагировать на непредвиденные ситуации, такие как ошибки ввода, проблемы с сетью или неправильные данные.
На последнем месте работы команда состояла из 8 человек: 5 разработчиков, 1 тимлид, 1 QA-инженер и 1 продакт-менеджер. Я занимал позицию senior Golang-разработчика.