Перейти к содержимому

Каналы и select

Вопросов: 134 из 51 собеседований. Источник указан в заголовке группы.

  • Какие бывают виды каналов? — встречается 2×
  • Какие бывают каналы? — встречается 2×
  • Что будет если записать в закрытый канал? — встречается 2×
  • Что будет если читать из закрытого канала? — встречается 3×
  • Что будет если писать в закрытый канал? — встречается 2×
  • Какие типы каналов бывают и как с ними работать? — встречается 2×
  • Что такое канал? Какие виды каналов бывают?
  • Что произойдет при отправке в закрытый канал?
  • Что такое select в Go? Приведите пример использования.
  • Что произойдет при попытке чтения из закрытого канала? А при записи в закрытый канал?
  • Что такое каналы в Go и для чего они нужны?
  • В чем разница между «буферизированными» и «небуферизированными» каналами?
  • Можете описать внутреннюю структуру канала?
  • Как работает оператор select?
  • Что произойдет, если закрыть уже закрытый канал?
  • Как можно избежать паники при закрытии канала?
  • For which types do you need to allocate memory? Ways to allocate memory a) Required for types: slice, map, array, chan b) var i = 0 c) make creates an object with default values d) new creates a pointer to an object
  • Data race & race condition a) What is a data race? i) Competition for data access b) Ways to prevent it i) Mutexes (sync.Mutex, sync.RWMutex ), channels c) What are mutexes? i) RWMutex - separating reads (RLock() ) and writes (Lock() ) d) Mutexes in the OS i) Protect memory regions from simultaneous access
  • Что будет, если писать в неинициализированный (nil) канал?
  • Что будет, если читать в неинициализированный (nil) канал?
  • Виды каналов в Go?
  • Какие бывают виды каналов?
  • Отличие буферизированного канала (буфер=1) от небуферизированного.
  • select: что делает, если каналы не готовы? Примеры использования.
  • Как решить на каналах?
  • Каналы это, чем буферизированный от небуферизованного отличается?
  • Как можно наладить общение между рутинами?
  • Какие виды каналов существуют в Go? Когда их используют и для чего?
  • В каких случаях и для решения каких задач следует использовать буферизованные каналы, а в каких - небуферизованные?
  • Что позволяет делать и какие особенности работы у оператора select?
  • Что делает оператор break в Go: прерывает только текущий switch /select или также цикл?
  • Как ты себе представляешь каналы. Если бы ты был разработчиком Go, как бы ты реализовал каналы?
  • что будет если писать в закрытый канал или читать из него, а канал nil?
  • Для чего нужны каналы в Go?
  • Когда блокируется небуферизированный канал?
  • Как можно одновременно работать с несколькими каналами?
  • Что произойдет, если в операторе select указаны операции чтения из двух каналов, но на момент выполнения ни в один из них не было отправлено данных? Как выйти из такого select?
  • При чтении из закрытого канала в Go возвращается нулевое значение типа. Как отличить ситуацию, когда вы прочитали реальное нулевое значение из открытого канала, от ситуации чтения из закрытого канала?
  • Если в канал передать структуру, то она скопируется?
  • What is the default value of a channel in Go?
  • What will happen when you write to the nil channel?
  • Для чего используется select в Go? Приведите пример использования.
  • В каких случаях могут потребоваться буферизированные каналы?
  • Как работают каналы? В чем разница между буферизированным и небуферизированным?
  • Чем SELECT FOR UPDATE отличается от обычного SELECT?
  • Расскажи про каналы
  • What kinds of channels are there?
  • Разница между буферизированным каналом размера один и небуферизированным (когда эффективнее)?
  • Как устроены каналы?
  • Основные виды запросов к БД. (SELECT, INSERT, UPDATE, DELETE)
  • Какие бывают каналы?
  • Можно ли читать из закрытого канала? А записать?
  • Что такое каналы?
  • Зачем нужны каналы?
  • Какие бывают каналы?
  • Аксиомы каналов?
  • Select каналов?
  • Какие типы каналов знаешь?
  • Рассказать про чтение/запись/закрытие закрытого канала/пустого канала/nil канала;
  • Как в select работает чтение из закрытого канала?
  • Какие бывают каналы? В чем их отличие?
  • Зачем придумали буферизированный и небуферизированный канал?
  • По какому принципу работает буфер?
  • Что будет, если попытаться отправить данные в закрытый канал?
  • Что будет, если попытаться закрыть уже закрытый канал?
  • Что произойдет, если использовать for range для чтения из канала, который никогда не будет закрыт?
  • Ответ дa или нет. Одно и тоже ли буферизированный канал с емкостью 1 и небуферизированный канал?
  • Что произойдет, если попытаться записать данные в закрытый канал?
  • Можно ли читать данные из закрытого канала?
  • Каналы. Нужно написать функцию, которая принимает 2 канала и возвращает третий. Селект это? Какой кейс он выберет? Блокирующие/не блокирующие операции с каналом подробнее
  • При чтении канала режим как особенности? Как узнать сколько в канале элементов если он буферизированный? У небуферизированного канала какая длина?
  • Чем основное отличие между каналами (channels) и массивами (arrays) в Go?
  • Каналы могут хранить только целые числа, а массивы могут хранить любые типы данных;
  • Каналы можно резайзить, а массивы имеют фиксированный размер;
  • Каналы и массивы используются одинаково и не имеют различий;
  • Массивы занимают больше памяти, чем каналы.
  • Что такое буферизованные каналы в Go?
  • Каналы, которые хранят данные в оперативной памяти;
  • Каналы, которые автоматически удаляют старые данные при переполнении;
  • Каналы, которые используют дополнительный кеш для хранения данных;
  • Для чего используются каналы в Go?
  • о значениях и указателях, многопоточности, интерфейсах и каналах в Go;
  • Что будет, если писать или читать в/из закрытого канала?
  • Что будет, если писать или читать в/из канала nil?
  • Что будет если записать в закрытый канал?
  • Что будет если читать из закрытого канала?
  • Что будет с циклом range когда канал буферизированный?
  • Почему каналы быстрые и легковесные?
  • Какой в pg синтаксис у select?
  • Какие существуют виды каналов?
  • Из чего состоят каналы? (структура, назначение)
  • Что будет если писать в закрытый канал?
  • Для чего предназначены каналы в Go и как они работают?
  • Какой размер буфера небуферизованного канала?
  • Чтение из закрытого канала, запись в закрытый канал, чтение/запись из канала nil.
  • Какие типы каналов бывают? Когда какой тип стоит использовать?
  • Как устроены буферизированные и небуферизированные каналы в Go?
  • Как реализовать семафор через каналы?
  • Есть ли разницы в скорости у буферизованных и небуферизованных каналов?
  • Какие типы каналов есть в Go?
  • Live coding task: Implement a function that multiplexes channels and returns a result channel without waiting for them to merge.
  • Расскажи про каналы. Какие каналы бывают? А в чем отличие буф от не буф?
  • Что такое каналы и для чего нужны?
  • Можно ли сказать что небуферизованный канал это канал с буфером 1?
  • Что будет при чтении из закрытого канала? А писать?
  • Написать фукцию которая из канала вычитывает числа и находит K максимальных чисел сделать чтобы можно было прерывать ее работу:
  • Что такое каналы и зачем нужны?

