<- Назад в Блог
Как я проходил техинтервью и что изменилось за годы
21 марта 2026|#техинтервью #вайб-кодинг #деградация #карьера #рефлексия

Контекст

Вчера меня пригласили на техинтервью в одну крупную компанию на позицию Lead Frontend Engineer. Последний раз я ходил на интервью три с половиной года назад, и с тех пор — только работа и постоянное изучение чего-то нового.

Если почитать мой блог, то видно, что я сильно сместился в сторону vibe coding и agentic coding. Практически перестал писать код руками — только ревью и рекомендации агенту. Описание архитектуры, скиллы и практически полное сосредоточение на продукте, вместо того чтобы писать кастомные хуки или описывать типы данных в TypeScript.

Что стало возможным

Для меня стало доступным создавать продукты не только на JS. Я начал активно использовать Python для бэкенда, GitHub Actions для деплоя на AWS, разворачивать собственные LLM вместо использования OpenAI API, настраивать RAG-системы.

За последние полгода я запустил Videamind.com, UptimeHarbor.com, RePeaks.com, AreteBrain.com, ArsVarius.com и подготовил к запуску PeerMeet.me. Всё это довольно сложные проекты с непростой архитектурой — хотя, как всегда, я могу приукрашивать свой талант.

Удивление

Каково же было моё удивление, когда техсобес оказался таким же, как четыре или даже шесть-восемь лет назад. И тут я задумался: в чём суть?

Никому не интересно, насколько хорошо ты играешь в Factorio, как и навыки настройки Claude Code или Cursor.

Подготовка

Не сказать, чтобы я не готовился к этому собеседованию. Потратил целую неделю в свободное от работы время, чтобы в Obsidian с помощью Claude Code и ArsContexta создать заметки по базовым знаниям, план стандартных интервью. Даже почитал часть из них. Но всё это — коллекционирование знаний.

На практике же в последний день я решил попросить ChatGPT позадавать мне самые базовые вопросы на тему JS, React и TypeScript — и вдруг понял, что читать и «владеть» какими-то знаниями — это совсем не то, что отвечать на вопрос, даже своими словами.

Считаю, что ChatGPT в данном контексте оказался очень полезным, и жаль, что я не ввёл такую практику давно. Так что рекомендую делать это почаще — и не обязательно для прохождения интервью, а просто для повторения знаний, которыми, как нам кажется, мы владеем. А на поверку это может оказаться эффектом Манделы и стать причиной более серьёзных заблуждений на практике.

Результаты

Скажу как есть: в целом оценили на уровень мидла.

Оценка навыков:
Advanced:
- JavaScript: Event loop (Flow, Micro/Macro tasks)
- JavaScript: Asynchronous JS (Promise, Chaining, Request, Receive, Handle error)
- React: SPA and MPA (difference, pros/cons)
- React: Virtual DOM (concepts, reconciliation algorithm, fiber, keys)
- React: Controlled/uncontrolled components
- React: React base hooks (useState, useEffect)
- Next.js: Experience with Next.js
- Next.js: CSR vs. SSR (difference, pros/cons)
Intermediate:
- TypeScript: Generic
- React: useEffect vs useLayoutEffect
- React: React DOM Events
- Redux (three main principles, actions, reducers, store)
- Next.js: Server Components (useState/useEffect)
- Next.js: Next.js Routing
Novice:
- TypeScript: Type vs. Interface vs. Abstract Class
- TypeScript: Utility types (Omit, Record, Partial, Required, Pick etc.)
- React: React component lifecycle (including unmount)
- React: Custom hooks (Custom hooks restrictions)
- React: React performance (Optimization and Memoization)
- React: Security (DangerouslySetInnerHTML)
- Next.js: SSR vs. SSG (ISR, getStaticProps, getServerSideProps)
Partial Understanding:
- JavaScript: ES6 Collections (Set, Map, WeakSet, WeakMap)
- TypeScript: Access modifiers
- Next.js: Next.js components (Head, Image, Link, Script)
Lacks Familiarity or Needs Improvement:
- JavaScript: Iterators & Generators

Главный вывод

Самый важный вывод для себя я сделал: когда я думал, что лид — это про архитектуру, про управление командой, задачами и продуктом, я упустил момент, что в первую очередь он должен подсказывать технические решения и обучать. А мне самому всё ещё есть чему учиться.

И да, приходится признать: вайбкодинг ведёт к деградации. Нельзя всё спихнуть на машину и расслабить собственный мозг.

Не нужно тренироваться для интервью — это как учить дебюты в шахматах. Нужно устраивать практику, хотя бы с ИИ. Использовать его не только для написания решений за вас, а для поддержки знаний и тренировок. Сделать его не только ассистентом в коде, но и наставником — и, возможно, это принесёт не меньше пользы, чем простая подмена.

P.S.

В целом начало детоксикации от вайбкодинга положено — написал этот пост своими словами, тоже впервые за долгое время. Буду признателен, если чуть позже кто-нибудь позовёт на мок-интервью — для практики и чтобы проверить, учёл ли я полученный опыт.