Подборка объединяет вопросы, отмеченные на этапах интервью в Самокат Тех. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: go, java.
Термин "Explain" в техническом контексте обычно означает процесс подробного разъяснения или описания какого-либо аспекта работы, алгоритма, кода или системы. В работе с Golang это может означать:
Коллизии в хэш-таблице Map в Go возникают, когда разные ключи имеют одинаковое значение хэш-функции, из-за чего они попадают в один и тот же бакет (корзину).
Синхронные каналы в программировании, особенно в Go, — это каналы, которые блокируют отправителя до тех пор, пока получатель не прочитает данные, и наоборот.
В Go каналы (channels) используются для передачи данных между горутинами и синхронизации их работы. Различают несколько видов каналов по характеристикам и применению:
В языке Go управление и распределение задач между горутинами осуществляется планировщиком (scheduler), встроенным в рантайм Go. Горутины — это легковесные потоки, которые запускаются с помощью ключевого слова go.
В Go строка (string) — это неизменяемая последовательность байтов, обычно представляющая текст в кодировке UTF-8. Структурно строка реализована как структура с двумя полями: указатель на массив байтов и длина.
Небуферизированные каналы в Go — это каналы, которые не имеют внутреннего буфера, то есть отправка в такой канал блокируется до тех пор, пока другой горутина не прочитает значение, и наоборот.