В каких случаях программа может неожиданно завершить выполнение? Прерывание работы означает непредвиденное завершение программы Возможные причины: необработанное исключение (runtime error) обращение за пределы памяти…
Для чего нужна куча в .NET и как с ней работает Garbage Collector? Куча предназначена для динамического выделения памяти В ней размещаются объекты ссылочных типов, срок жизни которых может превышать время работы…
Зачем в ARC используется механизм side table? Контекст: управление памятью в Objective-C (ARC) Side table представляет собой вспомогательную структуру данных для хранения дополнительной информации об объекте, которую…
На уровне исходного кода типы Kotlin являются универсальными (generic) Компиляция выполняется для JVM с type erasure В JVM конкретный параметр типа стирается и не сохраняется в байткоде Ограничивать допустимые типы…
TypeScript представляет собой супермножество JavaScript, дополненное типами Браузеры не поддерживают TypeScript непосредственно Перед загрузкой исходный TS-код транспилируется в JS посредством tsc или сборщика,…
Как устроен preemption в Go runtime? механизм принудительного вытеснения горутин является частью Go scheduler (планировщика) останавливает горутину, не позволяя ей монополизировать CPU применяется при длительных…
Как в куче организована память объекта ссылочного типа? управление памятью объектов в куче объект представлен блоком памяти, в котором хранятся его данные каждый объект содержит метаданные, включая ссылку на тип в…
Как изменяется стек при вызове функции? в стек помещается контекст вызова функции формируется фрейм стека (Stack Frame), где хранятся параметры, локальные переменные и адрес возврата выполнение переключается на тело…
JIT (Just-In-Time) — это компиляция кода непосредственно во время выполнения программы Технология на лету преобразует байт-код или промежуточное представление в машинный код Сначала программа выполняется через…
Как в JavaScript работает сборщик мусора и какие стратегии управления памятью применяются? управление памятью выполняется автоматически внутри движка JS основные подходы: подсчет ссылок и маркировка с очисткой…
механизм динамического исследования и управления типами даёт возможность получать метаданные сборок, типов, методов и свойств позволяет обращаться к структуре программы во время выполнения даёт возможность динамически…
Event Loop — механизм асинхронного управления выполнением циклов в JS Он обрабатывает очередь событий и запускает колбэки после выполнения основного кода Благодаря ему однопоточный JS работает неблокирующе Event…