Awesome AppSec Interview 
Подборка ресурсов, практических вопросов и учебных материалов, которые помогут подготовиться к собеседованию на инженера по безопасности приложений, сгруппированная по типам интервью.
Содержание
Обзор интервью
Чего ожидать
Большинство циклов собеседований на AppSec включают комбинацию:
- Безопасный обзор кода
- Моделирование угроз
- Программирование или скриптинг
- Сценарные вопросы
- Технические знания
- Системное проектирование (Senior+)
- Поведенческое интервью
Общие советы для собеседования
- Задавайте уточняющие вопросы — вопросы намеренно нечёткие, чтобы увидеть, как вы мыслите
- Думайте вслух — проговаривайте свои рассуждения
- Записывайте заметки — фиксируйте требования и ограничения
- Покажите свой подход — процесс часто важнее идеального ответа
- Не спешите с решениями — сначала исследуйте пространство задачи
- Не знать всё — нормально — покажите, как бы вы искали ответ
Безопасный обзор кода
Что проверяют
- Выявление уязвимостей в коде
- Отслеживание потока данных (источники → стоки)
- Понимание эксплуатируемости
- Рекомендация прагматичных мер по устранению
Основные концепции
- Уязвимости OWASP Top 10 и способы их устранения
- Шаблоны уязвимостей, специфичные для языка
- Тейнт-анализ и поток данных
- Понимание кода
Учебные ресурсы
Типичные вопросы на собеседовании
- Пройдите по этому коду и найдите проблемы
- Почему это уязвимо (или нет)?
- Как бы вы это эксплуатировали?
- Как бы вы это исправили?
Моделирование угроз
Что проверяют
- Структурированное мышление
- Раннее выявление угроз
- Приоритизация и компромиссы
- Коммуникация с разработчиками
Основные концепции
- STRIDE — Spoofing, Tampering, Repudiation, Information Disclosure, DoS, Elevation of Privilege
- Фреймворк из 4 вопросов
- Диаграммы потоков данных (DFD)
- Деревья атак
- Границы доверия
- Идентификация активов и приоритизация угроз
- Всегда покрывайте основы (например, использование TLS для данных в пути)
Учебные ресурсы
Видео
Чтение
Книги
- Threat Modeling: Designing for Security – Adam Shostack
Типичные вопросы на собеседовании
- Смоделируйте угрозы для потока входа / платёжной системы / API
- Как вы приоритизируете угрозы?
- Объясните STRIDE
- В чём разница между моделированием угроз и пентестом?
- Что такое границы доверия?
Программирование и скриптинг
Программирование (алгоритмы и структуры данных)
Что проверяют
- Решение задач
- Структуры данных
Основные концепции
- Массивы, хеш-таблицы, стеки, очереди
- Деревья и графы (базовый уровень)
- Оценка Big-O
- Распространённые шаблоны (два указателя, BFS/DFS)
Учебные ресурсы
Рекомендуемое количество задач
- Минимум: 50–75 задач уровня Easy/Medium
- Уверенный уровень: 100–150 задач, охватывающих все шаблоны
- Хорошая подготовка: 200+ задач
Скриптинг и автоматизация
Что проверяют
- Практическая автоматизация
- Парсинг логов и данных
- Знание инструментов безопасности
Основные концепции
- Парсинг логов — извлечение IP, доменов, меток времени, user agent
- Взаимодействие с API — запросы к API безопасности, отправка данных
- Преобразование данных — парсинг и обработка JSON/XML/CSV
- Поиск по шаблону — регулярные выражения для индикаторов безопасности
- Файловые операции — чтение, парсинг и обработка данных безопасности
Учебные ресурсы
Типичные вопросы на собеседовании
- Разобрать логи веб-сервера на предмет подозрительной активности
- Найти шаблоны, указывающие на сканирование/перебор
- Разобрать вывод Nmap XML и сгенерировать отчёт
- Агрегировать результаты из нескольких инструментов безопасности
- Найти все URL/IP/email адреса в тексте
- Базовый сканер портов
- Проверка безопасности HTTP-заголовков
- Простой сканер уязвимостей
Сценарные интервью
Что проверяют
- Суждения в области безопасности
- Коммуникация
- Оценка рисков
- Обработка инцидентов
Основные концепции
- Триаж уязвимостей
- CVSS и степень серьёзности
- Жизненный цикл реагирования на инциденты
- Анализ корневых причин
Учебные ресурсы
- Публичные разборы баунти-программ
- Публичные постмортемы
Типичные вопросы на собеседовании
- Расскажите об уязвимости, которую вы нашли
- Как бы вы провели триаж этого отчёта?
- Объясните недавний CVE
- Как работает SSTI / XSS / SSRF?
Технические знания
Что проверяют
- Общее знание безопасности
- Обычно проводит старший инженер по безопасности
- В зависимости от роли будут углубляться в одну из этих областей
Основные концепции
- Криптография
- Симметричное против асимметричного (когда что использовать)
- Хеширование
- TLS/SSL (процесс рукопожатия)
- PKI
- Разница между шифрованием, кодированием, хешированием?
- Аутентификация и авторизация
- MFA
- Протоколы (OAuth 2.0, SAML, JWT)
- Управление сессиями и атаки
- Модели авторизации (RBAC, ABAC, ACL)
- Безопасность веб-приложений
- Основные уязвимости (OWASP Top 25)
- Способы устранения и смягчающие факторы для каждой
- HTTP-заголовки
- CORS
- Политика одного источника (same-origin policy)
- Безопасность облака и контейнеров
- Лучшие практики IAM
- Модель общей ответственности
- Безопасность контейнеров
- Последствия безопасности при serverless
- Принципы безопасной архитектуры
- Эшелонированная защита
- Архитектура нулевого доверия
- Минимальные привилегии
- Безопасный отказ
- Безопасность по умолчанию
- Интеграция безопасности в SDLC
Учебные ресурсы
Системное проектирование
Что проверяют
- Мышление "безопасность по умолчанию"
- Компромиссы между масштабируемостью и безопасностью
- Реальные ограничения
Основные концепции
- Аутентификация в масштабе
- Rate limiting и предотвращение злоупотреблений
- Управление секретами
- Аудиторское логирование
- Эшелонированная защита
Учебные ресурсы
Поведенческие интервью (STAR)
Что проверяют
- Ответственность
- Влияние
- Работа с конфликтами
- Настроенность на обучение
Основные концепции
- Фреймворк STAR
- Situation — контекст и ситуация
- Task — ваша конкретная задача
- Action — что вы сделали (будьте конкретны)
- Result — результаты и извлечённые уроки
- Подготовьте 5–7 историй
- Квантифицируйте влияние
- Сосредоточьтесь на своих действиях
- Покажите рост
Учебные ресурсы
Связанные ресурсы
Подготовка к собеседованию
Подборки awesome
Как внести вклад
Вклад приветствуется! Просто отправьте PR!
Рекомендации
- Добавляйте ресурсы, относящиеся к собеседованиям по AppSec
- Следуйте существующей структуре разделов
- Убедитесь, что ссылки стабильны и заслуживают доверия