Подборка объединяет вопросы, отмеченные на этапах интервью в Яндекс Маркет. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: channels, concurrency, goroutines.
SpinLock — это примитив синхронизации, который при попытке захватить уже занятый лок блокирует поток не переходя в состояние ожидания (sleep), а выполняет активный цикл ("крутится" — spin), проверяя доступность локера.
Чтобы найти анаграммы слова в словаре на Go, можно использовать сортировку букв слова как ключ. Все слова, которые при сортировке букв дают одинаковую строку, являются анаграммами друг друга.
Да, у меня есть опыт настройки CI/CD для фронтенд-приложений. Обычно я использовал инструменты вроде GitHub Actions, GitLab CI или Jenkins для автоматизации сборки, тестирования и деплоя.
Вот пример реализации функции asyncAuth с callback-интерфейсом, которая возвращает Promise, и функции tryAuth(n), которая повторяет попытки при ошибке: