Code Review 1
▼
Участвует в code review как ревьюи для Qt/C++ кода. Применяет замечания рецензентов, понимает coding standards. Оставляет простые комментарии по читаемости кода.
Проводит code review для Qt/C++ кода. Проверяет memory safety, thread safety, Qt best practices. Даёт конструктивную обратную связь, предлагает альтернативные решения. Ревьюит QML-код.
Проводит architectural review для Qt-проектов. Фокусируется на design decisions, performance implications, cross-platform compatibility. Менторит junior/middle через code review.
Определяет code review процесс для команды. Формирует review checklist для Qt/C++. Координирует review workflow, обеспечивает quality через review gates.
Desktop-паттерны 4
▼
Понимает механизмы IPC в Qt: QLocalSocket/QLocalServer, QSharedMemory. Реализует простое взаимодействие между процессами через именованные каналы. Использует QProcess для запуска дочерних процессов.
Разрабатывает IPC через D-Bus (QtDBus) на Linux и COM/Named Pipes на Windows. Использует QSharedMemory для разделяемых данных. Реализует single-instance приложение через QLockFile и QLocalServer.
Проектирует IPC-архитектуру с Qt Remote Objects для мультипроцессных приложений. Реализует протоколы синхронизации через shared memory, оптимизирует latency. Работает с gRPC для кросс-языкового IPC.
Определяет стратегию межпроцессного взаимодействия для desktop-платформы. Формирует стандарты IPC-протоколов, координирует кросс-платформенную IPC-совместимость.
Понимает основы MVVM в контексте Qt/QML. Разделяет View (QML) и ViewModel (C++ QObject с Q_PROPERTY). Реализует property binding между QML и C++ backend.
Применяет MVVM с Command паттерном через Qt. Использует QAbstractListModel для ViewModel, реализует фильтрацию через QSortFilterProxyModel. Организует навигацию через StackView и Router.
Проектирует масштабируемую MVVM-архитектуру для крупных Qt-приложений. Использует Qt Quick Compiler для оптимизации. Реализует DI-контейнер для ViewModel, применяет Event Bus для inter-component communication.
Определяет MVVM-стандарты для Qt-команды. Формирует coding guidelines для View/ViewModel разделения. Проводит architecture review, менторит по MVVM-паттернам в Qt.
Понимает принципы offline-first для desktop. Использует SQLite через Qt SQL для локального хранения. Реализует базовое кеширование данных с QSettings и QStandardPaths.
Реализует sync-механизм для offline/online режимов. Использует change tracking с Qt SQL, обрабатывает конфликты merge. Настраивает QNetworkAccessManager для фоновой синхронизации с retry-логикой.
Проектирует CRDT-based sync для конкурентного редактирования. Оптимизирует локальное хранилище для больших объёмов данных. Реализует incremental sync с delta-encoding и compression.
Определяет стратегию offline-first для desktop-продукта. Формирует стандарты данных и синхронизации. Координирует backend-интеграцию для offline/online sync.
Знает основы Qt Plugin System: QPluginLoader, интерфейсы через Q_DECLARE_INTERFACE. Загружает простые плагины из указанной директории. Понимает принцип позднего связывания.
Разрабатывает plugin framework с версионированием API. Реализует dependency injection для плагинов, управляет жизненным циклом. Создаёт плагины с QML-расширениями через QQmlExtensionPlugin.
Проектирует extensible plugin architecture с hot-reload и sandboxing. Реализует plugin marketplace с автоматической загрузкой. Обеспечивает обратную совместимость plugin API между версиями.
Определяет plugin strategy для desktop-платформы. Формирует стандарты plugin API, координирует ecosystem разработчиков. Планирует plugin certification и security review.
E2E-тестирование 1
▼
Понимает E2E-тестирование desktop-приложений. Использует Qt Test для UI-тестов с QTest::mouseClick, QTest::keyClicks. Записывает и воспроизводит простые пользовательские сценарии.
Использует Squish или Appium Desktop для E2E-тестирования Qt. Реализует Page Object паттерн для UI-тестов. Настраивает screenshot comparison для visual regression. Автоматизирует в CI.
Проектирует E2E testing framework для desktop-платформы. Реализует cross-platform E2E тесты. Оптимизирует стабильность и скорость E2E suite. Интегрирует accessibility testing в E2E.
Определяет E2E testing стратегию для desktop-продукта. Координирует E2E infrastructure, формирует test automation roadmap. Балансирует coverage и maintenance cost.
Git и workflow 1
▼
Использует Git для ежедневной работы: commit, push, pull, branch. Понимает gitflow для Qt-проектов. Работает с .gitignore для исключения build-артефактов Qt.
Применяет Git rebase, cherry-pick, bisect для отладки. Настраивает Git hooks для pre-commit проверок (clang-format, lint). Работает с Git submodules для Qt-зависимостей. Решает merge conflicts в C++/QML.
Проектирует Git workflow для Qt-проектов. Настраивает Git LFS для бинарных ассетов. Оптимизирует CI/CD с Git shallow clones и sparse checkout. Реализует release branching strategy.
Определяет Git стратегию для desktop-команды. Формирует branching model и release process. Координирует merge policies и code review workflow.
Unit-тестирование 1
▼
Пишет unit-тесты через Qt Test (QTest) с QCOMPARE и QVERIFY. Тестирует signals/slots через QSignalSpy. Понимает test fixtures и data-driven тесты в Qt Test.
Структурирует тесты по модулям с отдельными test suites. Использует QTest::addColumn для data-driven тестов. Внедряет code coverage через gcov/lcov. Мокает зависимости через GMock или ручные стабы.
Проектирует test architecture для Qt-приложений. Внедряет mutation testing через Mull или Dextool. Оптимизирует test execution time через параллельный запуск. Создаёт test utilities и helpers для команды.
Определяет testing strategy для Qt-команды. Формирует coverage targets и quality gates. Координирует test infrastructure, менторит по testing best practices.
Алгоритмы и структуры данных 2
▼
Понимает O-нотацию и базовые алгоритмы сортировки/поиска. Применяет std::sort, std::binary_search из STL в Qt-проектах. Оценивает сложность простых операций с QList и QMap.
Выбирает оптимальные контейнеры Qt (QHash vs QMap, QVector vs QList) на основе алгоритмической сложности. Реализует алгоритмы обхода деревьев для Qt Model/View. Анализирует bottleneck через профилирование.
Проектирует алгоритмы для real-time обработки данных в Qt-приложениях. Оптимизирует custom allocators для Qt-контейнеров. Реализует пространственные алгоритмы для Scene Graph.
Проводит алгоритмические review для desktop-проектов. Определяет стандарты производительности алгоритмов. Менторит по выбору оптимальных структур данных и алгоритмов в C++/Qt.
Использует базовые структуры Qt: QList, QMap, QHash, QString, QVariant. Понимает различия между Qt и STL контейнерами. Работает с QJsonDocument для сериализации.
Создаёт кастомные модели данных через QAbstractItemModel с иерархической структурой. Использует QVariantMap и Q_PROPERTY для data binding в QML. Оптимизирует использование implicit sharing в Qt.
Проектирует кастомные структуры данных с COW (Copy-on-Write) семантикой Qt. Использует QCache и QContiguousCache для оптимизации памяти. Реализует lock-free структуры для многопоточных Qt-приложений.
Определяет стандарты использования структур данных в Qt-проектах. Проводит review выбора контейнеров, координирует оптимизацию data layer.
Безопасность приложений 2
▼
Знает OWASP Top 10 Desktop Risks. Понимает безопасное хранение credentials через Qt Keychain. Избегает hardcoded secrets в Qt Resource файлах. Валидирует пользовательский ввод.
Применяет OWASP рекомендации для desktop: secure storage, secure communication (QSslSocket), input sanitization. Настраивает Content Security Policy для QWebEngine. Проводит security self-review.
Проектирует security architecture для Qt-приложений. Реализует secure update channel с code signing verification. Внедряет sandboxing через OS-level mechanisms. Проводит threat modeling для desktop.
Определяет security стратегию для desktop-команды. Формирует security guidelines и checklist. Координирует security review и penetration testing.
Понимает принципы безопасного кодирования в C++/Qt. Избегает buffer overflows, использует safe string operations (QString). Знает CERT C++ Coding Standard на базовом уровне.
Применяет secure coding practices для C++/Qt: RAII для ресурсов, bounds checking, safe integer arithmetic. Использует compiler warnings (-Wall -Wextra -Werror). Настраивает AddressSanitizer для CI.
Проектирует secure-by-default API для Qt-компонентов. Применяет CFI (Control Flow Integrity) и stack protectors. Реализует privilege separation в multi-process архитектуре. Проводит secure code review.
Определяет secure coding стандарты для Qt-команды. Формирует security review process. Координирует security training для разработчиков.
Кросс-платформенный десктоп 2
▼
Понимает принципы auto-update для desktop-приложений. Знаком с Qt Installer Framework и его update-механизмом. Тестирует обновления на локальных сборках.
Реализует auto-update через Qt Installer Framework или Sparkle/WinSparkle. Настраивает delta-обновления, проверку подписей. Работает с update-каналами (stable/beta/nightly).
Проектирует архитектуру auto-update с rollback и staged rollout. Реализует A/B-тестирование обновлений, мониторинг crash rate после update. Оптимизирует размер delta-патчей для кросс-платформы.
Определяет стратегию обновлений для desktop-продукта. Координирует update pipeline с CI/CD. Формирует SLA для доставки обновлений, планирует mandatory updates.
Знает основы упаковки Qt-приложений: windeployqt для Windows, macdeployqt для macOS. Понимает зависимости Qt-библиотек. Создаёт базовые инсталляторы через Qt Installer Framework.
Настраивает кросс-платформенную сборку: NSIS/WiX для Windows, .deb/.rpm для Linux, .dmg для macOS. Автоматизирует packaging через CMake CPack. Подписывает бинарники для Windows и macOS.
Проектирует packaging pipeline с Flatpak, AppImage и MSIX. Оптимизирует размер дистрибутива, настраивает strip и UPX-сжатие. Реализует portable и installer варианты для каждой платформы.
Определяет стратегию дистрибуции desktop-приложений. Координирует packaging pipeline с CI/CD, формирует стандарты подписи и нотаризации. Планирует поддержку store-дистрибуции.
Логирование 1
▼
Использует qDebug(), qInfo(), qWarning() для логирования в Qt. Настраивает QMessageLogger и message patterns. Понимает log levels и их назначение.
Настраивает structured logging через spdlog или custom Qt message handler. Реализует log rotation через QFile. Добавляет context (timestamp, thread, module) к log messages. Интегрирует crash reporting.
Проектирует observability strategy для desktop: logging, metrics, crash analytics. Реализует remote log collection. Настраивает OpenTelemetry для desktop traces. Анализирует production incidents через логи.
Определяет logging стратегию для desktop-платформы. Формирует logging standards и privacy guidelines (GDPR). Координирует observability infrastructure.
Многопоточность и конкурентность 1
▼
Понимает основы многопоточности в Qt: использование QThread для фоновых задач, соединения signal-slot между потоками, базовое понимание привязки потоков в системе событий Qt. Следует командным конвенциям поддержания отзывчивости UI с рабочими потоками.
Реализует thread pool через QThreadPool и QRunnable. Использует QMutex, QReadWriteLock, QSemaphore для синхронизации. Применяет QtConcurrent с QFuture/QFutureWatcher для async-операций. Избегает race conditions.
Проектирует многопоточную архитектуру для Qt-приложений с producer/consumer, pipeline паттернами. Использует C++20 std::jthread, std::latch. Оптимизирует lock contention через lock-free алгоритмы и QAtomicInt.
Определяет threading model для desktop-платформы. Формирует стандарты безопасной многопоточности в Qt. Проводит review concurrent-кода, планирует переход на C++20 concurrency.
Нативная десктоп-разработка 1
▼
Знает основы Qt 6 и C++17. Создаёт простые виджеты через Qt Designer, использует signals/slots для связывания логики. Работает в Qt Creator, собирает проекты через qmake/CMake.
Самостоятельно разрабатывает Qt-приложения с QML и Qt Quick. Использует Model/View Architecture (QAbstractItemModel). Работает с Qt Network, QThread и Qt SQL. Понимает ownership и жизненный цикл QObject.
Проектирует архитектуру Qt-приложений с Qt 6 и C++20. Создаёт кастомные QQuickItem, оптимизирует Scene Graph. Разрабатывает плагины через Qt Plugin System. Профилирует рендеринг через Qt Quick Profiler.
Определяет техническую стратегию Qt-разработки для команды. Формирует стандарты использования Qt 6, C++20 и QML. Проводит architecture review, планирует миграцию между версиями Qt.
ООП и паттерны проектирования 1
▼
Знает паттерны Observer (signals/slots), Singleton (Q_GLOBAL_STATIC), Factory в контексте Qt. Применяет Strategy через функторы и лямбды C++17. Использует Builder для конфигурации виджетов.
Реализует MVC/MVVM через Qt Model/View Framework. Применяет Command для undo/redo (QUndoStack). Использует Decorator для расширения QWidget-функциональности. Понимает Composite в Qt widget tree.
Проектирует архитектуру с State Machine (QStateMachine) для сложных workflow. Применяет Event Sourcing для offline-sync. Использует Mediator для декуплинга компонентов. Реализует Plugin паттерн.
Определяет стандарты применения паттернов в Qt-проектах. Проводит design review, выбирает оптимальные паттерны для задач. Менторит по архитектурным паттернам в desktop-разработке.
Оптимизация 2
▼
Измеряет latency UI-операций в Qt через QElapsedTimer. Понимает 16ms budget для 60fps. Избегает блокирующих операций в main thread. Знает Qt Quick Profiler для анализа frame drops.
Оптимизирует startup time Qt-приложения через lazy initialization и preloading. Снижает latency event handling через оптимизацию event loop. Использует Qt Quick Compiler для ускорения QML-загрузки.
Проектирует low-latency архитектуру Qt-приложений. Оптимизирует rendering pipeline: Scene Graph batching, texture atlasing. Реализует predictive prefetching для данных. Использует RenderThread для offload рендеринга.
Определяет latency SLA для desktop-продукта. Координирует cross-team latency optimization. Внедряет automated latency monitoring и alerting в CI.
Понимает ресурсы Qt-приложения: Qt Resource System (.qrc), embedded assets. Оптимизирует размер изображений для UI. Использует QPixmapCache для кеширования графики.
Оптимизирует потребление CPU/RAM в Qt-приложениях. Реализует lazy loading для тяжёлых ресурсов. Настраивает QML Disk Cache для ускорения загрузки. Профилирует GPU usage через Qt Quick Scene Graph profiler.
Проектирует resource-efficient архитектуру для desktop. Оптимизирует battery consumption для laptop-сценариев. Реализует dynamic quality adjustment на основе hardware capabilities. Настраивает LOD для Qt Quick 3D.
Определяет resource budgets для desktop-платформы. Координирует cross-component resource optimization. Формирует стандарты эффективного использования ресурсов.
Профилирование 1
▼
Понимает различие между heap и stack в контексте Qt/C++. Использует ASAN для обнаружения memory corruption. Анализирует peak memory usage через Task Manager/Activity Monitor.
Использует Valgrind Massif для анализа heap growth. Профилирует allocation rate через Heaptrack. Оптимизирует Qt container allocation patterns. Анализирует memory-mapped I/O в Qt-приложениях.
Проектирует memory performance optimization pipeline. Анализирует NUMA-эффекты для multi-threaded Qt. Реализует custom memory allocators для hot path. Использует perf mem для анализа memory access patterns.
Определяет стратегию memory performance для desktop-платформы. Координирует memory optimization across компонентов. Формирует memory performance SLA.
Реляционные БД 1
▼
Использует PostgreSQL через Qt SQL (QSqlDatabase, QSqlQuery) для локального хранения данных. Выполняет базовые CRUD-операции. Настраивает подключение через QSqlDatabase::addDatabase.
Использует QSqlTableModel и QSqlRelationalTableModel для Model/View. Оптимизирует запросы через prepared statements. Реализует миграции через SQL-скрипты. Работает с транзакциями (QSqlDatabase::transaction).
Проектирует data layer для desktop с connection pooling и async queries. Оптимизирует PostgreSQL для embedded (pgbouncer, connection limits). Реализует full-text search через tsvector/tsquery.
Определяет database стратегию для desktop. Координирует schema design с backend. Формирует performance guidelines для embedded PostgreSQL.
Системы типов 1
▼
Знает основы шаблонов C++ в контексте Qt. Использует шаблонные контейнеры (QList<T>, QHash<K,V>). Понимает инстанцирование шаблонов и базовый SFINAE.
Создаёт шаблонные утилиты для Qt: type-safe property wrappers, generic serializers. Применяет variadic templates и fold expressions. Использует SFINAE/if constexpr для conditional compilation.
Применяет C++20 concepts для ограничения шаблонных параметров. Проектирует policy-based design для Qt-компонентов. Использует template metaprogramming для compile-time валидации.
Определяет стандарты использования шаблонов в Qt-проектах. Проводит review template-кода, контролирует compile-time complexity. Формирует guidelines по readability шаблонного кода.
Управление памятью 2
▼
Использует Qt Creator Profiler для базового анализа памяти. Знает valgrind --tool=memcheck для обнаружения утечек. Интерпретирует простые отчёты о выделении/освобождении памяти.
Профилирует Qt-приложения через Heaptrack и Massif. Анализирует allocation patterns, находит hot allocation sites. Использует AddressSanitizer для обнаружения use-after-free и buffer overflows.
Проектирует memory profiling pipeline для Qt-проектов. Использует custom memory tracking через operator new overload. Анализирует RSS, heap fragmentation, virtual memory. Автоматизирует regression testing памяти.
Определяет стратегию memory profiling для desktop-команды. Формирует memory SLA и budgets. Координирует memory optimization sprints, менторит по инструментам профилирования.
Понимает Qt ownership model: parent-child для QObject. Использует QScopedPointer и std::unique_ptr. Знает правила delete для QObject без parent. Избегает dangling pointers через QPointer.
Управляет памятью в Qt с implicit sharing (COW) и move semantics. Использует QSharedPointer для shared ownership. Анализирует memory leaks через Qt Creator memory profiler. Оптимизирует аллокации через QVarLengthArray.
Проектирует memory-efficient архитектуру Qt-приложений. Использует custom allocators (jemalloc, tcmalloc) для Qt. Реализует memory pools для high-frequency объектов. Профилирует с Valgrind/Heaptrack.
Определяет memory management стратегию для desktop-платформы. Формирует memory budgets для компонентов. Проводит memory review, координирует оптимизацию потребления памяти.
Чистый код и рефакторинг 1
▼
Следует coding standards команды для C++/Qt. Использует clang-format и Qt Creator code style. Пишет читаемый код с понятными именами. Проходит code review без критических замечаний.
Настраивает clang-tidy с Qt-специфичными проверками. Использует cppcheck и PVS-Studio для статического анализа. Применяет RAII и smart pointers (QScopedPointer, std::unique_ptr). Пишет самодокументируемый код.
Определяет quality gates для Qt-проектов. Настраивает SonarQube для C++/Qt-кодовой базы. Внедряет AddressSanitizer и UndefinedBehaviorSanitizer в CI. Менторит по best practices C++ code quality.
Формирует code quality стандарты для Qt-команды. Определяет метрики качества, координирует технический долг. Внедряет automated quality gates в CI/CD pipeline.