Влияние функции append на исходный слайс
Будет напечатано [A B TT E], затем [B TT]. Слайс b имеет длину 1, но capacity 3, поэтому append записывает TT в общий массив c.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Будет напечатано [A B TT E], затем [B TT]. Слайс b имеет длину 1, но capacity 3, поэтому append записывает TT в общий массив c.
Читать ответНельзя гарантировать даже наличие строк: main завершается без ожидания горутин. Состав значений дополнительно зависит от режима языка, определяющего переменную цикла.
Читать ответtest3 печатает ptr as pointer=2020, ptr as value=20 и a=10. Однако весь main из фрагмента не компилируется, если отсутствующая test1 нигде не определена.
Читать ответПеренесите объявление printNumber за пределы main и вызывайте её в обычном цикле. Синхронные вызовы уже обеспечивают порядок и секундную паузу.
Читать ответСначала будет напечатан 0, затем возникнет panic: assignment to entry in nil map. Последний fmt.Println не выполнится.
Читать ответПеренос в горутину сам по себе не создаст промежуточных результатов: ComputeHeavy сейчас возвращает только одно число. Для настоящего прогресса нужен поток событий от самой операции.
Читать ответПередавайте право печати по кольцу из трёх каналов. Каждая горутина печатает один элемент и передаёт сигнал следующей, поэтому получится 1–9 по порядку.
Читать ответДля fan-in используйте по читателю на канал и общий WaitGroup. Только после завершения всех читателей закрывайте выход, чтобы исключить отправку в закрытый канал.
Читать ответНужно дождаться всех горутин и передавать индекс явно. В старой семантике Go есть захват общей переменной, а в Go 1.22+ для такого цикла остаётся проблема преждевременного выхода main.
Читать ответСоздайте цепочку разрешений: каждая горутина ждёт свой сигнал, вызывает printNumber и разрешает следующую. Печать остаётся последовательной, хотя работников несколько.
Читать ответДобавляйте числа в множество и возвращайте false при первом уже встреченном значении. Если обход завершился без повторов, результат true.
Читать ответЭтот фрагмент не является корректной программой ни Go, ни Swift. По конструкции := он похож на Go: println([s0]) ошибочен, а строку нельзя изменять присваиванием s[0].
Читать ответ