Комментарии 27
regex101.com/r/3JmERc/1
«Вы разрабатываете какой-либо продукт на вашем любимом языке и встречает ошибку Error 342345. Какие ваши дальнейшие действия?»
Иду в гугл, конечно же)
Парсить HTML регулярками — это отличный план. Часто этим занимаетесь?
Будущим разработчикам мы отправляли следующее тестовое задание
Вы всегда даёте тестовое задание в такой запутанной формулировке, что даже после третьего прочтения непонятно, что именно оно требует сделать? Я работал со всеми задействованными в описании технологиями, но его смысл и логика от меня ускользают.
Я имел в виду вот этот опус:
Ориентировочное время выполнения — 1,5 — 2 часа.
Вам необходимо создать докер образ для проведения соревнования типа CTF(https://en.wikipedia.org/wiki/Capture_the_flag) на тему IPC в системах UNIX. Образ должен содержать в себе приложение(-я) реализующие следующие задания:
1) Серверное приложение, слушает UDP порт 7777 и при любом запросе выдает ФЛАГ №1 и текстовую информацию где искать второй флаг (shmkey).
2) Приложение использует IPC Shared memory и записывает по адресу shmkey ФЛАГ №2 и инструкции по поиску флага №3.
3) Приложение использует IPC Signals, при поступлении сигнала SIGUSR2 выдает ФЛАГ3.
Результатом выполнения тестового задания является Docker/docker-compose файл и образ с проброшеным 7777 портом + исходные коды задач.
Можете использовать любой язык программирования.
Это похоже на техзадание? Спецификацию? Объяснение на пальцах? Нет, это похоже на поток сознания.
Серверное приложение, слушает UDP порт 7777 и при любом запросе выдает ФЛАГ №1 и текстовую информацию где искать второй флаг (shmkey).
Что значит «приложение выдаёт ФЛАГ №1»? Что за сущность такая, «ФЛАГ №1»? В каком формате приложение выдаёт его клиенту? Как вообще в CTF может быть более одного флага? Что за «текстовая информация, где искать второй флаг»? Каким образом удалённый клиент найдёт «shmkey», если он находится в разделяемой памяти?
Я тут посмотрел в википедии — этот порт биндится неким «Unreal Tournament series default server». Соискателю предлагается реализовать серверный протокол UT?
Приложение использует IPC Shared memory и записывает по адресу shmkey ФЛАГ №2 и инструкции по поиску флага №3.
Речь идёт о сервере, или нужно написать отдельное приложение? Что за безграмотная формулировка «IPC Shared memory»? Что такое «ФЛАГ №2» и чем он отличается от флага №1? Какое отношение ко всему этому имеет клиент, подключившийся по UDP? Какие «инструкции по поиску флага»? Что вообще значит, «найти флаг»?
Приложение использует IPC Signals, при поступлении сигнала SIGUSR2 выдает ФЛАГ3.
Ещё одна безграмотная формулировка «IPC Signals», написали бы хотя бы «POSIX signals», раз простое слово «сигналы» недостаточно профессионально выглядит. Как именно удалённый клиент должен отправить на сервер SIGUSR2? Куда приложение должно «выдать» флаг 3 — в логи, stdout/stderr, отправить кому-то (кому?) по сети?
Что вообще за кафкианский бред?
Не может, а признает: договор стажировка и есть срочный трудовой договор. Какие ещё могут быть варианты-то?
Стажеры