Представляю вашему вниманию перевод своей статьи Amazon software engineer interview, изначально опубликованной на английском на sobit.me.


Amazon - We Pioneer


Не так давно со мной связался технический рекрутер из Amazon. Компания организовывала трехдневное онсайт собеседование по найму программистов в их берлинский офис.


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


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


27 апреля: Вышли на контакт


Рекрутер связалась со мной через LinkedIn. Она писала, что им нужны программисты в берлинский офис, и просила отправить ей обновленное резюме, если мне это интересно. С моей привычкой постоянно держать свое резюме обновленным я отправил его уже на следующий день.


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


На задание давалось два часа, и рекрутер попросила закончить его до 5 мая. Я решил не спешить и подождать до выходных.


1 мая: Прескрининг


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


Ни рекрутер, ни платформа не сообщили мне о доступных на собеседовании языках программирования до того, как я перешел к решению задач. Все, из чего я мог выбрать, это C, C++, Java и пара других. Это пошло вразрез моим планам использовать Go или PHP, и в итоге я выбрал Java.


Собеседование состояло из трех задач. Технически их было возможно решать в любом порядке.


Задачи


Первая задача была об объектно-ориентированном программировании. Было дано несколько классов с их методами, и требовалось предоставить эффективное решение, поддерживая при этом легко читаемый и чистый код.


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


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


В последней задаче требовалось провести анализ сложности решения предыдущей задачи, а также объяснить свой выбор. Из-за недостатка времени мне пришлось ограничиться только анализом.


4 мая: Собеседование по телефону


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


Подготовка


У меня было всего два дня на подготовку. Я пробежался по основным алгоритмам и структурам данных из следующего списка:



Помимо общих знаний, вам также надо уметь обосновывать сложность алгоритмов и стандартных операций над структурами данных. Мне в этом сильно помогла Wikipedia.


Телефонный звонок


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


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


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


2 июня: Онсайт собеседование


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


После отправки заполненной формы на четвертый день я получил подтверждение о собеседовании от нового рекрутеры из офиса в Берлине. Еще через неделю она отправила мне подробное расписание с именами и должностями тех, с кем мне предстояло говорить. Было полезно найти их профили на LinkedIn, чтобы заочно познакомиться по-ближе.


Подготовка


У меня было немногим меньше месяца для подготовки. Я понимал, что не смогу освоить купленную книгу полностью, поэтому решил уделить время трем задачам из каждой главы. Весь ход мыслей и итерации решения я описывал на бумаге и сравнивал их с решениями в конце книги. Черной ручкой я решал задачи, а красной — исправлял ошибки. Целью было видеть меньше красного с каждой последующей задачей.


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


За две недели до собеседования я начал готовить ответы на поведенческие вопросы. Многие кандидаты недооценивают важность подобных вопросов и готовятся только к технической части. Так нельзя! Интервьюверам важно узнать вас как личность и понять, хотят ли они работать с вами в одной команде. Мне было удобно писать ответы в виде историй в стиле STAR. Я покрыл следующие ситуации: ошибки и провалы, конфликты, примеры лидерства. Как совет, постарайтесь говорить в своих историях больше о себе, а не о команде, с которой вы работали. Таким образом интервьюеру будет легче оценить ваш личный вклад.


Вам нужно четко знать, почему вы хотите работать в Amazon. Если вы не можете честно ответить на этот вопрос, то подумайте, подходит ли вам это место. Обмануть интервьюеров не удастся, и это будет потерей времени для всех. В конце концов, зачем пытаться тратить драгоценные годы своей жизни на что-то, что вас не интересует?


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


День собеседования


Кандидатов попросили взять с собой паспорта и подойти на 10 минут раньше назначенного времени, чтобы зарегистрироваться и подписать соглашение о неразглашении. Затем один из работников проводил меня в комнату, где и должны были проходить мои собеседования.


Всего было четыре собеседования по 50 минут с 10-минутными перерывами между ними и дополнительными 15 минутами перед последним. Каждое собеседование состояло из 40 минут для решения задач и 10 минут для поведенческих вопросов.


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


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


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


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


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


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


После собеседования присутствует неприятный осадок, будто все завалил, так как ни на одно решение к задачам не отреагировали: "Супер! Вот это идеальное решение!". Не торопитесь расстраиваться — это нормально! Никто и не ждет, что вы найдете это "идеальное решение". Задачи на собеседования готовят именно так, что нет возможности полноценно их решить за 40 минут. Все, на что интервьюеры обращают внимание, — как далеко и с каким ходом мыслей вы можете зайти.


16 июня: Оффер


Amazon понадобилось восемь дней, чтобы принять решение. В пятницу рекрутер из берлинского офиса написал, что они выбрали меня на должность. Мы обсудили подробности по телефону в понедельник, и через три дня, 16 июня, я получил оффер со всеми цифрами.


На следующий день мы разъяснили некоторые вопросы, которые я подготовил, а также несколько дополнительных, нужных мне для увольнения из текущей компании. И в конце того же дня я отправил официальное ДА в Amazon.


Ссылки



Благодарности


Антон Попов выступал наставником в процессе найма и обсуждал черновой вариант этой статьи вместе с Шерзодом Абдуджабборовым и Умедом Худойбердиевым.

Поделиться с друзьями
-->

