Влияние append и изменения элементов на исходный слайс
Внутри mutate выводится [0 2 3 4 1], после возврата — [0 2 3 4]. Изменение первого элемента произошло до выделения нового массива и видно вызывающему.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Внутри mutate выводится [0 2 3 4 1], после возврата — [0 2 3 4]. Изменение первого элемента произошло до выделения нового массива и видно вызывающему.
Читать ответБудет напечатано Bob и Bob. changeName переназначает локальную копию указателя, но не меняет объект, на который указывает переменная в main.
Читать ответИсходник не компилируется: переменной myError присваивается *myError, даже несмотря на if false. Если убрать &, функция вернёт ненулевой error с текстом code: 0.
Читать ответВывод: strong, затем some strong, затем some string. s2 и s1 разделяют массив байтов, а исходная строка s0 не изменяется.
Читать ответВозможны stop signal received или panic: send on closed channel. Закрытый doneCh не гарантирует выбора ветки отмены.
Читать ответОсновные риски — память, очередь планировщика, соединения и перегрузка внешних серверов. Ограничивайте число активных работников, тайм-ауты и скорость запросов к одному хосту.
Читать ответГлавный перерасход памяти вызван возвратом маленького слайса, удерживающего массив на 100 000 элементов. Скопируйте последний элемент в отдельный слайс или вычислите его напрямую.
Читать ответБудет напечатана только стартовая строка, затем программа зависнет на nil-канале и обычно завершится fatal error о deadlock. Ни один обмен сообщениями не произойдёт.
Читать ответБлокировка должна покрывать и чтение seen, и добавление ключа. Иначе остаётся data race, а два работника могут одновременно решить, что число ещё не встречалось.
Читать ответПоказанная программа уже корректно ждёт все десять горутин: Add выполняется до запуска, Done отложен внутри каждой, а Wait вызывается после цикла.
Читать ответslice1 содержит десять пустых строк, а slice2 не содержит элементов. У обоих capacity=10, но длины равны 10 и 0 соответственно.
Читать ответВыберите незакрытые выдачи с датой раньше текущего момента минус месяц и соедините их с книгами и читателями. Поля и таблицы нужно подставить из реальной схемы.
Читать ответ