Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
В чём разница между stack и heap?
Стек — быстрый LIFO-пулл памяти для локальных переменных функций, освобождаемый при выходе из функции. Куча — более медленное, но гибкое хранилище для объектов с динамическим временем жизни, управляемое сборщиком мусора. Go компилятор решает, что аллоцировать на стеке, а что — в куче, через escape-анализ.
Каков срок жизни переменной в heap?
Переменная в куче живёт пока на неё есть ссылки в программе. Сборщик мусора периодически находит объекты, до которых недостижимы никакие корни (стек, глобальные переменные, регистры) и освобождает их память. Таким образом срок жизни не фиксирован и зависит от reachability.
Что такое Small Object Heap и Large Object Heap и зачем они нужны?
Small Object Heap (SOH) хранит объекты размером до ~85 КБ, управляется по поколениям Gen 0–2. Large Object Heap (LOH) — для больших объектов (массивы, строки) свыше порога; хранится отдельно и собирается только при Gen 2 GC. LOH предотвращает фрагментацию SOH и снижает накладные расходы на перемещение крупных блоков.
Как устроена память в Java (heap и stack)?
Heap (куча): Хранит объекты и массивы. Управляется сборщиком мусора (GC).
Stack (стек): Хранит примитивы и ссылки на объекты для каждого потока.
Что такое memory escape analysis и как понять, выделяется ли объект в heap?
Escape analysis решает, где хранить переменную — на стеке или в куче. Если объект “уходит” за пределы функции, он помещается в heap.
В чём различие между stack и heap?
Какие типы данных обычно хранятся в stack, а какие в heap?
Что такое heap и какие зоны в нем существуют?
Как stack и heap используются при выполнении потоков?
Какие параметры JVM ты знаешь для управления heap?
Рейтинг:
5
Сложность:
7
Stack и heap — это разные области памяти с разными правилами работы. Stack используется для хранения локальных значений и работает очень быстро. Heap предназначен для динамически выделяемых объектов и управляется сложнее. В Swift value types чаще живут в stack, а reference types — в heap. Это напрямую влияет на производительность и управление памятью.
Рейтинг:
5
Сложность:
7
В stack обычно хранятся value types, такие как struct и enum. В heap хранятся reference types, то есть классы. Stack используется для данных с коротким временем жизни. Heap нужен для объектов, которые живут дольше и передаются по ссылке. Это разделение важно для производительности.
Рейтинг:
5
Сложность:
6
Heap — это область памяти, где хранятся объекты Java.
Она общая для всех потоков.
Heap делится на несколько зон для оптимизации сборки мусора.
Такое разделение ускоряет работу GC.
Рейтинг:
5
Сложность:
7
Stack используется для хранения контекста выполнения каждого потока.
Heap используется для хранения объектов, доступных нескольким потокам.
Stack — приватный для потока, heap — общий.
Именно heap требует синхронизации при многопоточном доступе.
Рейтинг:
5
Сложность:
6
Для управления heap в JVM используются параметры запуска.
Основные из них задают начальный и максимальный размер кучи.
Также можно управлять размером поколений и поведением сборщика мусора.
Эти параметры напрямую влияют на стабильность и производительность приложения.
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
6
Рейтинг:
1
Сложность:
6
Рейтинг:
4
Сложность:
7