Разработка
Собеседование на должность iOS-разработчика в Experian: когда все пошло не по плану
Иногда собеседования проверяют ваши знания. Иногда они проверяют ваше терпение. Собеседование в Experian? Оно проверяло мою психику.
Началось всё как обычное виртуальное собеседование. Собеседник подключился к Zoom-конференции на пять минут позже, попивая кофе, словно только что пережил войну. Никаких представлений, никакой светской беседы. Просто прямо:
«Хорошо, давайте пропустим основы. Можете ли вы за 10 минут переписать чей-нибудь ужасный Swift-код, пока я смотрю?»
Никакой разминки. Никакого «расскажите о себе». Просто бум.
Раунд 1: засада рефакторинга
Он вставил фрагмент Swift-кода в общий редактор. Он выглядел так, будто был написан в 2013 году кем-то, кто люто ненавидит Swift:
class DataManager {
var data = [String]()
func addData(newData: String?) {
if newData != nil {
data.append(newData!)
}
}
func getData() -> [String]? {
return data
}
}
Он откинулся назад и сказал: «Исправьте это. Сделайте это элегантно. Мне нужна элегантность».
Я начал рефакторинг:
class DataManager {
private(set) var data = [String]()
func addData(_ newData: String) {
data.append(newData)
}
}
Я объяснил, что такое optional, принудительное разворачивание (force-unwrapping) и почему private(set) чище.
Но тут — совершенно неожиданно — он выпалил:
«Хм… недостаточно элегантно. Можете сделать это красиво? Представьте, что Стив Джобс проверяет этот код».
В тот момент я уже не был уверен, нахожусь ли я всё ещё на собеседовании или на уроке творчества.
Раунд 2: адская цепочка API
Затем он попросил меня «соединить три API в Swift» — но вот в чём загвоздка:
- API 1 даёт идентификатор пользователя
- API 2 берёт этот идентификатор пользователя и даёт список товаров
- API 3 берёт эти товары и возвращает их доступность
Пока всё хорошо.
Но затем он добавил совершенно серьёзно: «Теперь представьте, что API 2 случайным образом даёт сбой в 50% случаев. Исправьте это без повторных попыток. Вам нельзя использовать Combine. Или async/await. Или коллбэки».
Я: «Подождите, что? Как мне вообще…»
Я попытался объяснить, что async/await — это современный подход, но он просто улыбнулся, как злодей из фильмов о Джеймсе Бонде.
В конце концов, я наскоро собрал какой-то синхронно выглядящий демо-код с обработчиками завершения, просто чтобы пойти дальше. Он не выглядел впечатлённым.
Раунд 3: сумасшедшая головоломка
Как раз когда я подумал, что страннее уже быть не может, он сказал:
«Хорошо, последний вопрос. Если бы вам нужно было реализовать UICollectionView, используя только UIView и UIScrollView, как бы вы это сделали?»
В этот момент я нервно рассмеялся. Это было настоящее собеседование или издевательство?
Я начал объяснять, как размещать сабвью внутри scroll view, вручную переиспользовать ячейки и рассчитывать их фреймы. Он прервал меня на полуслове и сказал:
«Неправильно. Правильный ответ: вы этого не делаете. Вы увольняетесь из компании, если вас об этом попросят».
Я понятия не имел, шутит он или нет.
Последствия
Интервью закончилось так же внезапно, как и началось. Никаких заключительных слов. Просто:
«Хорошо, мы вам сообщим». Клик.
Я закрыл Zoom, сидел в тишине и думал: меня только что собеседовали, или я пережил комедийный скетч про iOS?
Две недели спустя я получил вежливое письмо с отказом. Честно говоря, я даже не рассердился. Если работа будет такой, может быть, мне повезло.
Вывод
Иногда собеседования проверяют ваши знания. Иногда они проверяют ваше терпение. Собеседование в Experian? Оно проверяло мою психику.
Если вам когда-нибудь доведется столкнуться с таким интервьюером, вот мой совет:
- Сохраняйте спокойствие. Сумасшедшие интервьюеры проверяют вашу реакцию под давлением.
- Думайте вслух. Даже если вопрос не имеет смысла, покажите свою логику.
- Помните, дело не в вас. Иногда дело просто в интервьюере.
И, по крайней мере, вы уйдете с собеседования с историей, которая рассмешит ваших друзей.
-
Видео и подкасты для разработчиков4 недели назад
КодРевью лидера мнений: как можно нарушить сразу все принципы разработки
-
Новости4 недели назад
Видео и подкасты о мобильной разработке 2026.8
-
Новости3 недели назад
Видео и подкасты о мобильной разработке 2026.9
-
Разработка4 недели назад
Никакого программирования до 10 утра
