Специализация
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 в телеграм
Что такое утечка памяти в JavaScript? Как её можно диагностировать?
Утечка памяти в JavaScript происходит, когда программа удерживает ссылки на объекты, которые больше не используются, из-за чего память не освобождается. Это может привести к снижению производительности и даже краху приложения. Для диагностики утечек памяти можно использовать инструменты разработчика, такие как профайлер в Chrome, который помогает отслеживать использование памяти и выявлять объекты, не освобождающиеся из памяти.
Как избежать утечек памяти в js?
Утечки памяти в JS возникают, когда объекты, которые больше не нужны, не удаляются сборщиком мусора, потому что на них остаются ссылки. Чтобы этого избежать, нужно: 1) Убирать слушатели событий (Event Listeners) с DOM-элементов при их удалении. 2) Не хранить ссылки на DOM-элементы в глобальных переменных или замыканиях дольше необходимого. 3) Осторожно работать с замыканиями и большими объектами, хранящимися в памяти. 4) В современных фреймворках (React, Vue) следить за отпиской от подписок (setInterval, WebSocket) в хуках жизненного цикла размонтирования.
Зачем следить за утечками памяти при наличии ARC?
ARC автоматически управляет счетчиком ссылок, но не понимает логику программы. Он не может сам обнаружить циклические зависимости. Если объекты удерживают друг друга, память не освобождается. Такие утечки накапливаются и ухудшают работу приложения. Поэтому за памятью нужно следить вручную.
Почему time.After может приводить к утечкам памяти?
time.After создаёт таймер, который нельзя отменить. Если результат не будет прочитан, таймер останется в памяти до срабатывания.
Рейтинг:
3
Сложность:
8
Рейтинг:
4
Сложность:
8
Рейтинг:
5
Сложность:
6
Рейтинг:
4
Сложность:
7