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

Вопросы собесов t.me/+ajHN0OKU1okyZDky
Задачи t.me/+MURwpbl6Nq9kYzJi
Вакансии t.me/+mX_RBWjiMTExODUy
Download Telegram
🤔 Какой механизм в Go позволяет одновременное выполнение частей программы?
Anonymous Quiz
1%
Classes
93%
Goroutines
6%
Packages
0%
Methods
💊4
🤔 Как в Go можно реализовать агрегацию без использования встроенных типов?
Anonymous Quiz
15%
Использование пакетов
64%
Использование интерфейсов
13%
Использование анонимных функций
8%
Использование пакета sync
💊7
🤔 Чем отличается интерфейс Go от интерфейсов в других языках?

В отличие от Java или C#, в Go интерфейсы не требуют явного указания их реализации. Вместо этого соответствие определяется автоматически, если тип содержит методы, описанные в интерфейсе. Это упрощает код и уменьшает количество зависимостей.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🤔 Какие бывают примитивы синхронизации?

Примитивы — это средства, предотвращающие конфликты между потоками:
- Mutex — взаимное исключение.
- Semaphore — ограничение количества одновременных доступов.
- Spinlock — цикл ожидания без сна.
- RWLock (чтение-запись) — позволяет множественное чтение, но только одну запись.
- Atomic операции — безопасные базовые действия без блокировок.
- Condition variables — ожидание события от другого потока.
- Channel / Queue — для безопасного обмена данными (особенно в Go).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🤔2🔥1
🤔 Какой метод используется для поиска записи по первичному ключу с помощью GORM?
Anonymous Quiz
38%
Find
36%
Get
3%
Retrieve
23%
First
💊4
👍1
🤔 Какие ключи могут быть в МАПе?

В map ключи должны быть сравнимыми, то есть поддерживать операцию сравнения ==. Это означает, что в качестве ключей можно использовать типы, такие как string, int, float, bool, array, pointer, struct (если все его поля сравнимы). Нельзя использовать slice, map, function в качестве ключей, так как они не поддерживают сравнение.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
🤔 Как в Go объявить функцию, возвращающую две переменные?
Anonymous Quiz
89%
func f() (int, string)
9%
func f() int, string
2%
func f() [2]interface{}
0%
func f() []interface{}
💊5🔥2
🤔 Какой командой обновляются изменения из удалённого репозитория Git?
Anonymous Quiz
14%
git update
55%
git pull
25%
git fetch
6%
git merge
💊5
🤔 Где потокобезопасность map безопасна?

Map безопасен только в однопоточных сценариях или при использовании внешней синхронизации, например, с помощью мьютекса.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊10👍5
🤔 Какой тип данных используется для представления комплексных чисел в Go?
Anonymous Quiz
53%
complex
9%
float
36%
complex64
2%
double
👍4
🤔 Какой пакет в Go используется для инъекции зависимостей?
Anonymous Quiz
19%
Google Wire
66%
Go Modules
8%
Go Router
6%
Go Test
💊4
🤔 Какие известны виды контекстов?

1. context.Background:
- Основной контекст, используемый как корень.
2. context.WithCancel:
- Позволяет отменить выполнение всех дочерних контекстов.
3. context.WithTimeout:
- Устанавливает лимит времени на выполнение операций.
4. context.WithValue:
- Передача ключ-значений между горутинами.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6🤔2
🤔 Какой метод используется для расширения емкости пула?
Anonymous Quiz
27%
Increase
44%
Expand
28%
Extend
1%
Augment
💊1
🤔 Какой метод из пакета "sync" используется для пробуждения всех горутин, ожидающих на условной переменной в Go?
Anonymous Quiz
26%
NotifyAll
29%
SignalAll
19%
Broadcast
25%
WakeUp
🤔 Что находится перед названием метода?

Перед названием метода указывается ресивер — переменная, к которой метод привязан. Он описывается в круглых скобках перед именем метода и указывает, для какого типа метод определён.
Здесь u *User — это ресивер. Он определяет, что метод PrintName относится к типу User, и при вызове будет доступ к его полям.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🤔 Как в Go создать буферизованный канал для целых чисел на 10 элементов?
Anonymous Quiz
0%
make(chan int)
95%
make(chan int, 10)
4%
make(chan int, buffered:10)
0%
make(chan int, 10elements)
💊2
🤔 Каким способом в Go можно передать дополнительную информацию функции, не изменяя ее сигнатуру?
Anonymous Quiz
29%
Использовать декораторы
40%
Передать встраиваемую структуру
14%
Использовать функциональные опции
17%
Применить наследование
💊6🔥1
🤔 Безопасен ли map?

Стандартный map небезопасен для многопоточного доступа. Используйте синхронизацию или специальные структуры данных.


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