Как стать автором
Обновить

Как и к чему готовиться на собеседование начинающему iOS-разработчику и не только

Время на прочтение 6 мин
Количество просмотров 12K
Эй, Хаброжитель, приветствую тебя! Буду признателен ко всем твоим фидбэкам.

image

Небольшая предыстория


В 2019 году увлёкся iOS-разработкой и решил попробовать попасть на курс от Mail.ru в их Технопроект с нашим ВУЗом. Закончил данный курс с отличием. Огромное спасибо Диме и Гене за отличный курс. После этого курса начал активно посещать митапы iOS-разработчиков. Летом особо не прогал под iOS. Осенью все же надумал найти работу в этой сфере и развиваться дальше. Решил начать с небольших компаний, поэтому погуглил топ-100 аутсорс компаний по разработке приложений. Написал всем компаниям, которые находились в Москве.

Из приблизительно 70 компаний ответили около 15 и где-то 3-4 пригласили на интервью.

Первое интервью, как и полагалось, завалил, ибо не знал, что там будет и как готовиться. На втором интервью выдали тестовое задание, не сложное, но т.к. особого опыта не было, больше времени убил на то, чтобы разобраться с реализацией и не уложился в дедлайн. На третьем собесе ребята сказали, что у них сейчас нет возможности, т.к. им срочно нужно закончить проект и что они готовы взять где-то через месяц, если захочу или же не найду другую работу.

В это время нашел курс по iOS-разработке от Яндекса и прошел его.

Собеседования в Яндексе


В начале декабря был на митапе в Яндексе для джунов. Всем гостям раздали QR-код для прохождения первого алгоритмического собеса. Там было 3 задачи на 2 часа без перерыва.

Задачи:

  1. Вводится n и нужно посчитать сумму всех чисел от 1 до n < 1000000, где цифры не встречаются более одного раза.
  2. Есть доска M x N (2<M,N<1000000), на которой размещены два шахматных коня — белый и чёрный.
    На входе M, N и координаты клеток, в которых находится соответственно белый и чёрный конь.
    Нужно совершить минимальное кол-во ходов, чтобы они оказались в одной точке и вывести это кол-во.
  3. Вводиться 2 числа N-кол-во чисел в массиве и некоторое число M. Нужно найти непустой подмассив с минимальным кол-во чисел (т.е. с минимальной длины), сумма которой не меньше M, в противно случае нужно вывести что-то другое (не помню).

Есть ограничения по времени и по памяти.

Пока ждал результат получил оффер в другую компанию. Попросил у них неделю на обдумывание, и в последний день получил письмо от Яндекса. Там говорилось, что успешно прошел первый этап и приглашают на второй собес. К большому сожалению, не уточнили какая секция будет алгоритмическая или платформенная. Т.к. поверил в свои силы, то решил отказаться от оффера и приостановить все другие собесы и отдаться на подготовку и прохождения в Яндекс. Достал книжку cracking coding interview, из которой решал задачки в ноябре и стал прорешивать все задачи без ноута на листочке, и забил на универ, чтобы успеть за эту недели. Не хватило времени на все задачи, а последний день перед интервью ботал платформенную часть.

Второе собеседование: В начале собеса сказали, что сейчас будет алгоритмическая секция. Интервью проводил Валера из команды Диска. Собес был суперский, очень понравилось.

Задачи: Сначала поговорили обо всем о чем можно было бы пообщаться на эту тему (Чем отличаются статические языки от динамических?, пару вопрос про каждый тип языков, классы, структуры, стек, куча, массив, список, хеш-таблица, очереди, деревья, графы, про сложности алгоритма, и т.д.). Потом перешли на решение задач.

  1. Есть пять человек: Т, М, А, Л, Д. Они стоят в очереди за магической колой, выпившие удваиваются и идут в конец очереди. На входе n номер следующего, кто должен выпить колу. Нужно найти того, кто будет n-ным.

    Идея решения
    Лучшее решение это hashmap, сам решил через арифметику, т.е. вывел формулу, которая посчитала бы это. //Рассказал всю идею решения, потом дал оценку по времени и по памяти. Когда начал писать код, то интервьюер сказал, что логику понял и код я ему точно напишу так, что давай перейдём к следующей задаче, т.к. у нас осталось чуть больше 20 минут
  2. Есть бинарное дерево поиска. Нужно найти сумму элементов лежащих в сегменте от L до R. Функция на вход получает корневой элемент, левую и правую границу. Тогда уточнил и узнал, что элементы не повторяются и границы включены.

    Идея решения
    Делал через рекурсию. (можно через цикл, но рекурсия проще), опять же сложность алгоритма и т.д.

Где-то ближе к новому году получил письмо об успешном прохождении данного этапа. В 20-х числах января связался с HR-ом и она сказала, что осталось последнее собеседование (платформенная секция). Тогда же назначили дату на следующий день после последнего экзамена. В новогодние праздники и во время сессии готовился еще к собесу. Одним словом, было сложно готовится и к экзамену, и к собесу.

