Если вы изучаете Go и готовитесь к практическим задачам, эта шпаргалка — именно то, что нужно. Здесь собраны краткие и ёмкие ответы на ключевые вопросы о памяти, слайсах, строках, map, горутинах и каналах, а также примеры кода для мини-задач. Всё изложено максимально просто: по принципу «вопрос — ответ в одно-два предложения», чтобы вы могли быстро освежить знания или подготовиться к экзамену/тесту. Иерархия памяти: регистры → L1/L2/L3 кэш → RAM → диск.
Как данные попадают в кэш: процессор загружает данные из RAM блоками (кэш-линии).
Кэш-линия: минимальный блок данных в кэше, обычно 64 байта.
False sharing: несколько потоков изменяют разные данные в одной кэш-линии → лишние кэш-мисс. Выравнивание в структурах: компилятор вставляет пустые байты между полями, чтобы соблюсти адрес кратный размеру типа.
Инлайн функций: тело маленькой функции вставляется в место вызова для экономии ресурсов.
Стек vs куча: стек — локальные переменные, быстрое выделение/очистка; куча — динамическая памят