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

Вопросы собесов t.me/+ajHN0OKU1okyZDky
Задачи t.me/+MURwpbl6Nq9kYzJi
Вакансии t.me/+mX_RBWjiMTExODUy
Download Telegram
🤔 Какое ключевое слово используется для завершения функции с возвратом значения в Go?
Anonymous Quiz
95%
return
3%
exit
2%
break
0%
end
🤔 Зачем нужны транзакции?

Транзакции используются для обеспечения целостности данных в базах данных и гарантируют, что все операции внутри транзакции выполняются как единое целое. Если одна операция в транзакции завершилась неудачно, все изменения откатываются, чтобы избежать неконсистентного состояния данных. Транзакции следуют принципам ACID (атомарность, согласованность, изолированность, долговечность), что помогает предотвратить потерю данных или их повреждение. Они особенно важны для критически важных операций, таких как финансовые транзакции или обновления базы данных.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое ключевое слово используется для импорта пакета в Go?
Anonymous Quiz
5%
include
2%
require
2%
use
92%
import
🤔 Какое ключевое слово используется для объявления функции в 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