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

Вопросы собесов t.me/+ajHN0OKU1okyZDky
Задачи t.me/+MURwpbl6Nq9kYzJi
Вакансии t.me/+mX_RBWjiMTExODUy
Download Telegram
🤔 Какой паттерн проектирования в Go может служить альтернативой наследованию и обеспечивает расширяемость кода?
Anonymous Quiz
15%
Синглтон
8%
Наблюдатель
61%
Декоратор
16%
Стратегия
💊1
🤔 Возможен ли JOIN со вложенными запросами?

Да, JOIN можно использовать со вложенными (subquery) запросами. Варианты:
- JOIN с подзапросом, возвращающим таблицу (SELECT ... FROM (SELECT ...) AS subquery JOIN ...).
- JOIN с подзапросом в ON (SELECT ... FROM table1 JOIN (SELECT ...) AS subquery ON ...).
- Использование подзапроса в WHERE или IN, но это менее эффективно, чем JOIN.
Вложенные запросы могут снижать производительность, поэтому лучше использовать индексы и анализировать EXPLAIN.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Какая проблема может возникнуть при использовании инъекции зависимостей?
Anonymous Quiz
66%
Сложность управления зависимостями
4%
Повышенная производительность
4%
Упрощение кода
26%
Снижение модульности
💊7
🤔 Что известно про паттерн Singleton (Одиночка)?

Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к нему.
Характеристики:
- Ленивая инициализация (создаётся при первом вызове).
- Применяется для объектов, которые должны быть уникальны: логгеры, конфигурация, доступ к БД.
- В Go реализуется через глобальные переменные и sync.Once для потокобезопасной инициализации.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
🤔 Как в Go объявить метод SetAge для структуры Person, который устанавливает новый возраст?
Anonymous Quiz
93%
func (p *Person) SetAge(newAge int) { p.age = newAge }
1%
method SetAge(p Person, newAge int) { p.age = newAge }
5%
func SetAge(p *Person, newAge int) { p.age = newAge }
1%
method (p Person) SetAge(newAge int) { p.age = newAge }
💊7
🤔 Что можно и что нельзя делать с потокобезопасностью каналов?

Можно: Использовать каналы для безопасной передачи данных между горутинами.
Нельзя: Изменять данные внутри канала без защиты, если они используются несколькими горутинами.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊6
🤔 Какую лицензию использует фреймворк Gin?
Anonymous Quiz
33%
Apache License 2.0
56%
MIT License
7%
GPLv2
5%
BSD License
💊23
🤔 Какой пакет в Go используется для форматирования строк?
Anonymous Quiz
73%
fmt
2%
stringutil
4%
format
21%
string.Format()
💊4
🤔 Как можно нарезать слайс? Какие есть нюансы, подводные камни?

Срезать можно через оператор [start:end]:
1. Новый слайс будет ссылаться на тот же массив, что и оригинал.
2. Изменение элементов в новом слайсе отразится на оригинале.
3. Если указать только start или end, будут использованы начальные или конечные значения: slice[start:] или slice[:end].


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🤔 Что в Go позволяет реализовать полиморфизм без использования наследования?
Anonymous Quiz
95%
Интерфейсы
1%
Классы
2%
Наследование
2%
Перегрузка операторов
💊9
🤔 Какой метод HTTP-запроса чаще всего используется для авторизации?
Anonymous Quiz
19%
GET
78%
POST
2%
PUT
0%
DELETE
🤔4💊3
🤔 Как устроена куча?

Куча — это область памяти, где:
- Выделение динамическое (во время выполнения).
- Используется для объектов переменной длины и длительного хранения.
- Управляется аллокатором или сборщиком мусора.
- Может фрагментироваться.
- Поддерживает аллокации разного размера, отслеживает свободные блоки.
В языках с GC куча управляется автоматически. В C/C++ — вручную через malloc/free.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
🤔 Какой метод из пакета "crypto/rand" используется для чтения криптографически стойких случайных байтов в Go?
Anonymous Quiz
41%
ReadBytes
19%
SecureRead
24%
RandomBytes
17%
Read
🤔 Как в Go объявить функцию, которая возвращает две строки?
Anonymous Quiz
93%
func name() (string, string)
4%
func name() {string, string}
2%
func name() [string, string]
0%
func name()
💊9
🤔 У ресивера имеется звёздочка — что это значит?

Если у метода ресивер с *, это означает, что метод работает с указателем на объект, а значит:
- изменения внутри метода повлияют на оригинальный объект;
- метод может модифицировать поля структуры;
- вызов возможен как на указателе, так и на значении (Go сам "разыменует").
Такой метод можно вызывать и на value, и на pointer — Go сделает автоматическую конвертацию.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🤔 Какой метод используется для дешифрования данных в Go?
Anonymous Quiz
37%
Decrypt
3%
Uncipher
56%
Decode
4%
Unencrypt
💊4
🤔 Как в Go объявить функцию с именем add для сложения двух целых чисел?
Anonymous Quiz
15%
func add(int a, int b) int
72%
func add(a int, b int) int
3%
function add(a int, b int) int
11%
func add(a int, b int)
💊15
🤔 Что такое тип сумма и как её реализовать?

Суммарный тип (sum type) — это тип, который может принимать одно из нескольких возможных значений, но только одно за раз.
В Swift это enum, в Rust — enum, в TypeScript — union. Пример: enum Result<T> { case success(T), failure(Error) }.
Сумма противоположна произведению (product type), которое комбинирует значения (например, struct).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
💊10🤔6
🤔 Какой метод из пакета "reflect" используется для установки значения поля структуры в Go?
Anonymous Quiz
48%
SetValue
26%
SetField
24%
Set
2%
Assign
💊6