Wildberries / WB - 4 (Команда поставщиков) — 1 кв 2025

Заголовок раздела «Wildberries / WB - 4 (Команда поставщиков) — 1 кв 2025»
  • Какие типы каналов бывают и как с ними работать?

Wildberries / WB - 5 (Команда спецпроектов) — 1 кв 2025

Заголовок раздела «Wildberries / WB - 5 (Команда спецпроектов) — 1 кв 2025»
  • Какие типы каналов бывают и как с ними работать?
  • Можно ли прочитать из закрытого канала?
  • Как проверить при чтении из канала получили ли мы валидное значение?
  • Можно ли два раза закрыть канал?
  • Что произойдет если записать в канал у которого нет читателя?
  • Зачем нужен select? Как выйти из select не блокируясь? (имеется в виду default ).
  • Допустим, у нас есть буферизированный канал, мы его закрываем и хотим читать из него. Что мы получим?
  • Где у канала определяется буфер? На стеке или на куче? И от чего это зависит?
  • Что такое канал?
  • zero-value канала?
  • Что будет, если читать/писать nil-канал?
  • Что будет, если читать из закрытого канала?
  • Что будет, если писать в закрытый канал?
  • Как читать из канала и не блокироваться?
  • Какая разница между небуферизованным каналом и буфер.каналом емкостью 1
  • Как читать из несколько каналов и не блокироваться, пока хоть в одном есть данные?
  • В каком порядке отрабатывают case?
  • Что произойдет в select, если один из каналов закроется?
  • Как отбросить закрытые каналы?
  • Написать код слияния данных из двух каналов в третий (возможны два варианта: с селектом или с отдельными го-рутинами)
  • Написать код слияния данных из N каналов в (N+1)-ый (возможны два варианта: с селектом или с отдельными го-рутинами)
  • Отличия switch и select?
  • Как вычитать значение из канала?
  • Что такое каналы в Go?
  • Что такое буферизированный канал?
  • Как создать буферизированный канал на 50 сообщений?
  • Какие бывают виды каналов?
  • Что будет, если читать из неинициализированного канала?
  • Что будет, если читать из закрытого канала?
  • Что будет, если записать в закрытый канал?
  • Что такое select? Какой порядок срабатывания кейсов у SELECT? Что будет с кейсом, если канал закрыт?
  • Как прочитать n элементов из канала?