Golang | Тесты
2.77K subscribers
23 photos
304 links
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Вопросы собесов t.me/+ajHN0OKU1okyZDky
Задачи t.me/+MURwpbl6Nq9kYzJi
Вакансии t.me/+mX_RBWjiMTExODUy
Download Telegram
🤔 Какое ключевое слово используется для объявления функции в Go с именем main?
Anonymous Quiz
1%
start
17%
main
2%
entry
81%
func
🤔 Какие типы каналов существуют?

В Go существует два типа каналов: буферизованные (buffered) и небуферизованные (unbuffered). Небуферизованные каналы требуют, чтобы отправляющая и принимающая горутина синхронизировались друг с другом, что делает их блокирующими. Буферизованные каналы имеют определённый размер буфера, и горутина может отправить сообщение в канал, не ожидая немедленного получения, пока буфер не заполнится. Оба типа каналов используются для передачи данных между горутинами и синхронизации их работы.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое ключевое слово используется для завершения выполнения программы в Go?
Anonymous Quiz
40%
break
3%
stop
1%
halt
56%
exit
🤔 Какое ключевое слово используется для получения длины массива или среза в Go?
Anonymous Quiz
6%
length
1%
count
91%
len
2%
size
🤔 Как слайсы работают?

Слайсы в Go — это динамические массивы, которые ссылаются на подмножество базового массива, но могут изменять свой размер. Они содержат указатель на базовый массив, длину и ёмкость (capacity), которая определяет, сколько элементов может быть добавлено до выделения новой памяти. Слайсы эффективны для работы с массивами, так как они позволяют обращаться к частям массива без копирования данных. Если слайс выходит за пределы своей ёмкости, создаётся новый массив, и элементы копируются.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое ключевое слово используется для объявления канала только для чтения в Go?
Anonymous Quiz
7%
read
31%
chan<-
61%
<-chan
2%
recv
🤔 Какое ключевое слово используется для объявления константного значения для типа float64 в Go?
Anonymous Quiz
1%
final
95%
const
2%
static
2%
immutable
🤔 Какие БД бывают?

Базы данных бывают реляционные (например, PostgreSQL, MySQL), которые хранят данные в таблицах и используют SQL для управления данными, и нереляционные (NoSQL), такие как MongoDB и Cassandra, которые поддерживают гибкие структуры данных, такие как документы или ключ-значение. Реляционные БД обеспечивают строгую согласованность данных и сложные запросы, тогда как NoSQL базы данных ориентированы на масштабируемость и обработку больших объёмов данных. Выбор типа БД зависит от требований приложения.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое ключевое слово используется для объявления глобальной переменной в Go?
Anonymous Quiz
13%
global
75%
var
11%
const
2%
static
🤔 Что такое WaitGroup?

`WaitGroup` в Go используется для синхронизации горутин, чтобы гарантировать, что основная горутина ждёт завершения всех дочерних горутин. Метод `Add()` увеличивает счетчик горутин, метод `Done()` уменьшает его, а метод `Wait()` блокирует выполнение до тех пор, пока счетчик не станет равен нулю. `WaitGroup` удобен для управления потоками выполнения, особенно когда несколько горутин выполняют параллельные задачи. Это упрощает координацию завершения работы всех горутин в программе.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как ООП в Go реализовано?

Go не поддерживает классическое ООП с наследованием классов, но предлагает альтернативу через композицию и интерфейсы. В Go объекты могут включать другие объекты как поля (встраивание структур), что позволяет создавать сложные иерархии без явного наследования. Интерфейсы в Go определяют набор методов, которые должен реализовать тип, но не требуют явной привязки. Это делает Go более гибким и помогает избежать проблем, связанных с жёстким наследованием.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой механизм используется в Go для управления конкурентностью и синхронизацией между горутинами?
Anonymous Quiz
32%
Мьютексы
63%
Каналы
3%
Семафоры
2%
Мониторы
🤔 Зачем нужна конструкция defer?

`defer` в Go откладывает выполнение функции или выражения до завершения текущей функции. Это особенно полезно для гарантированного освобождения ресурсов, таких как закрытие файлов, сокетов или освобождение блокировок, даже если функция завершится с ошибкой. `defer` улучшает читаемость кода, позволяя явно указать операции очистки рядом с инициализацией ресурсов. Вложенные `defer` выполняются в порядке стека (последний добавленный — первый выполненный).

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой тип данных используется в Go для работы с множеством байтов?
Anonymous Quiz
6%
string
84%
[]byte
3%
array
7%
bytes
🤔 Какие недостатки есть у Go?

Одним из недостатков Go является отсутствие дженериков до версии 1.18, что делало код менее гибким и приводило к повторению однотипных функций для разных типов данных. Go также не поддерживает наследование классов и сложные конструкции ООП, что может ограничивать архитектуру приложений для разработчиков, привыкших к традиционным ООП языкам. Ещё один недостаток — слабая стандартная библиотека для работы с шаблонами и сложными функциональными абстракциями. Однако простота Go делает его эффективным для системного и сетевого программирования.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Go создать небуферизованный канал для целых чисел?
Anonymous Quiz
10%
make(chan int, 1)
81%
make(chan int)
4%
new(chan int)
5%
make(unbuf chan int)