Домен
Основы программирования
Профиль навыка
Heap dumps, memory leaks detection, profilers (Valgrind, pprof, Chrome DevTools Memory)
Ролей
8
где встречается этот навык
Грейдов
5
сформированная дорожка роста
Обязательных требований
20
ещё 20 — необязательные
Основы программирования
Управление памятью
17.03.2026
Выберите текущий грейд и сравните ожидания. Карточки ниже покажут, что нужно закрыть для следующего уровня.
Таблица показывает, как меняется глубина владения навыком от Junior до Principal.
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (Rust) | Обязателен | Понимает основы Профилирование памяти на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Rust. Следует рекомендациям senior-разработчиков при решении задач. |
| Compiler Engineer | Знает базовые концепции memory profiling для compiler engineer и умеет применять их в типовых задачах. Использует стандартные инструменты и следует установленным практикам команды. Понимает когда и почему применяется данный подход. | |
| Desktop Developer (.NET WPF/WinUI/MAUI) | Использует Visual Studio Diagnostic Tools для анализа памяти .NET. Знает dotnet-dump для heap analysis. Интерпретирует memory snapshots для поиска утечек в WPF. | |
| Desktop Developer (Qt/C++) | Использует Qt Creator Profiler для базового анализа памяти. Знает valgrind --tool=memcheck для обнаружения утечек. Интерпретирует простые отчёты о выделении/освобождении памяти. | |
| Embedded Developer | Использует базовые инструменты: map-файл анализ, sizeof, FreeRTOS uxTaskGetStackHighWaterMark. Понимает разницу static vs dynamic allocation. | |
| Systems Programmer (C/C++) | Понимает основы Профилирование памяти на базовом уровне. Применяет простые концепции в рабочих задачах с использованием C/C++/Rust. Следует рекомендациям senior-разработчиков при решении задач. | |
| Unity Developer | Понимает основы Профилирование памяти на базовом уровне. Применяет простые концепции в рабочих задачах с использованием C#. Следует рекомендациям senior-разработчиков при решении задач. | |
| Unreal Engine Developer | Понимает основы Профилирование памяти на базовом уровне. Применяет простые концепции в рабочих задачах с использованием C++/Blueprints. Следует рекомендациям senior-разработчиков при решении задач. |
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (Rust) | Обязателен | Самостоятельно использует DHAT, heaptrack и Valgrind/Massif для профилирования памяти Rust-приложений. Понимает, как паттерны владения и семантика borrow checker влияют на аллокации, и выбирает стратегии профилирования соответственно. |
| Compiler Engineer | Уверенно применяет memory profiling для compiler engineer при решении нестандартных задач. Самостоятельно выбирает оптимальный подход и инструменты. Анализирует trade-offs и предлагает улучшения существующих решений. | |
| Desktop Developer (.NET WPF/WinUI/MAUI) | Профилирует .NET desktop через dotMemory или VS Memory Profiler. Анализирует allocation timeline, находит retention paths. Использует EventPipe для lightweight profiling в production. | |
| Desktop Developer (Qt/C++) | Профилирует Qt-приложения через Heaptrack и Massif. Анализирует allocation patterns, находит hot allocation sites. Использует AddressSanitizer для обнаружения use-after-free и buffer overflows. | |
| Embedded Developer | Применяет продвинутое профилирование: ARM Memory Access Profiler, Segger SystemView heap analysis. Отслеживает stack/heap usage в runtime. | |
| Systems Programmer (C/C++) | Самостоятельно профилирует память на уровне ОС, отслеживая поведение ядерных аллокаторов, page faults и memory-mapped I/O. Понимает компромиссы между стратегиями аллокаторов и их влияние на накладные расходы системных вызовов. | |
| Unity Developer | Самостоятельно использует модуль памяти Unity Profiler для анализа аллокаций управляемой кучи и объёма памяти ассетов. Понимает компромиссы между паттернами использования памяти и влиянием GC на стабильность частоты кадров. | |
| Unreal Engine Developer | Самостоятельно использует профайлер памяти Unreal для отслеживания аллокаций UObject и анализа стриминга текстур. Понимает компромиссы между бюджетами памяти LOD и качеством рендеринга в продакшн-сборках. |
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (Rust) | Обязателен | Обладает глубокой экспертизой в профилировании памяти Rust через DHAT, heaptrack и Massif. Оптимизирует паттерны аллокаций через семантику владения, устраняет лишнее использование кучи и настраивает borrow-checker-совместимые дизайны для продакшн-нагрузок. |
| Compiler Engineer | Экспертно применяет memory profiling для compiler engineer для проектирования сложных систем. Оптимизирует существующие решения и предотвращает архитектурные ошибки. Проводит code review и обучает коллег лучшим практикам. | |
| Desktop Developer (.NET WPF/WinUI/MAUI) | Обязателен | Проектирует memory profiling pipeline для .NET desktop. Использует ClrMD для programmatic heap analysis. Настраивает EventCounters для custom memory metrics. Автоматизирует memory regression testing. |
| Desktop Developer (Qt/C++) | Обязателен | Проектирует memory profiling pipeline для Qt-проектов. Использует custom memory tracking через operator new overload. Анализирует RSS, heap fragmentation, virtual memory. Автоматизирует regression testing памяти. |
| Embedded Developer | Проектирует memory profiling инфраструктуру: custom heap tracer, runtime memory statistics, automated memory regression testing в CI. | |
| Systems Programmer (C/C++) | Обязателен | Обладает глубокой экспертизой в профилировании памяти на уровне ОС, оптимизирует конфигурации ядерных аллокаторов, минимизирует накладные расходы page faults и настраивает memory-mapped I/O для продакшн-систем. Снижает overhead системных вызовов через кастомные стратегии аллокации. |
| Unity Developer | Обязателен | Обладает глубокой экспертизой в профилировании памяти Unity, оптимизирует управляемую кучу и стратегии загрузки ассетов для продакшна. Устраняет GC-спайки через пулинг объектов, снижает объём памяти текстур и обеспечивает стабильный FPS при нехватке памяти. |
| Unreal Engine Developer | Обязателен | Обладает глубокой экспертизой в профайлере памяти Unreal, оптимизирует паттерны аллокации UObject и стриминг текстур для продакшна. Настраивает бюджеты памяти LOD, устраняет дублирование ассетов и обеспечивает стабильную производительность на целевых платформах. |
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (Rust) | Обязателен | Профилирует потребление памяти Rust-сервисов через Valgrind/DHAT, jemalloc-статистику и custom allocator wrappers. Анализирует паттерны аллокаций через tracing-allocator, выявляет утечки через Rc-циклы и оптимизирует layout структур через repr(C) и field reordering. |
| Compiler Engineer | Устанавливает стандарты применения memory profiling для compiler engineer в команде и принимает архитектурные решения. Определяет технический roadmap с учётом данного навыка. Менторит senior инженеров и влияет на практики смежных команд. | |
| Desktop Developer (.NET WPF/WinUI/MAUI) | Обязателен | Определяет memory profiling стратегию для .NET desktop. Формирует memory SLA и regression policies. Координирует memory optimization sprints. |
| Desktop Developer (Qt/C++) | Обязателен | Определяет стратегию memory profiling для desktop-команды. Формирует memory SLA и budgets. Координирует memory optimization sprints, менторит по инструментам профилирования. |
| Embedded Developer | Определяет memory profiling стандарты для команды. Формирует memory budget enforcement, automated alerts при превышении лимитов. | |
| Systems Programmer (C/C++) | Обязателен | Определяет стандарты профилирования памяти на уровне команды: обязательные профилировочные гейты в CI, бенчмарки ядерных аллокаторов, бюджеты page faults по компонентам и политики использования memory-mapped I/O. Обеспечивает единую методологию в системных проектах. |
| Unity Developer | Обязателен | Определяет стандарты профилирования памяти на уровне команды: обязательные проверки Unity Profiler в CI, бюджеты управляемой кучи по сценам, лимиты памяти ассетов по категориям и пороги частоты GC. Устанавливает процессы ревью для критичных по памяти участков кода. |
| Unreal Engine Developer | Обязателен | Определяет стандарты профилирования памяти на уровне команды: бюджеты аллокаций UObject по модулям, политики стриминга текстур, лимиты памяти LOD по платформам и обязательные профилировочные гейты в CI. Устанавливает процессы ревью для подсистем с интенсивным использованием памяти. |
| Роль | Обязательность | Описание |
|---|---|---|
| Backend Developer (Rust) | Обязателен | Определяет стратегию управления памятью всей платформы: выбор глобальных аллокаторов (jemalloc, mimalloc), arena-аллокаторы для hot paths, memory-mapped I/O через memmap2. Внедряет continuous profiling в production через pprof-rs и автоматические алерты на рост RSS/heap. |
| Compiler Engineer | Формирует стратегию применения memory profiling для compiler engineer на уровне организации. Определяет best practices и влияет на выбор технологий за пределами своей команды. Является признанным экспертом в данной области. | |
| Desktop Developer (.NET WPF/WinUI/MAUI) | Обязателен | Формирует enterprise memory profiling стандарты для .NET desktop. Оценивает profiling tools (dotMemory, PerfView, VS). Определяет memory requirements для организации. |
| Desktop Developer (Qt/C++) | Обязателен | Формирует enterprise-стандарты memory profiling для desktop. Оценивает новые инструменты (Memray, bytehound). Определяет memory requirements для различных платформ. |
| Embedded Developer | Определяет enterprise memory profiling стратегию. Формирует подходы к memory certification для safety-critical систем. | |
| Systems Programmer (C/C++) | Обязателен | Определяет стратегию профилирования памяти на уровне организации: стандартные тулчейны для профилирования ядра и userspace, кросс-командные бенчмарки page faults и аллокаторов, управление бюджетами памяти системных продуктов и программы обучения по дисциплинам анализа памяти. |
| Unity Developer | Обязателен | Определяет стратегию профилирования памяти на уровне организации для Unity-проектов: стандартизированные пайплайны профилирования, кросс-проектное управление управляемой кучей и памятью ассетов, гайдлайны оптимизации GC и менторские программы по анализу памяти для всех игровых команд. |
| Unreal Engine Developer | Обязателен | Определяет стратегию профилирования памяти на уровне организации для Unreal-проектов: стандартизированные пайплайны отслеживания UObject, кросс-проектное управление стримингом текстур, фреймворки бюджетов памяти LOD по уровням платформ и менторские программы по дисциплинам оптимизации памяти. |