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

Вопросы собесов t.me/+ajHN0OKU1okyZDky
Задачи t.me/+MURwpbl6Nq9kYzJi
Вакансии t.me/+mX_RBWjiMTExODUy
Download Telegram
🤔 Какая синтетическая сложность получения элемента из слайса?

Получение элемента по индексу в слайсе имеет постоянную сложность — это прямой доступ по адресу в памяти. Независимо от размера слайса, операция выполняется за одинаковое время.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой метод из пакета "io/ioutil" используется для записи данных в файл в Go?
Anonymous Quiz
59%
Write
38%
WriteFile
3%
SaveFile
0%
PutFile
🤔 Сколько весит число в байтах?

Всё зависит от типа числа:
- int, uint — обычно 8 байт на 64-битных системах.
- int32, uint32 — 4 байта.
- int64, uint64 — 8 байт.
- float32 — 4 байта, float64 — 8 байт.
Go явно различает размеры, что позволяет эффективно управлять памятью.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой метод из пакета "io/ioutil" используется для чтения всех данных из файла в Go?
Anonymous Quiz
35%
ReadFile
52%
ReadAll
12%
Read
1%
FileRead
🤔 Как устроен Map в Go?

Map в Go реализован с использованием хеш-таблицы. Каждому ключу присваивается хеш-значение, которое используется для определения, в какой "корзине" хранится пара ключ-значение. В случае коллизий (когда два ключа имеют одинаковое хеш-значение) используется цепочка для хранения нескольких элементов в одной корзине. Map эффективно распределяет данные и автоматически увеличивает свою ёмкость при необходимости.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Когда обобщения были введены в Go?
Anonymous Quiz
8%
Go 1.10
14%
Go 1.12
15%
Go 1.15
63%
Go 1.18
🤔 Как устроен процесс удаления из конца и начала массива?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Что используется в Go вместо наследования для создания сложных структур данных?
Anonymous Quiz
75%
Композиция
6%
Агрегация
11%
Полиморфизм
8%
Инкапсуляция
🤔 Какой метод используется для фильтрации чисел по значению?
Anonymous Quiz
39%
filter.Values
18%
filter.Numbers
33%
filter.Ints
10%
filter.Digits
🤔 Разница между WHERE и HAVING:

`WHERE` применяется до агрегации для фильтрации строк, а `HAVING` используется после агрегации для фильтрации агрегированных данных. Это значит, что `HAVING` может использоваться для условий, которые зависят от результатов функций агрегирования, таких как SUM или COUNT.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой метод из пакета "math" используется для вычисления логарифма числа в Go?
Anonymous Quiz
2%
Logarithm
69%
Log
18%
LogN
10%
Ln
🤔 Как слайсы работают?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое ключевое слово используется для обработки паники в Go?
Anonymous Quiz
89%
recover
7%
catch
2%
try
2%
handle
🤔 Как в Go определить метод структуры, который принимает указатель на структуру и изменяет ее состояние?
Anonymous Quiz
13%
func (t Type) Method(s *Type) {}
70%
func (t *Type) Method(s *Type) {}
2%
func (t Type) Method(s Type) {}
16%
func (t *Type) Method(s Type) {}
🤔 Сколько очередей в GMP паттерне?

В модели планировщика GMP (Goroutine, Machine, Processor) используется одна локальная очередь goroutine на каждый P (Processor).
Дополнительно есть:
- Глобальная очередь, из которой P может забирать задачи, если его собственная очередь пуста.
- Stealing-механизм — если P простаивает, он может "украсть" goroutine из другой очереди.
Итого:
- У каждого логического процессора (P) — своя очередь.
- Плюс одна глобальная очередь.
- Всего: N локальных + 1 глобальная очередь.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой интерфейс необходимо реализовать для поддержки пользовательского типа в бинарной сериализации в Go?
Anonymous Quiz
31%
BinaryMarshaler
25%
BinarySerilalizer
6%
BinMarshaler
38%
encoding.BinaryMarshaler