Объясните принцип функционирования канала для передачи данных в вашем приложении.
В Go канал (channel) — это тип, который позволяет безопасно передавать данные между горутинами, обеспечивая синхронизацию и обмен сообщениями.
Читать ответПодготовка к интервью
55 вопросов с собеседований в Газпром
Что проверяют на интервью
Подборка объединяет вопросы, отмеченные на этапах интервью в Газпром. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: backend, database, go.
Каталог
В Go канал (channel) — это тип, который позволяет безопасно передавать данные между горутинами, обеспечивая синхронизацию и обмен сообщениями.
Читать ответВ Go канал должен быть инициализирован с помощью функции make перед использованием.
Читать ответСлайс в Go — это динамический, изменяемый по размеру последовательный тип данных, который представляет собой ссылку на массив.
Читать ответВ Go функция make используется для создания срезов (slice), мап и каналов. При создании среза make возвращает новый срез, который указывает на выделенный массив с заданной длиной и емкостью.
Читать ответДа, можно создать уникальный индекс на основе хеш-функции, но с оговорками. Хеш-функция преобразует данные в фиксированную длину, и теоретически разные входные данные могут иметь одинаковый хеш (коллизии).
Читать ответКонсистентность в системах хранения данных означает, что все клиенты видят согласованное состояние данных. После успешной записи данные должны быть доступны и видимы для всех последующих чтений.
Читать ответЧем отличаются буферизированный и небуферизированный каналы и какой из них быстрее передаёт данные? Каналы Go — средство синхронизации и обмена данными между goroutine Небуферизированный канал не хранит элементы:…
Читать ответконтекст: Go, выделение памяти new: резервирует память с нулевой инициализацией для указанного типа и возвращает указатель make: инициализирует и возвращает готовые к применению слайсы, карты, каналы new →…
Читать ответПамять обычно разделяют на стек и кучу. В стеке находятся локальные переменные и параметры функций. Размер стека ограничен, зато выделение и освобождение памяти выполняются быстро по принципу LIFO. В куче размещаются…
Читать ответКак тип receiver влияет на реализацию интерфейса двумя структурами контекст: реализация интерфейсов в Go метод с получателем-значением работает с копией объекта метод с получателем-ссылкой (указателем) способен…
Читать ответКак изменяется стек при вызове функции? в стек помещается контекст вызова функции формируется фрейм стека (Stack Frame), где хранятся параметры, локальные переменные и адрес возврата выполнение переключается на тело…
Читать ответКаналы служат примитивом синхронизации и обмена данными между goroutine Они реализованы в виде буферизированных и небУферизированных очередей Размер буферизации задаёт число элементов, которые можно отправить в канал…
Читать ответ