3. Приходил запрос от саппорта. Клиент жалуется, что у него тормозит конкретная страница. Как будешь начинать копать задачу и куда будешь двигаться.
#
4. Есть микросервис. Есть ендпоинт. Ендпоинт не укладывается по времени работы на какой то ступени нагрузочного тестирования. Нужно ускорить его работу. Как приступить к этой задаче? Предположим у нас нет БД. Какие болевые точки могут быть?
#
5. Есть java сервер. Сервер завис. Как подойти к этой проблеме?
#
6. Микросервис уходит в рестарт по памяти. Твои дейстия? OutOfMemoryException
#
7. Авторизация. Есть запрос. Как бэкэнд может узнать, какой пользователь делает запрос: из браузера или API? Как информация об авторизации, сессии передается в запросе? В каком заголовке эта инфа может передаваться?
#
8. В проде все было хорошо. И вдруг бэкэнд стал отвечать с длительностью 1.5 сек. Решили добавить кэш, добавили, а время ответа возрасло до 1.6 сек. Почему такое могло случиться?
#
9. Деплоим версию сервиса (делаем выкатку на прод). Сервис поднимается, но спустя 20-60 сек падает по ошибке “Не хватает памяти OOM (Out of memory)”. Kuber убивает старый под, поднимает новый под, снова сервис поднимает. Но снова сервис падает, и снова. Куда бы ты посмотрел? Что бы сделал?
#
10. Есть микросервис, который сохраняет файлы в S3. Есть API загрузки файла. Какой-то микросервис дергает этот метод, передает файл, и микросервис, который сохраняет файл падает по OutOfMemoryError. Что будешь делать? Падает микросервис до сохранения файла на S3
#
11. Написали код, код возможно будет меняться. Есть риск возникновения ошибки при изменении кода. Какую стратегию тестирования выбрать?
#
12. Java сервер. Работал, работал и завис. Как нам разобраться, что пошло не так?
#
13. Надо протестировать какой-то объект. В него инжектится другой объект. На другой объект кидаем мок. Как проверить вызывается ли объект?
#
14. Мы сидим в k8s и никто не даст нам снять heap dump. Что делать? Есть Grafana. На какие метрики будем обращать внимание?
#
15. Написали сервис, в нем есть (а?)синхронный запрос. Flux, GraphQL. К нам в сервис приходит сущность. Мы должны записать ее в БД и сверить expected и received сущности. Тебе надо написать тест этого сравнения. Как будешь делать?
#
16. Идёт загрузка клиентов, большое количество данных. Нам хочется, чтобы грузилось 5-10 тысяч записей в секунду. Это данные передают пакетами. Они могут быть в базе данных, а могут и не быть. Какой быстрый алгоритм Вы бы организовали для добавление/обновление данных?
#
17. Есть приложение по заказу такси. Пользователь едет в метро, связь работает не очень хорошо. Он нажимает кнопку Заказать машину, а в ответ прилетает ошибка, второй раз нажимает - тоже ошибка. В третий раз нажимает - успех. Выходит из метро, его ждут 3 машины. Как такое могло произойти? Что надо переделать в приложении, чтобы избежать такой ситуации?
#
18. What happens if you create a changeset that runs on the development environment, but then you realize there’s a typo in a column name? How would you fix it?
#
19. Есть наш сервис. Мы из него делаем HTTP запрос во внешний источник (ВИ) в диком интернете. Каждый запрос во ВИ для нас платный. В логах видим, что от ВИ периодически приходят ошибки в течение определенного времени. Потом восстанавливается, потом снова ошибки. Может связано с часами пиковых нагрузок. Как избежать переплат? Мы переживем без ответа от ВИ, но хотелось бы получать ответ от него
#
20. Представьте, что вы fullstack разработчик и кто-то за Вас написал одностраничное приложение (бэк и фронт). У нас есть несколько графиков – это векторная графика, некий “пирог” для отображения данных и некая заключительная таблица, которая показывает полную информацию по всем данным, которые у нас есть. Они отображают действия на странице. Произошел большой наплыв активности, аналитика заполнилась и таблицы стали весить по 500 мегабайт, стало все зависать. Как оптимизировать запрос получения данных аналитики?
#
21. Мы хотим реализовать класс, который пишет логи. Он должен выдерживать большую нагрузку, допустим, 5000 записей в секунду. Хочу иметь возможность для каждого экземпляра логгера указывать имя файла, куда будут писаться логи. Как будем реализовывать? У нас есть метод, который принимает строку и пишет ее в файл. А если у Вас будет дикая запись днем, а ночью не наберется и 50 для чанка? Тогда эти элементы останутся висеть, пока не соберется чанк?
#
22. Вот к тебе пришли тестировщики и сказали, что нагрузочное тестирование провалилось. С чего ты начинаешь работать?
#
23. Есть веб сервис написанный на Java. Сервис отдает расписание чего нибудь. Допустим футбольные матчи. При частои обращении пользователя сервис начинает деградировать. Какие твои шаги решения?
#
24. Интеграционный тест. В проде есть огромный справочник. Ты хочешь в тестах использовать часть данных из справочника на проде. При прогонке тестов этот справочник должен быть внутри БД. Как бы реализовал? Чем больше вариантов решения, тем лучше
#
25. Пришли DevOps, говорят, на проме OutOfMemory. Как будешь диагностировать, смотреть? Есть Grafana или другой аггрегатор метрик. На какие метрики можно обратить внимание? Дамп с прома в банке снять нельзя
#
26. Есть тест на сервис. В случае тестирования сервисного слоя не так важно, что вернется, важно понимать, что бизнес-логика отработала корректно. Как понять?
#
27. Датчики очень часто заливают данные в таблицу. Таблица индексируется, из-за этого тормозит, какие-то датчики могут не залиться. Как можно решить проблему?
#
28. Ваша задача сделать REST API. С помощью каких инструментов будете его проверять?
#
29. Вам нужно протестировать взаимодействие двух сервисов. Один эталонный, второй вы разрабатываете. Какой подход к тестированию выбрать?
#
30. У нас есть сервис с двумя репликами. В какой то момент пользователей стало много и нагрузка на сервисы стала возрастать. Что нужно сделать, чтобы выдержать эту нагрузку?
#
31. У нас есть форма, через которую заводим пользователей в систему. Оператор нажимает на кнопку добавить пользователя и нечаянно нажимает два раза. Как на беке отобразиться эта ситуация? Как исправить проблему?
#
32. У тебя произошел SteckOverFlow или OutOfMemory. Представим, что у тебя продакшен сервис. Эти ошибка происходят в проде. Твои действия?
#
33. Система работает 24/7, нельзя ее останавливать. Микросервисы. 5 подов поднято (экземпляров одного сервиса). Они работают с одной БД. Поступила задача переименовать колонку в БД. Как можно выстроить процесс без остановки приложения?
#