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

Вопросы собесов t.me/+ajHN0OKU1okyZDky
Задачи t.me/+MURwpbl6Nq9kYzJi
Вакансии t.me/+mX_RBWjiMTExODUy
Download Telegram
🤔 Какой метод используется для десериализации объекта из формата JSON?
Anonymous Quiz
6%
FromJson
22%
Deserialize
23%
ParseJson
48%
DecodeJson
💊15
🤔 Что такое репликация?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
🤔 Какой метод используется для удаления элемента из Map?
Anonymous Quiz
80%
Delete
16%
Remove
3%
Erase
1%
Drop
💊7
🤔 Какая функция Go позволяет выполнить функцию асинхронно?
Anonymous Quiz
8%
async func()
90%
go func()
1%
func go()
1%
run func()
💊3
🤔 Опишите алгоритм, как будет происходить вставка в Map.

1. Вычисляется хэш-значение ключа с использованием хэш-функции.
2. На основе хэш-значения определяется позиция (bucket) для хранения пары ключ-значение.
3. Если bucket пустой, пара помещается в этот bucket.
4. Если bucket занят (коллизия), данные добавляются в структуру разрешения коллизий (например, связанный список или дерево).
5. Если объём данных превышает определённый порог, структура может быть преобразована для улучшения производительности (например, из списка в дерево).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔5👍2🔥1💊1
🤔 Какой пакет в Go предоставляет примитивы для синхронизации, такие как WaitGroup и Mutex?
Anonymous Quiz
97%
sync
3%
time
0%
math
0%
fmt
💊3
🤔6🔥1
🤔 Что такое шардинг?

Шардинг — это метод горизонтального разделения базы данных, при котором данные распределяются между несколькими серверами (шардами) для улучшения производительности и масштабируемости. Каждый шард хранит уникальный поднабор данных, позволяя распределить нагрузку и снизить время отклика при больших объемах данных. Шардинг часто используется в распределенных системах для обеспечения более эффективного управления данными.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
🤔 Какой метод из пакета "time" используется для ожидания определенного интервала времени в Go?
Anonymous Quiz
12%
Delay
2%
Pause
72%
Sleep
15%
Wait
💊3👍1
🤔 Какой фреймворк в Go поддерживает маршрутизацию HTTP-запросов?
Anonymous Quiz
88%
Echo
8%
React
2%
Vue
2%
Angular
💊20👍2
🤔 Как защититься от ошибки во время конкурентной записи в map?

Для защиты можно использовать мьютексы, sync.Map или обрабатывать все операции с картой в отдельной горутине через каналы. Это исключает возможность одновременного доступа.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🤔 Каким образом в Go можно создать срез из массива?
Anonymous Quiz
2%
arr.createSlice()
89%
arr[:n]
7%
arr.slice(n)
3%
arr.toSlice(n)
💊3
🤔 Как в Go объявить константу, значение которой вычисляется во время компиляции?
Anonymous Quiz
85%
const x = 5 * 3
9%
var x = 5 * 3
0%
let x = 5 * 3
6%
#define x 5 * 3
🤔 Зачем нужен пустой интерфейс?

Пустой интерфейс нужен для универсальности: он позволяет писать код, не привязанный к конкретным типам. Примеры использования включают универсальные контейнеры (например, массивы и словари) и функции, работающие с любыми типами. Например, в логировании часто используют interface{} для передачи любых данных.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
🤔 Какой из следующих паттернов может использоваться для упрощения инъекции зависимостей?
Anonymous Quiz
37%
Factory
37%
Adapter
14%
Observer
12%
Proxy
🤔3💊2
🤔 Как объявлять слайс?

1. С помощью литералов: slice := []int{1, 2, 3}.
2. Через make: slice := make([]int, length, capacity), где length — длина, а capacity — ёмкость.
3. Пустой слайс: var slice []int.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
🤔 Какой метод используется для удаления элемента из Slice?
Anonymous Quiz
13%
Remove
30%
Delete
2%
Cut
55%
Нет встроенного метода
🤔 Как в Go проверить, реализует ли тип интерфейс в runtime?
Anonymous Quiz
54%
Использовать reflect.TypeOf
33%
Использовать type assertions
6%
Использовать assert
7%
Использовать reflect.ValueOf
🤔 В чём сходство и отличие обычного и абстрактного класса?

Сходство:
- И обычные, и абстрактные классы могут иметь поля, методы и наследников.
- Оба поддерживают инкапсуляцию и могут содержать реализацию.
Отличие:
- Обычный класс можно создать напрямую, он самодостаточен.
- Абстрактный класс нельзя инстанцировать — он требует наследника и обычно содержит абстрактные (нереализованные) методы.
- Абстрактный класс служит шаблоном, обычный — готовой сущностью.


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