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

Вопросы собесов t.me/+ajHN0OKU1okyZDky
Задачи t.me/+MURwpbl6Nq9kYzJi
Вакансии t.me/+mX_RBWjiMTExODUy
Download Telegram
🤔 Зачем нужны линтеры (linters)?

Линтеры повышают качество кода, находя ошибки еще на этапе разработки. Это помогает избежать ошибок в продакшене.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
🤔 Какой принцип проектирования тесно связан с агрегацией в Go?
Anonymous Quiz
5%
Одиночка
8%
Наблюдатель
81%
Композиция
6%
Стратегия
💊1
🤔 Как использовать линтеры (linters)?

Линтеры интегрируются в IDE или CI/CD пайплайны. Например, golangci-lint используется для анализа Go-кода.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🤔 Что позволяет реализовать полиморфизм в Go?
Anonymous Quiz
3%
Горутины
96%
Интерфейсы
1%
Каналы
0%
Срезы
👍3💊3
🤔 Что такое Prometheus?

Это инструмент для мониторинга и алертинга. Он собирает метрики, сохраняет их в виде временных рядов и предоставляет мощный язык запросов для анализа данных.


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

1. Чтение возможно – если в канале остались данные, они будут возвращены.
2. Получение zero-value – если канал пуст, возвращается нулевое значение типа (0 для int, "" для string и nil для указателей).
3. ok == false – можно проверить факт закрытия с помощью второго параметра при чтении (val, ok := <-chan).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3🤯1💊1
🤔 В каких случаях происходит deadlock?

1. Горутина ждет данные, а никто не пишет в канал (<-chan, но нет chan <-).
2. Основная горутина завершилась, а другие ждут завершения.
3. Все горутины заблокированы на ожидании данных (select { case <-ch1: case <-ch2: } – если ни один не отправляет данные).
4. Закрыли канал, но кто-то пытается в него записать – вызывает panic.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8💊5🔥3
🤔 Как в Go можно реализовать агрегацию без использования встроенных типов?
Anonymous Quiz
17%
Использование пакетов
60%
Использование интерфейсов
19%
Использование анонимных функций
4%
Использование пакета sync
🔥1😁1
🤔 Что означает deadlock при работе с goroutine?

Это состояние, при котором все горутины ожидают события, которое не наступит. Go детектирует deadlock и вызывает panic, если основная горутина заблокирована на ожидании данных из канала, но нет активных писателей.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
🤔 Какова максимальная емкость среза, к которому можно применить append?
Anonymous Quiz
9%
1024 элемента
32%
Зависит от системы
49%
Нет ограничений
9%
65536 элементов
🤔 Как обозначается доступ к полю структуры в Go?
Anonymous Quiz
8%
структура:поле
85%
структура.поле
2%
структура->поле
5%
структура[поле]
👀4🤯21💊1
🤔 Что такое nil-канал и что будет, если писать и читать из него?

Это неинициализированный канал (var ch chan int).
- Чтение из nil-канала – блокирует горутину навсегда.
- Запись в nil-канал – блокирует горутину навсегда.
Nil-каналы используются для динамического управления каналами в select, когда временно не нужно обрабатывать канал.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥31👀1
🤔 Что произойдет, если попытаться обратиться к неэкспортируемому полю структуры из другого пакета?
Anonymous Quiz
2%
Код скомпилируется без ошибок
7%
Будет предупреждение, но код скомпилируется
87%
Произойдет ошибка компиляции
5%
Поле будет автоматически экспортировано
👍4