Есть ли опыт написания backend на Go, PHP, Node.js
Что проверяют
Насколько вы понимаете, что происходит по ту сторону API, и сможете ли договариваться с бэкендом на одном языке. В небольших командах иногда ищут iOS-разработчика, готового поправить BFF или написать простой сервис. Следом обычно спрашивают про конкретный проект и вашу роль в нём.
Как отвечать
Сначала честно обозначьте уровень, это главное: коммерческий опыт, пет-проект или чтение и мелкие правки чужого кода. Затем один-два примера в формате «задача, что сделал сам, чем закончилось» с вашими реальными цифрами.
Сильнее всего звучит опыт, связанный с мобильной разработкой:
- контракт API: проектировали эндпоинты под экран, описывали их в OpenAPI, генерировали клиент, договаривались о пагинации, формате ошибок и версионировании;
- авторизация: выдача и обновление токенов, что делает приложение при 401, как не устроить гонку при параллельном обновлении токена;
- пуши: отправка через APNs с сервера, авторизация по токену с ключом
.p8, хранение и инвалидация device token; - небольшой сервис: например, прослойка на Node.js или Go, которая собирает данные нескольких сервисов под один экран;
- Swift на сервере: если писали на Vapor, это тоже бэкенд, и его стоит упомянуть.
Если опыта нет, не выдумывайте. Скажите так: «Бэкенд в продакшене не писал, но понимаю HTTP, коды ответов, идемпотентность запросов, могу прочитать хендлер на Go, чтобы понять, откуда пришла ошибка. Взаимодействие отлаживаю через Proxyman или Charles, для разработки поднимал мок-сервер». И добавьте, готовы ли вы разбираться глубже, если это нужно команде.
Где спотыкаются
Выдают учебный проект за продакшен. Два уточнения про деплой, миграции базы и логи быстро показывают реальный уровень.
Перечисляют Express, Laravel и Gin без задач. Название фреймворка ничего не говорит о том, что вы умеете.
Отвечают коротким «нет» и не связывают вопрос с тем, что умеют на стороне клиента. Вопрос о бэкенде это повод показать, что вы понимаете API глубже, чем «вызвать URLSession».