Toretto
Администратор
В этой статье пойдет речь о том, как ничем не примечательному студенту, без особых проблем удалось выбить собеседование в одной из компаний списка «Biggies» — Facebook.
Сразу к делу: решение задачки школьного уровня на гитхабе. Прилепил тематическую мордочку, сделал все в традициях Objective-C, должно компилиться на маках. Надеюсь, данное чтиво откроет глаза многим русским студентам, насколько просто можно попасть в крупные компании своей мечты.
К сожалению, FB не является моей приоритетной целью; поэтому съезжу на интервью, посмотрю на вопросы и напишу следующую статью о том, что же спрашивали и что же я могу спросить на интервью в моей студии.
Заинтересовавшихся прошу под кат.
Не нужно себя готовить к чему-то сверхъестественному — я подозреваю, что эту задачку дают в русских школьных кружках программирования.
Шел вторник, мне нечего было делать после университета, я забежал на лекцию Facebook на кампусе за бесплатной пиццей. Кстати, я съел три куска, однако, самая вкусная пицца, на моей памяти, была на презентации Electronic Arts. Ребята от Цукерберга набили полный зал студентов, около 150 человек. Поговорили про процесс подачи заявки в FB, про серию интервью и решили пару-тройку простеньких задачек типа «Реализовать поиск дубликатов в массиве» — задачки уровня детского сада на 30-40 секунд подумать.
Я было уже собирался уходить — пицца кончилась, а мне становилось сильно скучно. Тем более, я успел всем надоесть — поднимал руку раньше всех и всегда предлагал решение лучше. На середине лекции меня вообще перестали спрашивать и обращать на меня внимание, что, определенно, сильно меня расстроило. Однако, в завершение, нам дали «задачку на дом», а главный рекрутер сказал скинуть ему на email решение, если вдруг появится оное.
Я был сильно удивлен: нужно было написать функцию, которая принимала бы число (сторона квадрата) и выдавала бы спирально закрученную последовательность цифр. Пример для стороны квадрата, равной девяти, представлен ниже:
По началу, я забыл про эту задачку, но переписал ее на постер, который мне подарили за ответы. А другим раздавали футболки — ну за что меня так? За то, что много отвечал.
Мне стало скучно в автобусе по пути домой (целых 10 минут вытерпеть сложно), вот я и накидал примерный алгоритм на том же постере. Когда я приехал домой, я выпил пару энергетиков для того, чтобы сохранить резкость ума еще на пару часов, и начал писать код на Objective-C. Потому что я не умею плюсы на достаточном уровне. Потому что я вот такой лентяй.
На скорую руку накидал интерфейс программы и сделал его слегка тематическим — вдруг придет рекрутеру сотня решений, и все одинаковые? Здесь нужно как-то выделиться из толпы!
Ну, не суть важно. За основу матрицы я взял двумерный массив. В моем случае, NSArray из NSArray из NSNumber. И сразу же написал метод вывода этого массива в нужное окошко. Окошком был WebView — в нем можно удобно построить табличку на HTML: (код "1" в низ статьи)
Осталось только заполнить массив данными. Пробегитесь глазами по коду метода, а ниже я подчеркну некоторые моменты. (код "2" в низу статьи)
А вот и результат для стороны квадрата, равной восьми:
Благополучно закончив кодинг и тестинг, я отправил письмо с моим резюме и решением на email главного рекрутера. Сегодня вечером я обнаружил ответ: меня поблагодарили и пригласили на интервью в офис.
Честно сказать, я был ошеломлен. Наверняка же, люди присылали решения получше: почему я? Оказалось, все просто. Из телефонного разговора я понял, что из 150 человек в лекционной отправили решение только трое (я в их числе). У одного решение не скомпилилось, у другого простое консольное решение на плюсах, а у меня вот такой приятный глазу UI. Похоже, выбор был очевиден.
Очень часто слышу жалобы студентов, что им не перезванивают после отправки резюме в компанию. Вспоминается анекдот про Бога и лотерейный билет.
Спасибо, что дочитали до конца! Вот так, при помощи решения задачки школьного уровня, у меня удалось заполучить собеседование в Facebook. Я уверен в том, что есть решение проще, и безумно сильно хочу о нем узнать!
Сразу к делу: решение задачки школьного уровня на гитхабе. Прилепил тематическую мордочку, сделал все в традициях Objective-C, должно компилиться на маках. Надеюсь, данное чтиво откроет глаза многим русским студентам, насколько просто можно попасть в крупные компании своей мечты.
К сожалению, FB не является моей приоритетной целью; поэтому съезжу на интервью, посмотрю на вопросы и напишу следующую статью о том, что же спрашивали и что же я могу спросить на интервью в моей студии.
Заинтересовавшихся прошу под кат.
Не нужно себя готовить к чему-то сверхъестественному — я подозреваю, что эту задачку дают в русских школьных кружках программирования.
Шел вторник, мне нечего было делать после университета, я забежал на лекцию Facebook на кампусе за бесплатной пиццей. Кстати, я съел три куска, однако, самая вкусная пицца, на моей памяти, была на презентации Electronic Arts. Ребята от Цукерберга набили полный зал студентов, около 150 человек. Поговорили про процесс подачи заявки в FB, про серию интервью и решили пару-тройку простеньких задачек типа «Реализовать поиск дубликатов в массиве» — задачки уровня детского сада на 30-40 секунд подумать.
Я было уже собирался уходить — пицца кончилась, а мне становилось сильно скучно. Тем более, я успел всем надоесть — поднимал руку раньше всех и всегда предлагал решение лучше. На середине лекции меня вообще перестали спрашивать и обращать на меня внимание, что, определенно, сильно меня расстроило. Однако, в завершение, нам дали «задачку на дом», а главный рекрутер сказал скинуть ему на email решение, если вдруг появится оное.
Я был сильно удивлен: нужно было написать функцию, которая принимала бы число (сторона квадрата) и выдавала бы спирально закрученную последовательность цифр. Пример для стороны квадрата, равной девяти, представлен ниже:
По началу, я забыл про эту задачку, но переписал ее на постер, который мне подарили за ответы. А другим раздавали футболки — ну за что меня так? За то, что много отвечал.
Мне стало скучно в автобусе по пути домой (целых 10 минут вытерпеть сложно), вот я и накидал примерный алгоритм на том же постере. Когда я приехал домой, я выпил пару энергетиков для того, чтобы сохранить резкость ума еще на пару часов, и начал писать код на Objective-C. Потому что я не умею плюсы на достаточном уровне. Потому что я вот такой лентяй.
На скорую руку накидал интерфейс программы и сделал его слегка тематическим — вдруг придет рекрутеру сотня решений, и все одинаковые? Здесь нужно как-то выделиться из толпы!
Ну, не суть важно. За основу матрицы я взял двумерный массив. В моем случае, NSArray из NSArray из NSNumber. И сразу же написал метод вывода этого массива в нужное окошко. Окошком был WebView — в нем можно удобно построить табличку на HTML: (код "1" в низ статьи)
Осталось только заполнить массив данными. Пробегитесь глазами по коду метода, а ниже я подчеркну некоторые моменты. (код "2" в низу статьи)
- Решил создать матрицу нужного размера, заполненную NSNull объектами; а после заполнять ее нужными числами.
- Каждую итерацию сторона квадрата уменьшается на 2, потому что мы отрезаем по одному числу с двух сторон.
- Смещение — это координата начала текущего квадрата (и «x», и «y» — они одинаковые).
- У каждого квадрата сначала рисуется верх, потом правая сторона, потом низ, потом левая сторона.
- В случае, если сторона квадрата равна 1, низ рисовать не нужно; иначе, центральное число будет на 1 больше. Почему? А вот и вам домашнее задание
А вот и результат для стороны квадрата, равной восьми:
Благополучно закончив кодинг и тестинг, я отправил письмо с моим резюме и решением на email главного рекрутера. Сегодня вечером я обнаружил ответ: меня поблагодарили и пригласили на интервью в офис.
Честно сказать, я был ошеломлен. Наверняка же, люди присылали решения получше: почему я? Оказалось, все просто. Из телефонного разговора я понял, что из 150 человек в лекционной отправили решение только трое (я в их числе). У одного решение не скомпилилось, у другого простое консольное решение на плюсах, а у меня вот такой приятный глазу UI. Похоже, выбор был очевиден.
Очень часто слышу жалобы студентов, что им не перезванивают после отправки резюме в компанию. Вспоминается анекдот про Бога и лотерейный билет.
Спасибо, что дочитали до конца! Вот так, при помощи решения задачки школьного уровня, у меня удалось заполучить собеседование в Facebook. Я уверен в том, что есть решение проще, и безумно сильно хочу о нем узнать!
Вложения
-
1,4 KB Просмотры: 50
-
1,8 KB Просмотры: 63
Возможно, Вас ещё заинтересует:
- 5 вещей, которые необходимо знать при выборе VPN
- Яндекс Дзен это самостоятельный источник дохода или развод?
- Как делать с одной статьи половину месячной зарплаты в Дзене
- Организовываем себе дополнительный заработок через Яндекс Дзен
- Преимущества торговли на маркетплейсах
- Заработок на онлайн игре Lineage 2
- Несколько причин для заработка в Telegram прямо сейчас
- Как делаются деньги на маркетплейсах?
- Делаем дополнительные деньги на Push-подписках (арбитраж)
- Дополнительный доход за короткие видео на You-Tube из категории #shorts (без подписчиков)