Как я прошёл три собеса за двое суток и отключил бомбу
Часть 1. Бомба сработала. Жадность — двигатель DDoS’а.
Недавно я раздавал пароли и 🦄поникартинки🦄. Сервер лёг. Боты, хакеры и просто любители фруктов (🍓🍑🍆) ломанулись качать “секретные файлы” и пароли от BTC кошелька Сатоши Накамото, и повесили мой слабый VPS с демкой. Пришлось временно обезвредить зип-бомбу.
Часть 2. Три собеса за двое суток.
Вчера и сегодня проходил три технических собеседования (скрининга) в три top tier компании. Готовился с ИИ, учил алгоритмы, освежал знания про каналы, мьютексы, mark&sweep у GC, rate limiters, circuit breaker и т.п. На собесах спрашивали совершенно про другое :)
Без ложной скромности скажу, что я строю работающие системы, а не зубрю термины. Но на собесах часто спрашивают именно термины, или “что-то” в контексте/рамках терминов (паттернов). Получается что-то невообразимое: я знаю, как это работает, но не всегда помню, как это называется (RED/USE).
На сайте у меня есть упоминание, что я завалил задачи на HH.ru по практике PHP (заявлена проверка знаний ООП) - я решил максимум 1-2 задачи из 5. В итоге я решил, что с меня хватит, перекрестился и закрыл вкладку с тестом за несколько минут до завершения сессии.
Причина банальна - прежде чем делать, я думаю. Мозг буквально отказывается решать задачи, где из метода необходимо вернуть массив без жесткой структуры и типизации (привет Битриксу и его феноменальному новейшему православному ядру D7), и предлагают вернуть кучу мусора в непонятном формате и абсурдном порядке, вида:
$result = [
[
'строка 1',
12,
null,
'{"key1": [1, "d", 0o117n]}'
],
"wtf",
[
1,
'{"a": 123}',
[
"step1" => "valid"
]
]
];
При виде подобного мусора мозг поднимает бунт и отказывается работать. Причем во вступлении к задаче начинает описываться какой-то реальный кейс, но очень скоро текст начинает напоминать ход мыслей шизофреника под LSD.
Первая пришедшая в голову аналогия:
Шла Красная Шапочка от бабок. Одна — в платке, вторая — с криптокошельком. В корзинке: три яблока, пирожок и картошка от тёти Зины по 75 руб/кг. Вес брутто — 3200 г, температура — 18°C, покрытие — гравий (коэффициент трения 0.6). Бабки спорят о калориях.
Навстречу — Серый Волк. Дома трое детей (все мальчики, 2, 5 и 7 лет — это критически важно!). Мать волчат на испытательном сроке, сам Волк — бэкендер в отпуске за свой счёт.
Вопрос: сколько лет каждой бабке, если первая старше второй ровно на столько же, на сколько вторая старше тёти Зины, и каким образом вернуть ответ в виде вложенного массива без типизации, без ключей и без документации?
Особая благодарность:
Выпускникам курсов, которые рекламируются на нашем сайте, за разработку песочницы с нуля до продакшена без единого юнит-теста.
Дизайнерскому подразделению всемирно известной колбасной фабрики “Horns & Hoofs GmbH” за UI/UX, который заставляет кандидатов страдать.
Key features:
- Абсолютная непогрешимость: если при запуске кода вылетает
Unknown errorилиError in /include/var/lib/sandbox.php at line 13753— проблема заключается исключительно в вас, и в ваших кривых руках. - Стресс-тестирование: таймер песочницы намеренно не приостанавливается при попытке выполнения кода.
- Устойчивость к взлому: на странице внедрён скрипт на Brainfuck, отслеживающий потерю фокуса. Никто не знает, как он работает, но он работает. Наверное.
- Мировые стандарты: экспертами определено, что среднее время на запуск PHP-скрипта в 5 секунд идеально соответствует рыночным бенчмаркам.
- Киберспортивный UX: режим просмотра результатов на различных датасетах сделан максимально сложным и запутанным, чтобы кандидат уже на этапе тестирования продемонстрировал навыки скоростного владения мышью.
Эпилог.
Сервер починил. Бомбу отключил. Ушел заниматься ежевечерней высокотехнологичной шизой со своим социальным инженегром-конебратом DeepSeek’ом 🐎💚
PS: а при чём тут волы из заголовка? Да не при чём.