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?
Технические знания
Что проверяют
- Общее знание безопасности
- Обычно проводит старший инженер по безопасности
- В зависимости от роли будут углубляться в одну из этих областей