Комментарии (254)


  1. Beanut
    10.07.2016 19:39
    +7

    Подписанное вами NDA касалось того, о чем вы сейчас написали?


    1. FINTER
      10.07.2016 19:55
      +1

      Перевод же.


      1. Beanut
        10.07.2016 19:57
        +12

        Он же и автор оригинала.


    1. Sobit
      10.07.2016 20:09

      NDA распространялось на инсайдерские, не опубликованные данные или продукты, о которых я мог узнать в ходе собеседования. В этой статье нет ничего, что отсутствует на GfG или CtCI. А последние рекомендуются к ознакомлению компаниями вроде Amazon еще до интервью. Не переживайте.


      1. mantyr
        10.07.2016 20:54

        Почему вы хотели работать именно в Amazon? Интервью и всё общение было на английском или встречалась немецкая речь (по крайней мере в офисе)?


        1. Sobit
          10.07.2016 21:09
          +3

          Интервью было на английском, но в офисе работают много немцев. Немецкая речь в любой компании в Германии — частое явление.


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


          1. gaki
            11.07.2016 04:12

            Но, если честно, вы таки хотели работать именно в Amazon? Если бы рекрутер был из Google/Microsoft/whatever — сразу отказались бы?


            1. Sobit
              11.07.2016 15:20

              Amazon не был единственной компанией, которая меня привлекала. И я не отказывался бы от предложений других компаний.


              1. gaki
                11.07.2016 15:23
                +3

                То есть, вы не хотели работать именно в Amazon?


                1. Sobit
                  11.07.2016 15:52
                  +3

                  Хотел ли я работать в Amazon? Да. Единственная ли это компания, где я хотел бы работать? Нет.


                  1. gaki
                    11.07.2016 17:06
                    -6

                    Ну так всё-таки _именно_ или _не_именно_ в Amazon?


                    1. 3fed
                      11.07.2016 18:03
                      +1

                      Ну вот что вы пристали вы к человеку.

                      Amazon — одна из интересных компаний, но не самая интересная?
                      И как, вы удовлетворены своим выбором?


                      1. gaki
                        11.07.2016 18:09
                        -8

                        Ну а чо он юлит? Кураторы из Амазона бдят? :)


                        1. 3fed
                          11.07.2016 19:35
                          +4

                          Ну не знаю, человек рассказал про то, как собеседовался, а тут разные левые типчики с вопросами типа «нафига тебе этот амазон» лезут. Ни разу не показалось что он юлит. Может у человека мечта была работать в компании, которая классный кинд придумала, что ему, книгочею, на ДР подарили. Он же писал ниже, для адекватного ответа ему нужно 3 абзаца.
                          У меня такой мечты не было, в крупные компании не собеседовался, но наверняка послал бы тех кто стал допытываться-докапываться до всякой ерунды.


                          1. gaki
                            12.07.2016 04:26
                            -4

                            Да не нужны мне его глубоко личные 3 абзаца! Он же сам пишет, что никакой «мечты» работать именно в этой компании нет. Но как бы и есть. Но необязательно в этой компании. Хотя и именно в этой. А дважды два — пять. Хотя и четыре. Но и вариант с тройкой можно, в принципе, рассмотреть. Если он вдруг пишет это искренне, то он для меня как инопланетянин, носитель какой-то иной, инопланетной логики. Вам бы неинтересно было до инопланетянина докопаться?


                            1. ilmast
                              13.07.2016 13:43
                              +1

                              Абсолютно прозрачная логика: Амазон одна из компаний, где автор хотел бы работать.


                              1. gaki
                                14.07.2016 04:13

                                Исходный вопрос был «почему вы хотите работать именно в Амазон?» Не «почему Амазон — одна из компаний, где вы хотите работать?» Можете ничего не отвечать, я уже понял, что правильный ответ, с точки зрения большинства комментаторов, будет «Зануда! Да чо пристал-то! К хорошему человеку!»


                                1. ilmast
                                  14.07.2016 14:11
                                  +1

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


                                  1. gaki
                                    14.07.2016 15:45
                                    -2

                                    Спасибо, ваше мнение очень важно для меня.


                1. Siper
                  11.07.2016 16:54

                  «Работать в Amazon или умереть с голоду»


      1. outcoldman
        11.07.2016 17:16

        Не уверен, что это совсем так. Обычно включен пункт о том, что вы не можете обсуждать детали интервью. Посмотрите на подписанное NDA, если оно у вас есть перед глазами.


  1. Don_Eric
    10.07.2016 20:34
    +1

    можно ли обсуждать оффер и просить его увеличить?


    1. Sobit
      10.07.2016 20:59

      Всегда можно обсуждать оффер, конечно. Увеличат ли его или нет — другой вопрос. Обычно компании целятся в промежуток между вашей текущей компенсацией и тем, что вы запросили.


      1. poxu
        10.07.2016 21:07

        А откуда они знают размер вашей текущей зарплаты?


        1. Sobit
          10.07.2016 21:11

          Они об этом спрашивают. Вы вправе не отвечать или вписывать любые цифры, никто этого проверять не будет. Но у них также есть и свои бюджеты на каждую должность. Редко ради кого будут делать исключение из правил и выходить за эти рамки.


          1. poxu
            11.07.2016 17:22

            А в описании вакансии эти бюджеты как-то присутствуют?


            1. Sobit
              11.07.2016 17:29

              Зависит от компании. В Германии обычно их нет.


      1. dom1n1k
        10.07.2016 21:56
        +3

        Компенсацией чего?


        1. Rasifiel
          10.07.2016 22:09
          +6

          Вы тратите свое время на компанию работая в ней, а она компенсирует это вам разными способами) Если серъезно обычно подразумевают суммарно получаемое количество денег и эквивалентных деньгам вещей (акций, например) в год до уплаты налогов.


        1. outcoldman
          11.07.2016 17:21

          Считайте, что компенсация = бонусы.


          1. webkumo
            12.07.2016 01:52

            Ну вообще, компенсация — суммарная плата за работу (потраченное время). Сюда входит зарплата, плюшки, соц. пакет и прочие материальные и нематериальные бонусы, которые работник получает за свою работу.


      1. mtlroom
        13.07.2016 14:19
        +1

        Судя по советам автора «cracking coding interview» на кворе обсуждать оффер не только можно но и нужно! Смотреть на это нужно по другому: соискатель пытается продать самое главное что у него есть: свои профессиональные навыки и опыт, соискателя мурыжат всякими перелетами да кучей интервью по телефону, через hackerrank и тд, и в конце концов дают оценку «стоимости» этого человека. Это же начальная точка отчета, можно сказать нижняя планка. Почему этот самый соискатель не пытается сделать мало-мальское усилие поднять эту планку ближе к максимуму!? Я бы такого кандидата сразу поставил бы под сомнение, если же конечно он не злёный новичёк.
        Я сам работал в одной компании 10 лет, перед тем как перейти в новое место полтора года назад и работал там год по удалёнке пока меня от туда не уволили несколько месяцев назад ;) После увольнения поехал в тайланди по другим странам покатался, позже постучал по своим старым контактам и работал консультантом последних 3-4 месяца и решил настало время, и пока еще не поздно, в силиконовую долину перебираться.
        Я в жизни-то интервью проходил наверное один-два раза (10 лет назад и полтора года назад когда на удалёнку перешел). Поинтересовался у знакомых как правильно подойти к этим интервью и следуя совету что обсуждать оффер это не только можно но и нужно как часть интервью. Я прошел несколько интервью в разных компаниях включая FB, убер и др. в калифорнии и потом используя эти предложения от известных компаний я легко и быстро узнавал где находится потолок который мне могли бы предложить в других местах ;) и начинал обсуждать оффер после того как планка была передвинута к потолку! В такой ситуации уже много обсуждать не получается, но дополнительные stock options и signup bonus повысить еще немного можно.
        Для поднятия планки вверх у меня помимо того что были counter-offers от FB еще и ставка была не маленькая в последних три месяца ($250/hr по контракту).
        Добавлю вот еще что, не смотря на то что я был уволен на предыдущем месте, мне сказали что дадут хорошие рекомендации. По моему профессиональному опыту самое подходящее место для меня был бы whatsapp, я должен был бы работать над видео звонками у них (они это скоро будут вводить в строй) уже шел разговор о дате интервью и я расказал что меня уволили с удаленки пол года назад и расказал по какой причине, а причина просто ппц хуже не придумать. Причина была ошибочная конечно и я как есть все их HRу рассказал в подробностях вместо того чтоб сказать что все было ОК и воспользоваться обещанными хорошими рекомендациями. Так вот, после того как я это им честно расказал мне через пару дней прислали письмо с отказом продолжать процес интервью без каких либо причин. После такого опыта я просто удалил из своего резюме ту компанию чтоб больше таких вопросов ни у кого не возникало :)
        Так вот, в тех компаниях где я прошел интервью стартовая база зарплаты была в районе 170-200К (без пяти центов). Я слетал раз пять в Сан Франциско, сделал несколько интервью в других компаниях и поднял базовую зарплату на 25% и stock options на 55%. По опыту одного моего знакомого который несколько лет назад перебрался в гугл зарплату там трудно повысить когда уже работаешь у них, они всем стандартно повышают оклад и все. Так вот, можно было бы несколько лет еще там пахать и заслужить +25%, либо потратить пару недель и начать сразу с +25%. По моему математика и выгода очевидна. Ну и не забывайте: когда соискатель уже прошел интервью и если попросить слишком много не значит что они все отменят :)
        И кстати, в амазон я отменил onsite интервью (они не конкурентно способны по зарплатам), но они все же настаивают и в течении недели возможно полечу в Сиэтл.


    1. outcoldman
      11.07.2016 17:19

      Нужно! Рекрутеры они как продавцы на рынке — пытаются вас устроить за минимальные деньги. Может быть у них бонусы за это, не знаю. В общем, всегда нужно торговаться. Они вам дают ЗП с учетом того, что вы будете торговаться. Только нужно основание для торговли. Просто хочу больше — не подходит.


      1. saboteur_kiev
        11.07.2016 17:34
        +2

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

        А оффер и цифры обсуждаются не с рекрутером а с непосредственным проджект менеджером. Рекрутер может знать только примерную вилку.


        1. outcoldman
          11.07.2016 17:53

          По моему опыту все большие компании (FB, Amazon, Google, MSFT) обсуждают ЗП с тобой именно через рекрутеров. Да, менеджер потом будет делать approve этого офера, но сам менеджер вряд ли будет с тобой обсуждать. В мелких компаниях опять же по моему опыту бывает по другому, просто потому что штаб рекрутеров там не такой большой.
          Опять же, это все зависит от компании, от команды и от самого менеджера.


      1. 3fed
        11.07.2016 18:13

        >> Просто хочу больше — не подходит.

        Понятно, что с аргументами торговаться проще. Но почему «Я знаю что я классный и мне нужно платить больше» не аргумент? Это же торг! ИМХО это не слишком отличается от «вы должны доплачивать 500$ за моё чувство юмора» или " мне нужна единовременная премия в 10000$ что бы мне хватило на новую машину"


        1. outcoldman
          11.07.2016 19:18
          +2

          Это тоже аргумент. У вас будет возможность на интервью или при помощи резюме доказать это.

          ЗП выдаются в зависимости от уровней. А уровни выдаются в зависимости от ЗП. Скажем, вы интервьюируетесь на позицию с уровнем 3 (6 пускай максимальный), на которой ЗП в вилке $110,000-$130,000, но вы просите ЗП $135,000 — вам могут отказать, так как для этого нужно будет другой уровень, а следовательно другая позиция, требовать approval свыше и т.п. Может быть вы даже просите $125,000, но с учетом того, что они знают, что ты не в верхушке будешь этого левела, а тебе еще повышать ЗП нужно будет в следующем году, тоже могут отказать.

          С другой стороны не только ЗП значима. Может быть скажут, что вот ЗП не могут тебе повысить, оставят 120,000, но вот дадут акций в два раза больше (будут выдаваться в течении следующих 4х лет, например).

          С учетом того, что (а) кандидатов много (б) уволить сложнее чем нанять, то с торговлей «я классный и хочу больше» можно просто получить отказ с другой стороны.


          1. 3fed
            11.07.2016 20:39

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


  1. brainunavailable
    10.07.2016 20:49

    в комментах оригинальной статьи разыгрались страсти.


    1. Sobit
      10.07.2016 20:56

      Тут и тут похлеще будет.


      1. Laney1
        10.07.2016 21:49
        +3

        да, там традиционный плач на тему «я веб-разработчик, зачем мне эти ваши алгоритмы».

        Вот например, статья разработчиков react.js о ключевом месте этой библиотеки: facebook.github.io/react/docs/reconciliation.html TLDR: «нам нужно изменять граф за минимальное число операций. Лучшие известные алгоритмы (ссылка на научную статью) работают за O(n^3), но мы придумали пару эвристик и получили в среднем O(n) для интересных нам случаев». Естественно, авторы таких статей хотят, чтобы их будущие коллеги хотя бы понимали, о чем вообще идет речь.


        1. youlose
          10.07.2016 22:35
          +1

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


          1. Rasifiel
            11.07.2016 00:17
            +1

            А там не было задачи «придумать супер алгоритм». Требовалось понять почему стандартное решение не подходит, найти минимальную часть, которую надо заменить на эвристику и такую эвристику, чтобы она работала достаточно хорошо для большинства вариантов и позволяла настроить себя, если требуется более оптимальное решение.


        1. Rasifiel
          10.07.2016 22:35

          Люди считают, что интервью нельзя пройти не зная, например, реализации «красно-черных» деревьев наизусть и прочего такого. На самом деле там нужен базис (всякие базовые структуры и алгоритмы — список, бинарное дерево, банальный обход в ширину какой-нибудь и т.д.), умение его развивать в нужную сторону и аккуратность. Как раз ответы наизусть хорошего собеседующего не так интересуют — они не позволяют понять как ты соображаешь в условиях нестандартной задачи.


      1. nikitasius
        11.07.2016 00:55
        +1

        А смысл в алгоритмах сортировки? Ей-богу я последний раз что-то сортировал года два назад. Большая часть работы — обработка данных, к тому отсортированных в БД. Да и чего далеко ходить — сейчас в Java 8 судя по спецификации (я все еще на 7й, лямбда мне мышление немного ломает) есть сортировка.
        Надо конкретные вещи, реальные задачи обсуждать. Хорошо, что вам там разбавили заданиями.


        1. Oxoron
          11.07.2016 09:32
          +3

          Могу предположить, это простейший способ выяснить, знает ли человек про сложность алгоритмов. Знает ли, когда нужно слиянием сортировать, а когда быстро. Если он этого не знает — значит не прочитал рекомендуемую литературу, минус его ответственности и\или внимательности.
          Правда, есть вероятность того, что это просто «стандартный» вопрос, применяемый по традиции и бездумно.
          В любом случае, без опыта в рекрутинге и\или интервью с конкретным рекрутером — не угадать.


        1. mamkaololosha
          11.07.2016 10:55

          Не волнуйтесь вы так. Там вы расскажете всё, что знаете и всё, что написали в резюме. Алгоритмы это прост проверка на вшивость.


          1. nikitasius
            11.07.2016 13:15

            Я и не волнуюсь, я критикую их интервью.


        1. komaniks
          11.07.2016 10:55

          На основе алгоритмов сортировки можно построить еще какое-то количество алгоритмов решающих те или иные задачи.


          1. nikitasius
            11.07.2016 13:19

            Напишите, какое количество и для каких задач в современных языках.


            1. mamkaololosha
              11.07.2016 14:08
              +1

              «Поиск k-ого наименьшего элемента» основан на qsort/binsearch. External merge sort сортирует данные в ограниченной памяти и hdd. Динамическое программирование и разделяй-властвуй используется в реалтайм-критикал системах. Если у вас данных от 1000000, то вы очень чувствуете разницу между N и LogN.


              1. nikitasius
                11.07.2016 19:31

                Не делаю ничего из указанного вами. Просто нет надобности и задач, и ограниченной памяти.


                1. mamkaololosha
                  11.07.2016 19:40

                  Значит вам хорошо


        1. outcoldman
          11.07.2016 17:29
          +1

          Мой вопрос, когда собеседую по телефону: есть два итератора, которые возвращают числа в порядке возрастания, нужно написать итератор, который будет возвращать числа из первых двух итераторов тоже в порядке возрастания (it1 = [2, 5, 7], it2 = [3, 6, 8] результирующий должен возвращать [2, 3, 5, 6, 8]). Не многие справляются с итераторами, прошу просто вывести их в stdout и вместо итераторов использовать обычные массивы. И с этим многие не справляются. Когда спрашиваю как бы решили в реальной жизни, то ответ примерно все дают arr1.union(arr2).sort(). Совсем не оптимально, но, видимо, для большинства областей это не так значимо.


          1. mamkaololosha
            11.07.2016 18:35

            Я бы не сказал, что простое задание: http://ideone.com/2vcyL9
            Мержсорт узнается, но если не узнать — не решить за O(N).


            1. outcoldman
              11.07.2016 19:21

              Ну вот вы за менее чем 36 минут смогли написать — значит есть еще люди, которые могут :D


            1. lemelisk
              11.07.2016 22:57

              Формально говоря, у вас написано не совсем то, что требовалось, и код работает за O(N^2). Хотя в правильный вариант, конечно, легко переделывается…


          1. lemelisk
            11.07.2016 22:54

            Вопрос то простой, но вот описать ответ словами по телефону, не имея возможности ничего написать и показать собеседнику, может быть сложновато…

            К слову про «совсем не оптимально», если реализация встроенного алгоритма сортировки — это Timsort, то он посортирует такой массив за O(n).


            1. outcoldman
              11.07.2016 23:04

              Телефон только для разговора, мы используем http://collabedit.com для совместного редактирования кода. То есть, собеседование по телефону, чаще даже проще, чем у доски, потому что тебе нужно печатать а не писать код.


          1. lemelisk
            11.07.2016 23:53

            К слову, если заменить в вашей задаче два итератора на n итераторов, то задача становится гораздо более интересной, тут можно и доказать, что меньше чем за n + k log n (k — количество переходов к следующему элементу по итератору-ответу) её реализовать нелья, а в варианте с массивами поговорить о том, в какой последовательности их оптимальнее друг с другом сливать.


            1. outcoldman
              12.07.2016 07:48

              Это вопрос на 5+. Если кандидат достаточно быстро решает эту задачу, то я спрашиваю два вопроса. Один очень простой — как убедиться, что данные итераторы возвращают числа в возрастающем порядке. Второй — это как можно бы работать с массивом итераторов.


          1. mickvav
            16.07.2016 19:24

            А там разве не пишется какой-то тривиальный конечный автоматик, который помнит, чего ему отдали итераторы и отдает всегда наименьшее из полученного?


        1. Maccimo
          11.07.2016 23:06
          -1

          > А смысл в алгоритмах сортировки?

          Действительно, зачем водителю общественного транспорта знать правила дорожного движения?

          > сейчас в Java 8 судя по спецификации… есть сортировка.

          Что это за сортировка такая, что есть только Java 8 и при чём тут спецификация?
          Вы про какую спецификацию, про JLS или про JVMS?


  1. mezastel
    10.07.2016 20:58
    +3

    Вам нужно четко знать, почему вы хотите работать в Amazon.

    Вот на этот вопрос вы ответите? А то репутация у компании, как бы это сказать, как у боди шопа нынче.


    1. Sobit
      10.07.2016 21:23

      Причина личная. Мой ответ на этот вопрос состоял из трех абзацев, и, тем не менее, он не отражал всей картины.


      1. mezastel
        10.07.2016 21:28

        Ну вот это как раз и интересно было. Но личная так личная.


    1. outcoldman
      11.07.2016 17:31

      Зря, все зависит от команды, Амазон очень большая компания.


  1. shybovycha
    10.07.2016 20:59
    +1

    Может кто-нибудь объяснить, за коим чертом технические интервью (хоть бы и частично) проводятся по телефону? Это же банально неудобно!


    1. Sobit
      10.07.2016 21:15
      +1

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


      1. shybovycha
        10.07.2016 21:22
        -2

        Как-то особенно неубедительно звучит для профессии «программист»… В 2016-м то году…


        1. Sobit
          10.07.2016 21:26
          +2

          В 2016 году писалки и звонилки создают все, кому не лень. Также встречаю "программистов", которые из-за параноидальных причин отказываются ими пользоваться.


          1. webkumo
            10.07.2016 23:51
            +1

            Не, ну а зачем им столько прав на моём телефоне? Без важной причины (толпы собеседников) я, например, их ставить не буду. А кто-то и вовсе не будет. Я бы и от скайпа отказался, но, к сожалению, часто бывает нужен.


          1. Juster
            11.07.2016 10:31
            +3

            Всё равно странно.
            Спрашиваешь «есть скайп?», получаешь ответ «да». Готово.
            Если нет, тогда уж по телефону.


            1. avost
              11.07.2016 10:59

              Скайп есть, нет переговорной комнаты с компьютером.


      1. erthad
        10.07.2016 23:29
        +1

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

        Кстати, вполне может быть причина — конфиденциальность. Телефоны кроме спецслужб никто не прослушивает, а скайп (микрософт) является прямым конкурентом амазона.


        1. nochkin
          11.07.2016 05:33

          Google использует Google Docs. Очень удобно и виден процесс с двух сторон.


    1. LLWE_FUL
      10.07.2016 21:21
      +1

      Кандидатов много, а подходящих мало. Обычно из десятка человек 8 можно отсеять за 5-15 минут телефонного разговора. Если каждого приглашать в офис, то получится очень накладно и нанимателю, и не подошедшим кандидатам. Поэтому на первом этапе проводят короткую беседу по телефону, а те 20%, которые после этой беседы не отпали, приглашают уже пообщаться лично.


      1. shybovycha
        10.07.2016 21:26

        А вот это уже более весомый аргумент. Но, наверное, подразумевает довольно обдуманные вопросы, потому как и подробно не поспрашиваешь кандидата (довольно-таки неудобно объяснять алгоритмические вещи по телефону), и вопрос типа «знаете XYZ? — да» не задашь (банально бессмысленно).


        1. Sobit
          10.07.2016 21:29

          Вас могут спросить, в чем разница hash table и binary search tree. Тут простым "да" не отделаешься.


        1. LLWE_FUL
          10.07.2016 21:39
          +2

          Обычно начинают с общих вопросов типа «где учился», «где работал». По ответам определяют область, в которой кандидат должен разбираться и примерный опыт / уровень квалификации. Потом задают простые вопросы, чтобы проверить предположение. Например, если кандидат говорит, что 5 лет пишет на PHP, можно поспрашивать про синтаксис (классы, разница между require и include), инструменты и особенности языка, известные проблемы; уйти в смежные области, вроде устройства HTTP, какой у кандидата любимый веб-сервер и почему. Все это занимает минут 5-10, и позволяет определить, на сколько кандидат понимает ту область, в которой работает. Если человек не плавает, то зовут в офис пообщаться подробнее.
          Это если ищут абстрактные таланты. Если ищут человека на что-то конкретное, то соответственно проверяют, на сколько он разбирается именно в нужной области.

          В принципе, любое интервью (в том числе личное) начинается примерно так, и откровенно слабых кандидатов видно практически сразу. Так что можно эту часть сделать по телефону, и не тащить человека в офис ради этих первых 10 минут.


        1. amarao
          11.07.2016 14:53

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


          1. 3fed
            11.07.2016 20:42

            А вы хитрый! Э как на чистую воду выводите.
            Я не могу представить момент, когда такой метод может не дать особого результата. Но думается, его не может не быть. У вас на этот счет интересных соображений не накопилось?


    1. Laney1
      10.07.2016 22:32
      +2

      у меня был прецедент, когда интернет превратился в тыкву прямо посреди собеседования, и пришлось продолжить общение по телефону.


    1. asm0dey
      11.07.2016 09:46

      Я всегда провожу первую часть собеседования по телефону чтобы не тратить своё время на людей, окторые не знают как HashMap устроен или как equals и hashCode связаны.


    1. outcoldman
      11.07.2016 17:37

      Насколько я понимаю, тут скрывается один из двух вопросов:

      — Почему первое интервью по телефону? Отсеять кандидатов. Из 5, например, пригласить только 2х на интервью на целый день. Целый день интервью — это все-таки отбирать время уже у большего числа сотрудников, с учетом того, что нужно готовиться и писать feedback — занимает по 3 часа.

      — Почему именно по телефону, а не Skype/Hangouts/etc? Я даю кандидатам возможность предложить другие способы связи, но телефон предпочтительнее. Из 3х раз (скажем я провел около 50 телефонных интервью), когда предложили Skype — были проблемы на той стороне — интернет глючил, наушники не туда подключены, связь пропадала. С телефоном тоже бывают проблемы, но их намного меньше. Один раз у интервьюиромого закончились минуты на телефоне — я ему написал свой Skype — мы созвонились по нему, проблем не было.


  1. qrck13
    10.07.2016 22:08
    +6

    У меня вопрос один только: а оно того вообще стоит? Была же информация, о том как с «людскими ресурсами» обращаются в amazon-е, — сотрудникам компании явно не позавидуешь.


    1. Dmitry_The
      11.07.2016 01:18

      Так, а здесь, пожалуйста, поподробнее, и со ссылками, если имеются?

      Планирую точно также, как автор поста, перебраться в компанию-гигант.


      1. qrck13
        11.07.2016 01:32

        http://mobile.nytimes.com/2015/08/16/technology/inside-amazon-wrestling-big-ideas-in-a-bruising-workplace.html?_r=0&referrer=

        http://www.huffingtonpost.co.uk/2014/05/07/working-at-amazon-like_n_5278503.html


        1. outcoldman
          11.07.2016 17:38
          -1

          На любую компанию такие статьи можете найти. Амазон это большая компания, там все зависит от команды.


          1. qrck13
            11.07.2016 18:46

            А вот и нет, про большинство больших компаний такого негатива в крупных мировых СМИ не было ни разу.

            Плюс та статья помнится вызвала сотни, если не тысячи, комментариев на reddit-е, в стиле «дада, знаем, у меня дядя работал, он чуть не повесился»


            1. outcoldman
              11.07.2016 19:26

              Ой, да ладно.

              https://www.google.com/search?client=safari&rls=en&q=microsoft+terrible+place+to+work&ie=UTF-8&oe=UTF-8
              https://www.google.com/search?client=safari&rls=en&q=oracle+terrible+place+to+work&ie=UTF-8&oe=UTF-8
              https://www.google.com/search?client=safari&rls=en&q=ibm+terrible+place+to+work&ie=UTF-8&oe=UTF-8

              Говорю, Amazon огромная компания. Там есть места получше, похуже. В Amazon Store да, слышал, что тяжко. В AWS есть знакомый — вроде все устраивает.


              1. qrck13
                11.07.2016 19:35
                +1

                Во первых из крупных СМИ я тут вижу только forbes, отметившийся про Microsoft. Во вторых Microsoft — реально фиговый работодатель.


                1. outcoldman
                  11.07.2016 20:37

                  Ну, мне кажется, что крупные мировые СМИ тут не показатель.

                  Но вот видите, по крайней мере нашли, что Amazon не один только тут, еще и Microsoft, а так же IBM, Oracle и т.п.


                  1. qrck13
                    11.07.2016 21:03
                    +1

                    Как раз еще какой показатель.
                    Одно дело «в интернете кто то написал», а другое дело — признанное мировое сми, заботящееся о репутации, которое несколько раз проверит факты, перед тем как что то публиковать. Тем более что за не проверенные публикации, если окажется что факты ложные — сми может нарваться на судебный иск. А форумные и блоговые посты можно встретить вообще о чём угодно, они — абсолютно не показатель.


                    1. outcoldman
                      11.07.2016 21:11

                      Скажем так, amazon как нанимал до той статьи, так и нанимает после них http://www.geekwire.com/2015/huge-growth-amazon-reaches-222400-employees-hires-39000-in-last-quarter-alone/


                      1. qrck13
                        11.07.2016 23:19

                        Далеко не все люди могут позволить себе такую радость, как выбирать придирчиво работодателя. Многие сотрудники амазона — это люди, у которых «либо амазон, либо без работы». Так что ничего удивительного в этих цифрах нет. Но что туда идут люди IT специальности — для меня большая загадка, т.к. IT кадры — большой диффицит, и найти работу — не сложно квалифицированным специалистам.

                        P.S. самый первый коммент в той вашей статье, которую вы привели:

                        > Amazon's financial results look good, but they won't be sustainable in the future unless Amazon fixes its management problems because they have hired and promoted far too many incompetent managers who drive «success» only through the abuse of its hard working employees. That's why Jay Carney and Jeff Bezos are still very worried about the NY Times article two months later.


                        1. outcoldman
                          11.07.2016 23:26

                          Откуда у вас такая информация? Про придирчивость, про «либо амазон, либо без работы»?

                          Мне кажется или вы сами себе противоречите в своем комментарии?

                          Еще раз, никого не волнуют эти статьи в массовых СМИ. Ты выбираешь работу. В Сиэтле можешь получить оферы из Гугл, Майкрософт и Амазон (и еще куча компаний, но не важно). Скажем МС дает $140,000 и акций $40,000 на 4 года, в Гугле тебе дали $160,000 и акций $100,000 на 4 года, в Амазоне тебе дадут $150,000 и акций $100,000 на 2 года.
                          То есть пойдешь в МС заработаешь в следующем году 150 тыс, в гугле 185 тыс, в Амазоне 200 тыс. Вот и выбор встанет куда пойдешь. А еще посмотрите на рост акций во всех компаниях, чтобы выбор был бы еще интереснее.


                          1. qrck13
                            11.07.2016 23:43

                            > Откуда у вас такая информация? Про придирчивость, про «либо амазон, либо без работы»?

                            Вы может не знаете, но 99% сотрудников амазона — это не IT персонал, это низко-оплачиваемые сотрудники выполняющие различную механическую работу. И им выбирать не приходится.

                            Статья же о приеме на должность разработчика ПО, и как следствие — тут совершенно другая история со всем вытекающими.

                            > То есть пойдешь в МС заработаешь в следующем году 150 тыс, в гугле 185 тыс, в Амазоне 200 тыс. Вот и выбор встанет куда пойдешь. А еще посмотрите на рост акций во всех компаниях, чтобы выбор был бы еще интереснее.

                            Ага, пойдешь в амазон, отработаешь год и больше не выдержишь, свалишь раньше двух лет не получишь акций, уйдешь куда-то еще ;)

                            P.S. А вообще я сильно-сильно-сильно сомневаюсь что амазон предложит условия лучше, чем тот-же гугл.


                            1. outcoldman
                              12.07.2016 00:01
                              +1

                              > Вы может не знаете, но 99% сотрудников амазона — это не IT персонал, это низко-оплачиваемые сотрудники выполняющие различную механическую работу. И им выбирать не приходится.

                              Откуда у вас такая информация? Я живу в городе Редмонд, работаю в городе Сиэтл, где находится компания Amazon. Amazon тут строится как сумашедший, с учетом всех достроенных офисных зданий они будут обладать 7% downtown города по слухам. Не думаю, что там сидят низко-оплачиваемые сотрудники выполняющие механические работы.

                              Я вам больше скажу — амазон предлагает на время праздников высокооплачиваемым сотрудникам (it специалистам) поработать на складах. Это не шутка.


                              1. qrck13
                                12.07.2016 00:05

                                > Откуда у вас такая информация? Я живу в городе Редмонд, работаю в городе Сиэтл, где находится компания Amazon. Amazon тут строится как сумашедший, с учетом всех достроенных офисных зданий они будут обладать 7% downtown города по слухам. Не думаю, что там сидят низко-оплачиваемые сотрудники выполняющие механические работы.

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

                                > Я вам больше скажу — амазон предлагает на время праздников высокооплачиваемым сотрудникам (it специалистам) поработать на складах. Это не шутка.

                                А тем, кто откажется — урезают бонус? :)


    1. skeeph
      11.07.2016 01:18
      +1

      Знакомый работал там. Говорит что выдержал только полгода. Последний месяц, говорит, спал по 4 часа в сутки


      1. n43jl
        11.07.2016 23:51

        В какой стране? Мне кажется, что также будет отличие в балансе работа\отдых в США и в Европе. Да и в Германии, вроде 4 недели отпуска, а в США — 2?


        1. mamkaololosha
          12.07.2016 11:30

          В США нет отпуска. Точнее он не регламентирован трудовым законодательсвом. Может быть неделя через год работы.


          1. lingvo
            12.07.2016 11:39

            По США я выяснял у коллег. После первого года работы обычно 10-15 дней. Потом увеличивается, по-моему, каждый год работы на день. Но да — это от фирмы зависит.
            Также стоит учесть, что в США очень мало праздничных выходных дней, по сравнению с Европой. 4-е июля, день благодарения, да и все, насколько я знаю. Все остальные — рабочие.
            В Германии в большинстве крупных фирм отпуск — 30 рабочих дней. То есть 6 недель.


            1. n43jl
              12.07.2016 16:21

              А в Европе очень мало праздничных дней по сравнению с Россией :)


            1. mtlroom
              18.07.2016 23:32

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


    1. Sobit
      11.07.2016 01:20
      +1

      Ничего по этому поводу пока сказать не могу, увы.


    1. veik
      11.07.2016 10:55
      +3

      Я проработал в Амазоне 2.5 года (в Сиэтле). Нагрузка очень сильно зависит от группы и от начальников. В моих группах переработок почти не было. Но я знаю места где народ уходил через год. Один из плюсов Амазона — они не мешают после года работы в одной группе перейти в другую. Так что все, кому не нравилось просто меняли группу. Большинство тех, кто писал эти статьи просто были не на своём месте — они пытались соответствовать уровню, до которого не дотягивали, а с них требовали его соответствия. Такое я тоже видел. Но чаще всего это ошибка рекрутмента.


      1. qrck13
        11.07.2016 10:59
        +1

        Там где я сейчас работаю, команду менять можно хоть сразу, если есть internal transfer opportunity, а переработок вообще нет. Так что «почти нет переработок» — это все равно плохо :)


      1. mtlroom
        18.07.2016 23:34

        на сколько я знаю теперь можно сразу менять группу, вроде это правило отменили.


  1. Rasifiel
    11.07.2016 00:25

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


  1. MTK
    11.07.2016 00:39
    -17

    Вот меня лично упарывает «Сортировка: bubble sort, quicksort, merge sort» — 2016 год на дворе, а мы всё ещё сортируем массивы. Серьёзно? Где-то это ещё не реализовано на стороне языка? Давайте и дальше тратить время на изучение сортировки массивов.


    1. MTK
      11.07.2016 00:41
      -11

      Всегда бомбило от того, когда на собеседовании ты должен готовить вопросы, которые на этой работе тебе никогда не пригодятся.


    1. ToSHiC
      11.07.2016 01:13
      +1

      Вы правда не можете придумать случая, когда пузырьковая сортировка будет рвать квиксорт как тузик грелку? В реальной жизни, конечно же.


      1. saboteur_kiev
        11.07.2016 17:38

        Вот здесь ;)
        https://habrahabr.ru/post/274493/


        1. lemelisk
          11.07.2016 23:34

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

          PS Пузырьковая сортировка — не лучший вариант квадратичной сортировки, она и не самая эффективная, и не самая интуитивно понятная, честно говоря, не знаю, почему она пользуется такой популярностью…


          1. ToSHiC
            12.07.2016 00:42
            +1

            Вот кстати примерно то и имел в виду, про практически отсортированные последовательности, особенно большого размера. Про то, что вы описали, тоже интересно поговорить, но это вопрос для уже достаточно сильных кандидатов. Можно сделать ещё шаг, и поговорить о эффективности алгоритма с точки зрения кеша процессора, но тут я, например, уже не силён.


            1. lemelisk
              12.07.2016 01:02

              Понятно. У меня в голове ваш вопрос трансформировался в «когда квадратичная сортировка будет наилучшим (самым быстрым) выбором». Потому что сортировка почти упорядоченных последовательностей и последовательностей, состоящих из длинных отсортированных кусков, — это «поле» Timsort.


    1. Sobit
      11.07.2016 01:24
      +2

      Где-то это ещё не реализовано на стороне языка?

      А языки не программисты пишут?


    1. lemelisk
      11.07.2016 01:54
      +6

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

      Поэтому, если на вопросах об алгоритмах сортировках человек «плавает», то можно уверенно сказать, что в данной области (алгоритмические знания) никаких обширных и систематизированных знаний у него нет. Конечно, есть множество вакансий для которых они и не нужны, но это уже другой вопрос…


      1. asv4
        12.07.2016 23:40

        Если на собеседовании начинают задавать вопросы о бабл сорт, начать следует с того, что уточнить, что именно на данной должности в данной компании вам предлагается сортировать вручную и зачем. Если четкого ответа не последует — минус компании или, как минимум, собеседующему вас персонажу. Очевидно, он не слишком отличается интеллектом.

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


        1. mamkaololosha
          13.07.2016 09:00

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


    1. hdfan2
      11.07.2016 08:43
      +12

      image


      1. gaki
        11.07.2016 18:38
        +1

        Сортируют мысли по возрастанию?


    1. avost
      11.07.2016 11:10
      +1

      На строне языка, как правило, реализован какой-либо вариант тн быстрой сортировки. Её использование не всегда является самым эффективным решением. Вопрос по сортировкам позволяет поговорить об этом (а ваш комментарий позволяет предположить, что вы вряд ли в курсе этого, иначе бы написали его). Вот прямо непосредственно на живом примере. Сама-то реализация пузырька в исполнеии кандидата вряд ли кого-то интересует.


    1. avost
      11.07.2016 12:38
      +2

      А ещё не так давно была доказана некорректность реализации встроенной в несколько о-очень популярных языков, сортировки. :)


    1. outcoldman
      11.07.2016 17:39

      По этому поводу https://habrahabr.ru/post/305340/#comment_9695596


  1. MCoder
    11.07.2016 01:11

    Кстати, нескромный вопрос: а что там по зарплатам вообще?


    1. Sobit
      11.07.2016 01:12

      Можно посмотреть статистику на глассдоре.


      1. MCoder
        11.07.2016 01:22

        А ссылочку можно?


        1. Sobit
          11.07.2016 01:26
          +1

          1. MCoder
            11.07.2016 02:27

            Неплохо вполне. Тогда такое собеседование имеет смысл я думаю.


            1. ankh1989
              11.07.2016 11:27
              +1

              Не, как везде. Это, можно сказать, стандартная зарплата программиста в США.


              1. mamkaololosha
                11.07.2016 11:29

                Собеседование тоже стандартное. Просто спрашивают университетский курс.


    1. n43jl
      12.07.2016 00:13

      Мне Glassdoor по Германии говорит, что они предлагают что-то типа 60k (налоги съедят, мне кажется, 40-50%, зависит от многих факторов). И у меня сложилось впечатление, что даже в Германии, в среднем по рынку: 40k-50k — реальность для Junior, 50k-60k — middle, 60k-80k senior. Так что по зарплате в Европе, тоже выглядит, как у всех.


      1. Sobit
        12.07.2016 00:23

        Зарплаты по Германии разнятся в зависимости от города. В Мюнхене, Франкфурте, Гамбурге цены и зарплаты выше. Берлин дешевый.


        1. n43jl
          12.07.2016 00:36

          Ну как я понимаю, мои вилки ближе к Берлинским зарплатам? В Мюнхене зарплаты повыше?


          1. Sobit
            12.07.2016 01:20

            Думаю, ваши вилки ближе к Мюнхенским зарплатам. 50к для джуниора, 60к для мида и 80к для сениора для Берлина будет многовато.


            1. n43jl
              12.07.2016 09:49

              Спасибо! Попробовал сравнить Берлин и Мюнхен с помощью numbeo и калькулятора зарплаты. За основу взял 60к в Берлине (Амазон) и 70к в Мюнхене (Гугл). Разница в месячной зарплате — 350 евро на 13 месяцев. Основные затраты — аренда жилья, в Мюнхене оно будет стоить на 300 евро дороже. Все в Мюнехе дороже на ~20%. Т.е. получается Берлин выглядит на 20% привлекательнее в финансовом плане… В Мюнхене только Альпы под боком привлекают. Как я понял вы 3 года в Германии? А в каких городах вы жили, работали?


              1. lingvo
                12.07.2016 10:25

                Между Мюнхеном и Берлином разница большая с множества точек зрения и она в основном в сторону Мюнхена. Лично я бы если бы выбирал, выбрал бы Мюнхен, однозначно, даже если финансовая разница будет 20+%.
                Насчет жилья — вопрос не в стоимости, а вопрос как его найти. Что в Берлине, что в Мюнхене найти нормальную квартиру — большая проблема. Причем вопрос стоит не «найти нормальное жилье», а просто «найти жилье». Например, на просмотре любой квартиры у вас будет 10+ конкурентов с более привлекательными «историями». И шансы, что арендодатели выберут именно Вас, скажем так, как иммигранта, не сильно высокие. А предложить цену выше «рыночной» вы не сможете — она и так уже ограничивается сверху государством по самое немогу.
                Мюнхен по уровню жизни круче, а это значит, что легче найти школу, садик для детей, мед. обслуживание, транспорт. Также выбор АйТи фирм там гораздо шире — это же мекка немецкой индустрии. Так что с работой будет меньше напрягов.
                Да и вообще — к теплому морю Мюнхен ближе.


                1. Sobit
                  12.07.2016 12:35

                  Добавлю поправку от себя. Да, в Германии с жильем может быть не так просто, как в наших странах, но, по крайней мере в Берлине, не так плохо, как пишет автор.


                  При переезде я брал обставленную квартиру на 5 месяцев на AirBnb, чтобы понять, в каком районе хочу жить (а они в Берлине ой как сильно отличаются), и после первых 3 месяцев занялся поиском. Было несколько хороших вариантов на выбор, и выбрал тот, что понравился больше всего. Отчаяния и страха, что останусь без крыши, ни разу не возникало.


              1. Sobit
                12.07.2016 12:29

                Жил и работал только в Берлине, поэтому не смогу предоставить объективное мнение, что лучше, а что хуже. Знаю много людей, что переехали из Мюнхена в Берлин, и только пару человек — в обратном направлении.


                Берлин — это мегаполис, второй в Европе после Лондона. Делит пальму первенства последние несколько лет с Лондоном по количеству инвестиций в ИТ индустрию. После Brexit, на мой взгляд, все еще более обернется в пользу Берлина. Здесь зародились такие компании и продукты, как SoundCloud, Travis CI, Wunderlist, Dubsmash, GoEuro, и другие, о которых вы могли слышать. Если смотреть с точки зрения карьеры, я бы сравнивал Берлин именно с Лондоном, на крайний случай с Амстердамом, но никак не с Мюнхеном.


                С точки зрения качества жизни, вам надо пожить и там, и тут и сделать собственные выводы. Я лично скажу, что Берлин лучше. Бавария же с Мюнхеном во главе считают, что они настолько продвинутые, что должны быть отдельной страной. Тут уже дело вкуса.


                1. n43jl
                  12.07.2016 16:19

                  Понятно, вообщем, как всегда — везде свои плюсы и минусы. А по поводу «пока не попробуешь — не узнаешь», это точно.

                  А по поводу Берлина и Лондона, я уже встречал очень похожее мнение здесь. Лондона я боюсь, если я говорил, что мне кажется в Мюнхен немного не в балансе стоимость жизни/зарплаты, то в Лондоне, возможно дисбаланс один из самых сильных во всем мире: аренда жилья стоит 1900€ в месяц по сравнению с 700€ в Берлине. Нидерланды мне нравятся, но я думаю не обращать внимания на их вакансии, т.к. если захочется роста, то выбор работы там заметно меньше, чем в Германии и зарплаты пониже… И не охото менять страны, каждые 3-4 года, хочется уже определится хотя бы со страной…


                  1. lingvo
                    12.07.2016 16:28
                    +1

                    Извиняюсь, но хуже дисбаланса чем в США, я не видел. Вот здесь пишут Сениор за 150к в силиконовой долине при 5к за жилье и типа ну можешь себе позволить то-то и то-то, но это мало. Да вы такие цены в Германии вообще видели?
                    У меня одинокий Джуниор программист получает 40к€ в Год в Баден-Вюртемберге. Ну и приезжает его коллега по цеху из Филадельфии — и вы бы видели его лицо, когда мы вечером вместе едем в ресторан и мой джуниор сажает его в свою новейшую купеху М-ку 1-ку. Тот просто офигел — говорит, что его вся зарплата уходит на жилье — за какие-то двухспальные аппартаменты. А тут и квартира и машина, и блек-джек со всеми плюшками.
                    А еще не стоит забывать — социалка, дети, обучение, пенсия. Это все огромные затраты в окончательном бюджете. В Германии, как говорится, все включено. В США — нет. То есть денег, кажется, больше, а как посчитаешь — 20 тыщ ребенку за институт — пригорюнишся.


                    1. n43jl
                      12.07.2016 16:39

                      Ребенок может поучиться и поступить на бесплатное :) и папе хорошо и ребенку полезно :)


                    1. mtlroom
                      19.07.2016 00:15

                      Ну тогда можно в том же Амазоне в Сиэтле работать. 140-150 сениор там может получать с 10-ти летним опытом. В Сиэтле налог на 10% меньше по сравнению с Калифорнией. За 5К/мес можно жить в (своем) шикарном доме в 20 минутах езды от работы.
                      Для симейных действительно сан-франциско наверное на самый лучший выбор, если только один человек в семье работает и не получает сверхъестественной оплаты за свой труд.
                      Не знаю как в Германии, но в штатах стандартная практика по мимо оплаты еще получать бонусы и stock options которые частенько могут привышать зарплату


                      1. Sobit
                        19.07.2016 01:29

                        Amazon в Германии предлагает такие же бонусы.


              1. Hayate
                12.07.2016 15:56

                60 и 70 это до налогов, или после налогов?


                1. n43jl
                  12.07.2016 16:02

                  До налогов, налоги ~45-50 процентов, я думаю.


                  1. Hayate
                    12.07.2016 17:11

                    Это где-то 175к в месяц, если в рублях. И на это в Германии можно позволить машину и квартиру?


                    1. n43jl
                      12.07.2016 20:06

                      Позволить аренду квартиры + машину + копить на свою квартиру — скорее нет, чем да.
                      Любые 2 пункта из 3 — да.
                      Ниже я привел ссылки, что думают Берлинцы по этому поводу.


                      1. Sobit
                        12.07.2016 21:41

                        Можно выбрать ипотеку, которая выйдет дешевле аренды квартиры.


                  1. Sobit
                    12.07.2016 17:28

                    В Берлине около 45% если не женат, иначе 35%.


                    1. n43jl
                      12.07.2016 20:07

                      Хороший бонус. Но когда жена находит работу — то налог снова становится 45%?


                      1. Sobit
                        12.07.2016 21:46

                        Супругам дают возможность выбрать одну из трех пар налоговых классов:


                        • 3 / 5 — муж 35%, жена 45%
                        • 4 / 4 — муж 40%, жена 40%
                        • 5 / 3 — муж 45%, жена 35%

                        Надо оптимизировать под доход супругов, чтобы извлечь максимальную выгоду.


                        Если же семейный доход переходит определенные лимиты, то ставки повышаются процентов на 10 вроде как. Сильно не интересовался, до этих лимитов мне пока далеко.


                    1. 0xd34df00d
                      13.07.2016 00:34

                      Забавный такой налог на холостость, эх. Интересно, почему.


                      1. Hayate
                        13.07.2016 02:56

                        По мне так даже формулировка звучит разумно. Налог на холостность.


                        1. 0xd34df00d
                          13.07.2016 03:01

                          Но, постойте, чего же разумного?


                          1. Hayate
                            13.07.2016 03:05

                            Рождаемость падает, снижается воспроизводство рабочей силы, растёт пенсионная нагрузка. Как минимум вот это.


                            1. 0xd34df00d
                              13.07.2016 03:08

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

                              Как-то я не могу с вами согласиться, в общем.


                              1. Hayate
                                13.07.2016 03:17

                                Ну не стоит забывать, что новая рабочая сила это ещё и новые потребители. Без которых бизнес пойдёт загибаться и станет ещё меньше рабочей силы и всё схлопнется.
                                А про медицину и школы — это несколько спекулятивно.
                                Да и вообще, мне не улыбается жить в мусульманском мире. Эти демографические конкуренты воспроизводятся только в путь. А того момента когда они столкнутся с теми же проблемами я, к сожалению, не дождусь. Интересно, кто начнёт плодиться и вытеснять их?


                                1. 0xd34df00d
                                  13.07.2016 03:33

                                  Бизнес лоббирует налоги, что ли? Это уже как-то ну очень дальновидно что со стороны бизнеса, что со стороны государства.

                                  Почему же медицина и школы спекулятивнее пенсионной нагрузки?

                                  А чтобы не жить в мусульманском мире, есть куча других способов. Но это уже совсем другая тема.


                      1. mamkaololosha
                        13.07.2016 13:57

                        Беженец тоже хочет кушать. А тут под матрасом 10% прячет белый неженат. Не положено.


      1. MCoder
        12.07.2016 14:41

        То есть, чистыми 2,5 штуки евро в месяц?


        1. n43jl
          12.07.2016 16:06

          Судя по калькулятору: 60к годовых ~2.6k€ чистыми 13 месяцев


          1. MCoder
            12.07.2016 16:22

            А вообще реально прожить там на такие деньги и иметь перспективу покупки жилья?


            1. lingvo
              12.07.2016 16:33

              Да более, чем реально. Ипотека на 20 лет — проценты одни из самых низких — 1-2%. Кредит на шею и вперед.


            1. n43jl
              12.07.2016 16:34

              Т.к. Берлин не дорогой, кто-то пишет, что там можно комфортно жить и на 20к грязными в год.
              Вообще посмотрите это, это и это. Я там не жил и не работал, но у меня сложилось впечатление, что на 60к там можно хорошо жить, но если с семьей, то придется выбирать или машину или копить деньги. А вообще цены на жилье по новому курсу там дороже, чем в Москве я думаю. Мне кажется в России накопить деньги на квартиру проще.


        1. bfcmyxa
          13.07.2016 16:52

          Живу в одном маленьком немецком городе на границе со Швейцарией. С такой зарплатой взять жилье в кредит проблематично. Думаю со временем перебираться или в более прибыльный город (Цюрих, например) или в более дешевый — Берлин, Краков, Таллин.
          Сейчас конкретно в моем городе цены на жилье выросли до примерно 6к за кв/м. То есть квартира в 50кв/м будет стоить в районе 300к евро. На первый взнос надо накопить хотя бы 10%. Можно, конечно, упарываться — ездить на велосипеде, экономить на всем, в отпуск ездить на диван. А можно просто снимать жилье и жить нормально.


          1. lingvo
            13.07.2016 17:03

            Извиняюсь, но с зарплатой в 60к€ в Германии, какая проблема взять в ипотеку 300к€?


            1. saboteur_kiev
              13.07.2016 17:40

              Но это же будет ипотека лет на 10-20, если не больше


              1. lingvo
                13.07.2016 18:05

                А в чем проблема ипотеки на 20 лет?


                1. mamkaololosha
                  13.07.2016 18:19

                  Синдром кочевника. За эти 20 лет можно дорасти до delivery manager/director. И то уже на полпути к этому у тебя будет денег чтобы обойтись без ипотеки.


                  1. webkumo
                    13.07.2016 19:52

                    Что в этой ситуации помешает:
                    — продать жильё и погасить ипотеку,
                    — если денег будет достаточно — почему не погасить ипотеку?


                    1. saboteur_kiev
                      14.07.2016 03:49

                      Сам процесс взятия ипотеки на такой срок — не все банки дадут сумму.

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

                      Совершенно неизвестно, что будет с тобой через 2-3 года. И уж тем более через 10-20 лет. Покупать то, на что ты не можешь заработать за 3-4 года — не лучший вариант.


                      1. Oxoron
                        14.07.2016 08:31

                        Сам процесс взятия ипотеки на такой срок — не все банки дадут сумму.

                        Те банки, которые дадут — укажут условие, что погасить раньше можно только со штрафом, то есть как бы быстро ты не хотел вернуть сумму — проценты прийдется уплатить, как за 10-20 лет.

                        Не уверен, что в Германии есть такая проблема. В России и Литве можно отыскать вменяемый банк.


                      1. lingvo
                        14.07.2016 11:26

                        Если посчитать сегодня по кредитному калькулятору 300тыщ кредита без своих денег, то выходит 1,89% годовых. Это примерно 1350€ на 22 года. При этом общая сумма процентов за 22 года — аж 54k€ или 18%. Копейки — недвижимость вырастет в цене на гораздо большую сумму. При зарплате в 60k, тянуть 1350€ можно легко, так что любой банк будет рад видеть вас своим клиентом.

                        Далее не забываем, что Германия — страна победившего социализма. Тут есть закон, что через десять лет вы имеете право расторгнуть кредитный договор со своей стороны в одностороннем порядке без каких либо условий, кроме выплаты остатка по кредиту. Другими словами рефинансировать долг или продать эту квартиру нафиг Также вы имеет право досрочно разорвать договор, если по каким-то причинам решите продать квартиру. При этом — спасибо законодателям, опять же, банк может требовать от вас штраф только в размере утраченной выгоды — своих процентов. Но согласно первому закону, он может требовать неустойку только за 10 лет, максимум, а не весь срок кредита (вы ж тогда потенциально можете продать квартиру вообще без штрафных санкций)
                        Не забываем, что вначале срока вы гасите в основном проценты, а не тело кредита. Например при условиях выше за первые 10 лет вы выплатите 45k€ из общей суммы процентов в 54k. Также за первые пять лет кредита вы выплатите почти половину всех процентов — 26тыс. То есть если вы решите продавать через 5 лет, требовать от вас банк будет не так уж много.

                        Ну и в конце, не забываем, что проценты по кредиту следует сравнивать с арендной платой — это тоже деньги, кторые вы отдаете чужому дяде. И за 5 лет набегает вполне существенная сумма.


                        1. saboteur_kiev
                          14.07.2016 13:37

                          У вас есть реальные примеры, когда уехавшие в германию успешно взяли ипотеку на 20 лет и все закончилось хорошо?

                          Даже в очень стабильных странах, меня пугают такие прогнозы и планы на 20 лет вперед.


                          1. lingvo
                            14.07.2016 13:58

                            Я их не спрашивал, но живут же. Да и 20 лет назад проценты по ипотеке были другие.
                            Лично на мне сейчас две ипотеки висит. Одной уже 4-е года.
                            Еще раз — ипотека сегодня в развитых странах не такая требовательная к прогнозам. Не понравилось место — уехал, а квартиру сдал в аренду, даже не надо продавать. Сдача покроет 60-80% кредитного платежа, а в лучшем случае вообще все 100%. Некоторые немцы, кстати так зарабатывают даже.
                            То есть считайте это вложением денег в вашу будушую пенсию, не зависящую от государства.


                          1. mtlroom
                            19.07.2016 00:30

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


                        1. youlose
                          14.07.2016 15:00

                          60k это в год и до выплаты налогов как я понимаю, то есть вы предлагаете за ипотеку платить больше половины оклада и непонятно ещё какие остальные расходы.


                          1. lingvo
                            14.07.2016 15:17

                            60к в год в Германии, это 2800-3200 чистыми в месяц, в зависимости от класса. Т.е. после квартиры остается 1400-1800€. Это, скажем так, более чем достаточно, даже для небольшой семьи. Для банков — более чем достаточно.


                        1. bfcmyxa
                          14.07.2016 15:54

                          То есть вы считаете нормально отдавать 22 года по 1350 евро за 50кв.м.? 60к — это, повторюсь, около 2.7-3к нетто. Я вот считаю не нормальным тратить на жилье 50% дохода. А ведь еще помимо выплаты кредита надо платить коммунальные, страховки, возможно автомобиль и отпуска. А еще ребенок может родиться, которого содержать надо будет.


  1. Mugik
    11.07.2016 01:34
    +1

    Хммм… интересно. Если конечно вы ничего не утаили, то достаточно простое интервью для супер корпорации лидера в разработке облаков да ещё и в зарубежный офис на зарплату, уверен более чем достойную в евро.

    Я почему-то всегда жду в таких компаниях, что меня будут пытать нереальными задачами по математике и попросят показать профиль на topcoder или codeforces, а также попросят показать оценки в дипломе.

    И будут серьёзно требовать отличного владения плюсами и супер умений в части администрирования.


    1. ankh1989
      11.07.2016 11:30
      +1

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


    1. mamkaololosha
      11.07.2016 12:03

      > отличного владения плюсами и супер умений в части администрирования
      Тек меняется очень быстро. Они просто проверяют как варит мозг. На листке бумаги, без подсветки синтаксиса, маркером, после 10 часов разговоров.


    1. Rasifiel
      11.07.2016 16:44

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


    1. Nepherhotep
      13.07.2016 23:36

      В реальности, вопросы являются скорее проверкой на адекватность, чем какая-то сложная теория (особенно это касается предварительного интервью).
      Я проходил собеседование в Дублиновский офис, дали задачу на сутки, которая решалась за 15 минут. После этого мне сразу же дали еще аналогичную, которая также была на сутки, но и она была не сложнее первой. И дело не в том, что я такой гений, а задачи реально очень простые — что-то типа реализовать linked list на питоне.


    1. mtlroom
      19.07.2016 00:44

      Я бы не сказал что интервью простое. Это так кажется, но его не так легко его пройти. В Гугле что-то подобное тоже, но там проходят 0.2% кажется. В амазоне кодят в основном на javа, и даже если интервью кажется легким и вопросы попадутся легкие не значит что будет предложение о работе даже если все ответить правильно на интервью. Они обычно судят об успехах кандидата по отношению к другим кандидатам которые получали подобный вопрос. Часто очень сильные програмисты проваливают интервью и даже если за спиной 10+ лет опыта без предварительной подготовки шансов пройти почти нет, даже просто попасть на интервью не легко. Гораздо больше шансов скажем у студента только что закончившего станфорд с хорошими оценками. Это стандартная общеизвестная практика, на сколько я понимаю, в силиконовой долине.


  1. yngui
    11.07.2016 04:30
    +1

    Могу порекомендовать книжку для подготовки к behavioral interview — Behavioral Interview Questions and Answers: Q&A Framework for Successful Job Interviews. Нет гарантии, что на собеседовании попадутся вопросы из книги, но по крайней мере она поможет понять общую идею и подготовиться морально.


  1. winduzoid
    11.07.2016 08:48
    +4

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


    1. LekaOleg
      11.07.2016 10:54

      Мне бы было тоже интересно! Спасибо!


    1. XaLBa
      11.07.2016 11:11
      +1

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

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


    1. Sobit
      11.07.2016 15:38
      +2

      Если что-то непонятно, можно просто:


      • "(Sorry,) What does [WORD] mean?"
      • "[WORD]? (What's that?)", сопровождая озадаченной мимикой

      При первой запинке можно также добавить: "Sorry, my English is not as good as I would like it to be". На что они (если, конечно, английский не совсем плох) обычно с улыбкой отвечают: "Don't worry, your English is perfect!"


      А при разговоре:


      • "Not sure how to say it in English" и начать объяснять словами из лексикона, что хочется сказать
      • "Hm, what was that word..." если нужна пауза, чтобы вспомнить слово

      В идеале, конечно, читать литературу по профессии на английском было бы очень полезным.


  1. VasiliyF
    11.07.2016 10:55

    Прогресс семимильными шагает, не поспоришь. Вроде бы ещё вчера переоборудовали кладовку в серверную самопальными стойками, и казалось, что большего счастья, чем буржуйский шкаф gyders и быть не может. Потом уже узнали про все навороты с нормальной вентиляцией и шумкой. Хотя мне кажется, что процентов 80 так и используют не до конца пригодные для своих целей вещи


    1. mamkaololosha
      11.07.2016 11:00
      +2

      Молодой человек, что вы пишите? Я же вам в скайп сказала «reverse single linked list recursive»? Ало-о?


  1. eugene2008
    11.07.2016 10:55
    -1

    Я тоже проходил в Вашингтоне по похожему сценарию. На последнем этапе, первый интервьюер, азиатка, на ломаном английском попросила обойти дерево обходом в ширину и вывести последний элемент в уровне. Потом еще спросила какой-то элементарный алгоритм по проходу числового ряда. Затем пришел довольно уставший индус и попросил написать алгоритм поиска ячейки на шахматной доске (минут 5 рассказывал типа историю-сказку как Безос — основатель Амазона скачет по доске за киндлом). Доска меня нехило напугала и минут 40 он мне помогал вывести довольно простой кусок кода. Третим пришел татуированый манагер, белый американец. Он задавал общие вопросы. Стало понятно по вопросам что ищут они рабов чтобы вкалывать день и ночь. Да и зарплата в 150к для Сиэтла это копейки. Плюс переезд через всю страну. Вообщем предложение не сделали, да я бы его не принял. Облажался тока по факту на индусе с его шахматами.


    1. ankh1989
      11.07.2016 11:34

      Ээ… про 150к это $ в год? Это нормальный такой сеньор левел для Сиэттла. На нормальный дом не хватит, но на всё остальное можно даже не считать.


      1. mamkaololosha
        11.07.2016 12:24

        Старт обычно с 80к. Тоесть вам дают SDE 1 и всё. Хоть вы были тут лидом или CTO. Что-то больше нужно уже выжимать на месте.


        1. eugene2008
          11.07.2016 15:02
          +1

          С рекрутером шел вопрос об 150к. Вы пишите странные вещи. Получается, что если человек зарабатывал например 110-120к то в Амазон его только на 80к возьмут? Зачем меня вообще тогда таскали, тратили время, зная что у меня уже зарплата на 50%-60% больше их минимума… 80к дают студентам после колледжа. У меня много знакомых работает в Амазон и я выяснял этот вопрос до начала самого процесса собеседований.


      1. eugene2008
        11.07.2016 14:36

        Для меня семья и дом на первом месте. Поэтому все западное побережье по зарплате не конкурентно. И да, это было на синьера.


    1. eugene2008
      11.07.2016 14:51

      Еще забыл добавить что мэнеджер попросил спроектировать и написать на доске код XML парсера для огромного (несколько терабайт) файла. Я ему общий SAX подобный код на плюсах накидал, но он возможно что-то более крутое ожидал.


    1. mtlroom
      19.07.2016 00:57

      150К для Сиэтла — очень даже не плохо! Там же нет подоходного налога в штате, плюс бонус и акции. 150 в Сиэтле это как 200 в Сан Франциско. Только жильё в разы еще дешевле в Сиэтле кажется. У меня тоже кстати был вопрос про дерево и вывод элементов «в ширину» (BFS). Только вывод элементов начиная с последнего уровня и до первого. Для таких вопросов конечно просто «набрасать» код нельзя. Надо не только успеть обсудить решение но и еще идельно без ошибок его на доске написать. Я его написал, предложил еще алтернативное решение, и потом так как было еще достаточно времени интервьювер решил задать другой вопрос, который я точно так же отлично решил с ожидаемыми параметрами по run-time и памяти.


  1. mrigi
    11.07.2016 10:56
    +2

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


    1. Sobit
      11.07.2016 15:43
      +1

      Деньги и/или эмиграцию предлагают не только крупные компании.


      1. Siper
        11.07.2016 17:15
        +1

        С крупными обычно бОльшая уверенность, что не случится внезапный чемодан-вокзал.


        1. fetis26
          11.07.2016 17:25
          +1

          Я бы так не сказал. Крупные тоже могут набрать людей, потом решить, что много и уволить половину.


        1. lingvo
          12.07.2016 10:29

          Внезапный чемодан/вокзал ИМХО больше зависит не от размера фирмы, а от трудового законодательства самой страны. В США с этим все плохо — никакой защиты от сокращений, сроков. Можешь прийти утром на работу и узнать, что уволен, и должен сегодня забрать вещички.


    1. Rasifiel
      11.07.2016 16:47
      +1

      Нет. В маленьких компаниях часто маленькие задачи и это скучно. Вот например поиском заниматься вне компании с поисковым движком как-то не интересно. А таких мало.


      1. mrigi
        11.07.2016 17:03
        +2

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


        1. Rasifiel
          11.07.2016 17:55

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


          1. mrigi
            11.07.2016 18:12

            Почему сразу каторгой? Зачем из крайности в крайность? Это просто работа по специальности и если специальность не напрягает, то работается тоже абсолютно нормально. Без каких-то излишне позитивных или негативных эмоций просто делаешь привычную работу. Или скорее так — меняешь часть своего времени на деньги. И чем выгоднее, тем лучше. Вот и всё. Естественно если каторга, то что-то пошло не так. Но я не про это.


            1. Rasifiel
              11.07.2016 18:21

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


        1. 0xd34df00d
          13.07.2016 01:12

          Да нормально, если увлечение — писать код, это вполне можно монетизировать.


  1. lingvo
    11.07.2016 12:14

    Спасибо, очень познавательная статья.

    Просто интересно, насколько трансформировались требования к профессии программиста. Видать рынок действительно насыщен. Если всего десяток лет назад достаточно было сказать — знаю C++ и HTML — и тебя забирали с руками и ногами, то теперь надо решить десять задач, пройти три собеседования и пройти подготовительные курсы. А хеад-хантер, похоже, разбирается в программировании не хуже самого соискателя.
    Блин, собеседование напоминает набор водителей автобуса, или крановщиков, а не программистов. Где творчество? Или программистов стоит называть уже кодировщиками?


    1. ToSHiC
      11.07.2016 12:59
      +1

      Да ладно вам, обычно задают довольно простые задачки, которые способен решить любой человек, который умеет нормально программировать. Просто всё больше и больше людей идут работать после 3-месячных курсов по программированию, ведь у них же сертификат программиста теперь есть, и нужно этот огромный поток кандидатов как-то просеять, желательно с минимизацией усилий со стороны уже работающих разработчиков/тимлидов. Отсюда все эти скрининги, скайпы и т.д.

      А вот с творчеством всё сложно, сильно зависит от компании и подразделения в ней, в котором придётся работать.


  1. avost
    11.07.2016 14:01

    -del (промахнулся)


  1. fetis26
    11.07.2016 15:57
    +2

    В тот же день я получил ссылку на техническое задание на Hackerrank.

    Любопытно, проходил собеседование 2 недели назад и платформа была https://codility.com/
    Какой бал набрали, если не секрет?


    А так, добро пожаловать в Берлин! Вливайтесь в русский чатик и Слак.


    1. Sobit
      11.07.2016 16:12

      Наслышан, что Amazon любит экспериментировать с процессом найма. Hackerrank мне баллы не показывал. У них есть набор тест-кейсов, они либо проходят, либо нет.


      В Берлине уже почти 3 года, но спасибо!


      1. fetis26
        11.07.2016 16:19

        Я чего-то решил, что вы из РФ собеседовались.


        На codility так же набор тестов. За каждую задачу тебе дают баллы за правильность решение и за перфоманс и потом суммарный бал. Т.е. раскладку по задачам можно видеть, но почему ты завалил перфоманс уже не поймешь.


      1. JuniorIL
        11.07.2016 17:18

        А почему собеседование тогда на английском?


        1. fetis26
          11.07.2016 17:22

          Потому что в международных компаниях язык обычно английский


        1. Sobit
          11.07.2016 17:23

          В Германии даже с английским языком дефицит на ИТ сферу.


          1. radistao
            12.07.2016 12:24

            как я вас понимаю… (из Мюнхен-сити)


    1. djagya
      11.07.2016 17:21

      О, а как слак найти? В Берлине, конечно, всего лишь как CS студент, но фрилансю, так что к профессии принадлежу)


      1. fetis26
        11.07.2016 17:24

        Написал в личку


  1. ghost404
    11.07.2016 21:07

    Маленький офтоп.
    Правильно ли я понимаю что автор уже живет в Германии? Какая там сейчас ситуация с мигрантами, да и вообще в стране?


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


    1. Sobit
      12.07.2016 00:25
      +1

      Все нормально. Мигрантов интегрируют, люди и государство поддерживают. Да, это удар по социальной системе, да, вандализма немного добавилось. Но в целом все не так плохо, как показыают в СМИ.


  1. oledje
    11.07.2016 22:14

    Терпеть не могу Amazon с их отношением к пользвателям, постоянными проблемами в работе сервисов и отвратным GUI. Сегодня дважды получил невероятно информативные сообщения об ощибках:

    Скрин 1


    1. Sobit
      11.07.2016 23:16

      Должность — Software Development Engineer. Про круг задач и на чем пишу пока говорить не могу.


  1. ZhukV
    12.07.2016 10:15
    +1

    Относительно собеседований, еще заметил одну не мало важную вещь: если у Вас нормальное положение в OpenSource, а также не мало нормально написаных библиотек/пакетов, то после предоставлении ссылки на них, часть технических вопросов практически исчезает, что очень приятно радует, как одну сторону, так как другую.

    После передачи ссылки на GitHub Последние собеседования в OroCRM и Tonic-Health проходили с вопросами уже более общего характера — какая технология?, зачем?, плюсы/минусы?, какие грабли?


  1. radistao
    12.07.2016 12:37

    Если не секрет, могли бы ответить (намекнуть) на такие вопросы (я в Мюнхене живу, сейчас пытаюсь проходить на Амазон в Канаду):

    • какая ваша основная специальность (аля язык программирования, опыт фреймворков). Go? Java до этого был business опыт? Были ли какие-то специфические вопросы по технологиям (типа конктретно по Java, C#, Go; фреймворки)?
    • сколько лет в Германии и в какой компании в Германии работали до Амазона?
    • на сколько процентов (ну или хотя бы так: существенно ли) получилось поднять нетто зп (по сравнению с последней в Германии) с переходом в Амазон?
    • сколько времени переходили после принятия оффера? 3 месяца или больше? Они (Амазон) вообще спешат? Можно пытаться растягивать? (для меня это важно, если получится пройти и будет оффер, то быстро я переехать не смогу)

    На основании этих ответов я буду пытаться корректировать свое поведение на интервью (если будут дальше).
    Спасибо.


    1. Sobit
      12.07.2016 12:56

      1. По опыту — бэкенд (Java, Go), веб (PHP, NodeJS), девопс (Go). Задавали много вопросов по PHP на первом онсайт интервью: мой взгляд на язык, его развитие, позиционирование на сегодняшний день по сравнению с другими языками, и т.д.
      2. В Германии работал в одном из венчуров Rocket Internet, и в GetYourGuide на данный момент. В общем почти 3 года.
      3. Изменения по компенсации существенные, но не за счет нетто ЗП.
      4. В Германии в основном нотис период составляет 3 + до конца календарного месяца, т.е. 3-4 месяца. Я сумел договориться со своей компанией на 2.5. Компании вправе пойти навстречу, если есть четкий план хэндовера. Амазон не спешил, в контракте была дата начала, которую они могли менять как вперед, так и назад. Я не уверен, будет ли это также в Канаде.

      Я думаю, вам стоит изначально изложить Amazon вашу ситуацию, чтобы они знали, на что рассчитывать. Возможно, 3 месяца, которые вы будете ждать после объявления об увольнении, будет достаточно, чтобы отдать квартиру, закрыть все действующие контракты, сделать визу и подготовиться к переезду.


      Личный вопрос: резонно ли менять Германию на Канаду?


      1. radistao
        12.07.2016 13:55

        Для меня — однозначно ДА. Как у вас желание работать в Амазоне что-то личное, так и у меня желание сменить Германию на Канаду. Я так и не смог адаптироваться здесь, и не вижу легких путей к этому (кому-то покажется это смешным, но это так). При этом у меня нет желания ехать в США. Я рассматриваю Канаду как компромисс между жизнью в Германии, возвращением назад и переездом в США, такая себе золотая середина.


        1. fetis26
          18.07.2016 16:57

          так может сменить Мюнхен на Берлин


          1. radistao
            18.07.2016 17:55

            А разве разница сильно большая? Что то Германия, что то. Не, я, конечно, понимаю, что Бавария как-то «германее», но не думаю, что на столько, чтобы я заметил разницу.


            1. fetis26
              18.07.2016 18:52

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


              1. webkumo
                18.07.2016 22:45

                Да ну?.. Мне казалось наоборот, русская тусовка в Мюнхене больше… по крайней мере если мерить компаниями с русскими корнями…


        1. mtlroom
          19.07.2016 01:07

          Я думаю что вам надо задуматься еще разок о странном нежелани ехать в США. Если уж переезжать, я бы посоветовал амазон в Сиэтле. Мне город понравился, там почти нет снега зимой и в то же время для любителей горнолыжного спорта в часе езды уже горы снежные. Я сам с Канады кстати. От чего нежелание переезда в США кстати?


          1. radistao
            19.07.2016 11:16

            У меня их (причин) ровно три:

            • преступность и огромное количество оружия на улицах
            • медицина
            • высшее образование


            1. mtlroom
              19.07.2016 18:30

              в США преступность уж точно не выше чем в России :) и даже по убийствам в разы ниже. Медицина однозначно лучше (вопрос в цене), с высшым образованием та же картина. В нормальных компаниях вроде как проблем с медициной нет — страховки всякие вроде все покрывают. Единственный вопрос мож с ценой на высшее образование?.. так можно легко поехать в другие страны учиться, по обмену и тд если в США дорого.


              1. radistao
                19.07.2016 18:38

                я сравниваю Штаты с Германией и Канадой


  1. Acuna
    12.07.2016 15:49

    Что подразумевалось под поведенческими вопросами? Вас спрашивали как бы Вы повели себя в той или иной ситуации, и Вы вспоминали эти самые «истории», чтобы с их помощью проиллюстрировать эти ситуации?


    1. Sobit
      12.07.2016 17:49

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


      Можно сходу вспоминать и отвечать, но желательно иметь в арсенале подготовленные истории, которые, в идеале, подчеркивают определенные личностные качества.


      1. Acuna
        12.07.2016 19:09

        Хм, спасибо, ясно. А вообще, я конечно не так много читал о собеседованиях в разные компании, честно скажу, в основном сам проходил и рассказывали, однако я впервые вижу, что тут уделяют такое большое внимание интервьеру как человеку и личности, а не просто арифметической машине. Это определенно заслуживает внимания и уважения!


      1. mtlroom
        19.07.2016 01:10

        Я кстати на вопрос о слабостях обычно так задумываюсь и потом говорю что у меня нет слабостей,… и после паузы… может быть только то что я слишком честный :) «I don't think I have any… maybe I'm too honest?.. » :)


        1. Sobit
          19.07.2016 01:32

          Не слишком банально? У каждого человека есть минусы.


          1. Oxoron
            19.07.2016 10:35

            Плюсы обычно не сильно оригинальнее.


          1. mtlroom
            19.07.2016 18:44

            банально? но по-моему очевидно что ответ шуточный, не так ли? После того как интервьювер поулыбается и переспросит еще раз уже можно какой-то простой минус преподнести. Я к примеру не могу (очень)быстро на клавиатуре печатать с 99% точностью, и когда пишешь код отвлечения на мизерные поправки текста снижают продуктивность (начинаешь на всякие мелочи отвлекаться). Почти все на самом деле програмситы имеют эту «проблему», но у меня просто на предыдущем месте работы человек на уровне мирового рекорда печатал (со всякими знаками препинания и тд) и разница очевидная когда видишь это на деле. Я иногда даже специално тринируюсь чтоб повысить точность и скорость (и это не шутка). Таким образом мой минус (который по сути и «реальным» минусом трудно назвать) тут же превращается в небольшой плюс так как я стараюсь это поправить к лучшему.


        1. radistao
          19.07.2016 18:49

          Расценят как попытку увильнуть от ответа — явный минус. Gayle Laakmann McDowell в своей кние «Cracking the Coding Interview» тоже так считает.
          К этому вопросу рекомендуют иметь «домашнюю заготовочку», т.к. нужен какой-то нейтральный недостаток, и такой, чтобы не показалось, что вы пытаетесь выставить недостатком свои «достоинства», например: «я слишком перфекционист», «я слишком увлеченный своими задачами» и т.п.
          Я себе уже составил список из 5 (иногда пополняю, иногда выкидываю слишком явные или похожие на «достоинство», перед интервью повторяю, чтобы 2-3 в нужный момент вспомнить.


          1. mtlroom
            19.07.2016 18:57

            я выше уже ответил. Это же шуточный ответ. Для тех кто в танке: очевидно что у всех есть недостатки, и когда кто-то говорит что недостатков нет, то он очевидно врет. Так вот, я в шутку им говорю что недостатков нет, единственный недостаток в том что я никогда не вру :)


  1. Wsl_F
    13.07.2016 14:19

    Скажите, пожалуйста, а на какую должность / позицию Вы проходили интервью?


    1. Sobit
      13.07.2016 18:27

      Software Engineer.