Go использует горутины — лёгкие, кооперативные потоки:
- Управляются внутренним планировщиком, а не ОС.
- Планировщик Go мапит большое количество горутин на малое количество системных потоков (M:N модель).
- Горутины создаются быстро, с минимальными ресурсами.
- Взаимодействуют через каналы и select.
Многозадачность реализуется через кооперативную конкуренцию и распределение задач по worker-потокам.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Anonymous Quiz
40%
Hash
40%
GetHash
12%
HashCode
8%
GetHashCode
💊8
Anonymous Quiz
67%
Atoi
28%
ParseInt
2%
ToInt
3%
Convert
- Лёгкие по памяти (обычно килобайты, а не мегабайты).
- Масштабируемы — можно запускать тысячи горутин.
- Управляются внутренним планировщиком Go, а не ОС.
- Быстро переключаются между задачами.
- Просты в использовании (каналы, select, go).
Это делает горутины особенно эффективными для серверной разработки и высоконагруженных систем.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
Anonymous Quiz
40%
Метод, который вызывается при получении данных из канала.
59%
Метод, который получает указатель на структуру в качестве первого аргумента.
0%
Метод, который используется для сравнения двух значений.
0%
Метод, который выполняет арифметические операции.
Anonymous Quiz
8%
nil
92%
""
0%
undefined
0%
"0"
💊4👍1
Каналы потокобезопасны для отправки и получения данных, но передаваемые объекты должны быть неизменяемыми для предотвращения гонок.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
86%
Мьютексы
11%
Каналы
1%
Оператор defer
2%
Структура sync.Once
💊5
Anonymous Quiz
30%
git branch new
12%
git create branch
8%
git new branch
50%
git branch
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
Anonymous Quiz
12%
http
4%
net
82%
net/http
2%
io
💊3
Anonymous Quiz
29%
MakeDir
17%
CreateDir
44%
Mkdir
10%
NewDir
💊1
Builder — это порождающий паттерн, позволяющий создавать сложные объекты пошагово, контролируя процесс построения.
Он особенно полезен, когда объект:
- имеет много опциональных параметров,
- требует разной конфигурации при создании,
- должен быть иммутабельным после построения.
Пример: создание HTTP-запроса или SQL-запроса с цепочкой .setX().setY().build().
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Anonymous Quiz
92%
var f func(*Type) string
3%
var f func(Type) *string
5%
var f func(*Type) *string
0%
var f func(Type) string
💊3
Anonymous Quiz
93%
const
6%
var
0%
let
0%
immut
💊1
Синхронизация необходима для предотвращения конфликтов при одновременном доступе из нескольких потоков (или горутин). Без синхронизации возможны:
- Повреждение данных
- Гонки (data race)
- Непредсказуемое поведение и ошибки
Примитивы синхронизации (mutex, atomic и т.д.) обеспечивают корректность и согласованность данных.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Anonymous Quiz
24%
Invoke
28%
Call
24%
Execute
24%
Run
💊6
Anonymous Quiz
31%
1
62%
true
4%
false
3%
0
B-tree (сбалансированное дерево) организует данные так, чтобы:
- Быстро сужать поиск на каждом уровне.
- Работать эффективно с дисковой памятью (большие блоки и минимум обращений). Линейный перебор проходит все элементы, а B-tree уменьшает количество операций до логарифмического времени — особенно важно при работе с большими объёмами данных.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Anonymous Quiz
40%
Order
53%
Sort
3%
Arrange
4%
Organize
💊3