Пришел на собес, его проводил Слава из Браузера. Немного пообщались об алгоритмической секции. Дальше он попросил написать схематично код, который реализует работу многопоточности. Так как до это особо не работал с многопоточностью, то за счет неожиданности попал в ступор минут на 20-30, просто не думал, что придется писать код. По теории отвечал не плохо, но были проблемы с реализацией. При всем при этом собес очень понравился. Мы не уложились в час и Слава предложил дорешать, поэтому нам пришлось сделать это в коридоре, потом немного пообщались. Это было отлично, потому что некоторые ребята ориентируются строго по времени. Через недели две написали, что провалил собес. Было очень обидно т.к. готовился и очень-очень сильно хотел попасть.

Огромный минус собеседований в Яндексе заключается в том, что им неважно попадешь ли ты к ним или нет. Из-за чего они часто игнорируют тебя или забывают написать письмо с результатом/(о назначении) собеседования и тебе самому приходится постоянно писать/звонить, чтобы что-то узнать.

Собеседование в МегаФоне


Самое лайтовое и немного не понятное собеседование из всех, что приходилось проходить в крупных компаниях. Собес длился где-то минут 20-30. Пообщались о том, что умею, чем увлекаюсь, какие оценки получаю в универе и т.д. Не было ни одного вопроса по платформе и алгоритмам. Этот собес, скорее всего, тоже не прошел, ибо никакой информации не получил.

Потом общался со многими, компаниями, но из-за того, что нет коммерческого опыта, то большинство компаний теряли интерес и не приглашали на интервью. Наконец-то, где-то в 20-х числах марта некоторые компании назначили собес, но потом из-за сложившейся ситуации с самоизоляцией пришлось их приостановить на неопределенное время.

Самоизоляция говорит: «Нет очным собеседованиям!»

image

Собеседование в Сбербанк


Было два телефонных интервью, где рассказывал о своих интересах, о том почему решил попробовать попасть в Сбербанк. В последнем спросили пару теоретических вопросов связанных с iOS и в общем о программировании. Первое и второе интервью прошел, назначили дату для прохождения очного (последнего этапа) собеса, который из-за режима самоизоляции провели по скайпу. Отлично провели собес со Славой, пообщались полностью по платформенной части. Через пару дней пришло письмо о том, что успешно прошел собес, но в данной команде нет места, поэтому предложат кандидатуру в другую команду. Через 2-3 дня пришло еще одно письмо о том, что набор на стажировку у них закрылся.

Собеседование в ВТБ


Проходил его параллельно с собесом в Сбербанк. Первое интервью было по телефону, потом был небольшой «тест», где нужно было ответить на пару вопросов связанных об опыте и знаниях в программировании и т.д. Потом было еще одно телефонное интервью. Далее был тест из 6 блоков на час.

Прошел их успешно, потом провели заключительный этап собеседования с Мишей. Т.к. сказали, что будет просто платформенная часть и вряд ли будет что-то еще, то особо не готовился. На интервью общались с Мишей об алгоритмах, о структурах, о сети, о многопоточности и т.д. Интервью проходило больше часа, но было очень интересно и классно.

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

Заключение


Параллельно проходил курс по iOS-разработке на CoursEra, но из-за того, что сейчас началась сессия и стажировка, пришлось приостановить активность на CoursEra.

Советы, которые могут помочь при поиске первой работы в IT


  1. Нужно хорошо разбираться в теории, ибо научиться кодить не сложно.
  2. Откликайтесь на вакансии middle/senior, т.к. найти вакансию intern/junior почти невозможно.
  3. Если есть возможность попасть на собеседование, то идите, потому что это поможет вам поднять ваши скилы. (Даже если мало что знаете)
  4. Изучите компанию, в которой у Вас будет собеседование и покажите интервьюеру свою заинтересованность работать у них.
  5. Обязательно спрашивайте о том, что вас лично интересует и что хотели бы узнать о рабочем процессе.
  6. Когда чего-то не знаете или не помните, то задавайте уточняющие вопросы, они вам помогут. Если не смогли вспомнить, то просто скажите об это.
  7. Думайте открыто. Если вы просто скажете ответ, то это ни о чем не говорит. Когда вы открыто рассуждаете, то интервьюер видит где вы ошиблись и помогает вам, задавая наводящие вопросы. Кроме этого, смотрит на то, как вы думаете и как ищете выход при сложившихся ситуациях.
  8. Прежде чем пойти на собеседование отрепетируйте его. Задавайте себе всякие вопросы связанные с тем, что должно быть и постарайтесь внятно ответить на них.

Совет компаниям


Когда вы проводите собеседования у стажеров/джунов, то давайте им какие-нибудь ссылки, где как минимум есть темы, в которых начинающий разработчик и не только должен хорошо разбираться. Из своего опыта скажу, что мне очень сильно помогли материалы, которые скинули ребята с самого первого интервью, за что огромное им спасибо. Там были основные темы, но они были не расписаны. Кроме этого, ребята сказали в какой последовательность их лучше изучить.

Если будут желающие, то сделаю еще пост с самыми популярными и важными вопросами + ответы и материалы к ним.

UPD: Недавно приходило письмо от Сбербанка. Там говорилось, что продолжают набор на стажировку и готовы рассмотреть кандидатуру, если актуально
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
+9
Комментарии 16
Комментарии Комментарии 16

Публикации

Истории

Работа

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн