Программирование, Путешествия, Покер

Последний пост:17 марта
803
Статистика
Всего постов
3223
839,456 просмотров
Новых постов
+0
1 в день
Лучшие посты автора
27.09.2022 +233
21.12.2019 +196
22.02.2023 +169
04.01.2023 +166
13.07.2019 +154
Лучшие посты читателей
inpace +111
justpus7 +98
vsobakekot +88
Gtrdy +85
s4ekotilla +78
Самые активные читатели
1 73 93 94 95 96 115 162
  • ResidentEve, если кратко ответить, то
    6bcd77d86e_origin.jpg


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

    Ну и да, есть шанс оказаться Валерой в данной ситуации.
    Цитата (ResidentEve @ 16.11.2020)
    на собесе мне говорили о высоких стандартах в их компании

    Разумеется, никто (особенно из менеджеров) не будет тебе говорить что у них там клепают говно, так далеко не уедешь. Такие вещи сразу можно пропускать мимо ушей и узнавать самому, решается это несколькими вопросами будущим коллегам/лиду про ревью, quality gates, деплои и так далее. При четкой, понятной и продуманной структуре ты всегда услышишь внятный и развернутый ответ. В конторах с огромным количеством проектов (типа епама) в разных проектах все по-разному, поэтому в таком случае надо просто принять это как факт.
    701/1047
    Ответить Цитировать
    1
  • Цитата (don_eric @ 16.11.2020)
    а в чем тогда заключаются обязанности "ресурсного менеджера"?


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

    В данном случае я себя чувствовал папой, которому директор сообщила, что его сын в школе с кем-то подрался неделю назад.
    702/1047
    Ответить Цитировать
    0
  • willhunting, да, постоянно возникает что-то, чего ты не знаешь
    16/16
    Ответить Цитировать
    2
  • Благодарю за развернутый ответ. Я вообще стараюсь советоваться с разработчиками других проектов/компаний, сравивать и анализировать что у нас лучше/хуже. Тоже считаю, что подобная инициатива правильная и, если есть предложения, как можно улучшить код, то имеет смысл его озвучивать. Но в целом, если так и дальше будет продолжаться, то скорее всего придется бежать, как ты и сказал)
    6/18
    Ответить Цитировать
    5
  • Фуф, вчера был мой день Х, а именно техническое собеседование в Амазон. Забавно, что вся эта движуха началась в начале сентября. Казалось бы, времени навалом, целых 2 месяца, а потом раз - и вот оно. Кстати, если вы пропустили начало истории, то оно тут.

    В целом, назвать это собеседованием трудно, скорее целый собеседовательский марафон, который продлился без малого 5 часов (4 секции по часу с перерывами в 15 минут), с 19.00 почти до полуночи. Каждая секция была с разным человеком, но содержание было примерно одинаковым - несколько вопросов по лидерским принципам амазона (об этом далее), техническая задача (все задачи внизу поста) и возможность самому задать вопросы. Последняя секция была на дизайн системы, а не решение кодовой задачки.
    Происходило все это в Chime (амазоновский аналог скайпа) с включенной вебкой и на амазоновской платформе для лайв-кодинга.

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

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

    Отдельно стоит упомянуть вопросы про лидерские принципы амазона. Условно говоря, это так называемые кейс-вопросы из серии:
    - Расскажите про ситуацию из вашего опыта, когда ваши стандарты написания кода кто-то оспаривал?
    - Расскажите про ситуацию из вашего опыта, когда коллега говорил, что ваше решение недостаточно хорошо работает?
    - Расскажите про ситуацию из вашего опыта, когда сложное решение удалось заменить простым и элегантным?
    - Расскажите про ситуацию из вашего опыта, когда вам удалось спасти котенка и старушку из горящего дома?
    Ладно, последний вопрос я выдумал. Думаю что общая суть понятна. Подобные вопросы спрашивали на каждой секции, к концу меня уже, признаться, это порядком подзаебало. Иногда приходилось повторяться и, чего уж греха таить, немного приврать в некоторых местах. Тут надо было рассказать о том, что ты заботишься о пользователях, умеешь вести себя в конфликтах и так далее. В общем, ты за все хорошее и против всего плохого. Не знаю зачем им задавать прям настолько много вопросов на эту тематику, думаю что им виднее.

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

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

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

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

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


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

    1. Написать интерфейс для пакета (package), который можно установить. Пакет, в свою очередь, может зависеть от других пакетов. Данный интерфейс будет использоваться другими командами. Пример
    А зависит от B
    B зависит от С, D и F
    С зависит от F
    F зависит от G

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


    2. Есть набор платформ с координатами (х,y). Некоторые соединены лестницами. На одной из платформ со стартовым индексом N (имеется в виду индекс в общем списке всех платформ) стоит игрок. На какой-то другой платформе с индексом M находится изумруд. Игрок может передвигаться по лестницам или прыгать с платформы на платформу, максимальное расстояние прыжка - D. Нужно определить - можно ли игроку достичь платформы с изумрудом и какое минимальное время для этого потребуется (любое перемещение между платформами занимает одну единицу времени)

    Можно заметить, что “прыжок” с какой-то платформы в данном случае это те же самые лестницы, которые соединяют текущую платформу со всеми другими в радиусе прыжка. Соответственно, задача сводится к поиску кратчайшего пути в невзвешенном ненаправленном графе, решается обычным BFS.


    3. Дан массив из слов, в нем необходимо найти все фразы (стоящие рядом слова) длиной ровно N слов, которые встречаются не менее M раз. К примеру, для фраз длиной 2 слова и вхождением не менее 2 раз при списке
    [туз, туз, два, на, флопе, туз, туз, в руке, на, флопе, все, хорошо, на, терне, все, хорошо, ривером, переехали] искомыми фразами будут [“туз туз”, “на флопе”, “все хорошо”]
    Дополнительный вопрос - сделать это для всех фраз, длина котоых не менее N слов.

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


    4. Нарисовать дизайн бэкенда системы, которая занимается обработкой запросов с мобильных приложений для вызова экстренных служб. Система должна быть highly available, scalable. Юзеров миллионы.

    Тут правильный ответ у каждого свой.
    703/1047
    Ответить Цитировать
    78
  • Цитата (strkk @ 19.11.2020)
    Дополнительный вопрос - сделать это для всех фраз, длина котоых не менее N слов.

    Какое тут решение, можно ли сделать быстрее, чем за O(N*T), где T - длина текста?
    28/38
    Ответить Цитировать
    0
  • Цитата (БоевойСлон @ 19.11.2020)
    Какое тут решение, можно ли сделать быстрее, чем за O(N*T), где T - длина текста?


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

    Но может быть это не так и можно придумать какой-то хитрый способ.
    704/1047
    Ответить Цитировать
    0
  • Цитата (strkk @ 19.11.2020)
    Есть определенный разрыв шаблона - условные люди из фаангов мне иногда казались какими-то небожителями, которые смогли пройти серьезный отбор и делают какие-то мегасложные штуки, недоступные для ума простых смертных. А тут перед тобой сидят такие же разработчики, которые точно также пилят код. Такие же люди, как и ты.


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

    Хоть и не было такого шаблона на уровне компаний, т.к. давно друзья в том же гугле работают и я знаю их уровень. Но был шаблон на уровне менеджерской вертикали крупных компаний. Мол на уровне c-level все такие крутые и умные. Оказалось все так же лажают и так же не уверены куда плывут как и я.

    И я решил, так почему бы тогда и мне не порулить этой лодкой?
    14/111
    Ответить Цитировать
    17
  • Открыл только что почту, а там новое письмо от рекрутерши амазоновской.
    Дрожащими руками кликаю на него, а там
    Цитата
    Hi Andrei,

    I hope you are doing well. I was wondering if you had time to talk tomorrow?

    Для тех, кто не владеет инглишем, перевод - Привет, Андрей. Надеюсь у тебя все хорошо. У тебя будет завтра время поговорить?

    Блех, похоже вторую ночь не усну теперь, заинтриговала ведь, чертовка.
    705/1047
    Ответить Цитировать
    41
  • strkk, сразу вспомнился Блэйд Раннер 2049

    1/1
    Ответить Цитировать
    10
  • Нифига у тебя сериал закрутился, Андрюх!
    С нетерпением жду новую порцию про Амазон.
    Удачи тебе
    11/14
    Ответить Цитировать
    2
  • strkk, фраза которую мне сказала одна девочка попавшая туда , эту фразу ей сказал долее опытный её коллега, когда ты всему научишься и все поймешь тебе перестанет кто-то быть нужен. Хз как это понять , я там небыл.
    1/1
    Ответить Цитировать
    2
  • Обычно это хороший знак, если хотят ещё поговорить. Чем чаще и больше хотят говорить, тем ближе ты к джобоферу.
    Сам проходил в крупные международные и российские конторы, где бывало по 8-10 этапов интервью. И да, это обычно растягивается на 2-4 мес.

    Удачи! Болею за тебя
    1/1
    Ответить Цитировать
    7
  • Цитата (strkk @ 19.11.2020)
    Не знаю, ничего в голову не пришло. Насколько я понял интервьюера, хорошего способа нет, разве что есть пара вещей, которые могут помочь уменьшить перебор, например проверять окна до тех пор, пока для какого-нибудь не будет 0 таких фраз, в таком случае продолжение перебора для больших длин будет бесполезным.

    Но может быть это не так и можно придумать какой-то хитрый способ.

    В общем я немного заморочился, и думаю что задача решается за линейное время как с помощью суффиксного дерева, так и с помощью LCP array. Ни то, ни другое нереально написать за время собеседования, но упомянуть может полезно(?). В любом случае, желаю тебе получить оффер, и тогда тебе эти знания никогда в жизни не понадобятся :)
    29/38
    Ответить Цитировать
    8
  • Geras, признаться, я сперва не понял к чему видос, потом понял и поржал. Надо еще переозвучить его, чтобы вопросы задавались как в списке, а ответы были типа типа "клиенты, клиенты, клиенты. Качество, качество, качество" и так далее.

    БоевойСлон, ох, мало что понял по ссылкам с первого взгляда, видимо придется чуть позже внимательно изучить. У меня было ощущение что можно сделать быстрее, теперь открыл для себя новые штуки, спасибо.
    706/1047
    Ответить Цитировать
    1
  • strkk, с удовольствием прочитал про твой опыт собеса в Амазон! Круто! Можешь посоветовать сервисы, материалы, где можно прокачаться по подобным задачам? Еще интересно, в случае оффера от Амазон сразу нужно будет готовиться к релокейту или сейчас какое-то время возможна удаленка? Или вы этот момент еще не обсуждали?
    7/18
    Ответить Цитировать
    1
  • ResidentEve, вот тут можно найти примеры задач, историй людей проходивших собесы и много другое. Для практики можно использовать либо этот же сайт, либо leetcode (говорят что там задачи бывают 1 в 1 как на собесах, но не ручаюсь) или hackerrank (я там решаю задачи).
    По архитектурной секции была полезна эта статья на хабре и ссылки которые в ней есть. Правда, на собесе при ответе на вопрос я не особо следовал изложенному там плану, но это уже мои проблемы :)
    Да и в принципе по запросу в гугле "amazon coding interview questions" можно найти очень много всего.

    Ну и глянуть мельком список "лидерских принципов" амазона, для прохождения теста на репликанта того чтобы было проще понимать, на чем делать фокус в ответах не на кодинг вопросы.
    707/1047
    Ответить Цитировать
    8
  • VANISH,
    А вот у меня работает пара таких "Валер" с трудностями в общении. И я только рад что они у меня есть. Проблему решал личными беседами. Объяснял каждому что все люди разные, и помимо недостатков у каждого есть куча достоинств. А люди без недостатков зарабатывают x5 от наших рейтов. Разговаривать конечно приходится до сих пор, но не очень часто и атмосфера в коллективе дружная. Взаимоподдержка на месте. Но я тим-лид, я изначально с ними на близком контакте.
    Сообщение отредактировал Bagaiev - 20.11.2020, 13:27
    6/39
    Ответить Цитировать
    3
  • Цитата (strkk @ 20.11.2020)
    БоевойСлон, ох, мало что понял по ссылкам с первого взгляда, видимо придется чуть позже внимательно изучить. У меня было ощущение что можно сделать быстрее, теперь открыл для себя новые штуки, спасибо.

    Википедия - не лучший обучающий материал, это точно :). Но в целом это очень мощные методы для всяких строковых задач, так что если будет время и интерес, может на том же Хабре найдётся что-то более reader-friendly.
    30/38
    Ответить Цитировать
    0
  • ну что там? когда с Амазоншей разговаривать-то будешь?
    2/15
    Ответить Цитировать
    1
1 73 93 94 95 96 115 162
2 человека читают эту тему (2 гостя):
Зачем регистрироваться на GipsyTeam?
  • Вы сможете оставлять комментарии, оценивать посты, участвовать в дискуссиях и повышать свой уровень игры.
  • Если вы предпочитаете четырехцветную колоду и хотите отключить анимацию аватаров, эти возможности будут в настройках профиля.
  • Вам станут доступны закладки, бекинг и другие удобные инструменты сайта.
  • На каждой странице будет видно, где появились новые посты и комментарии.
  • Если вы зарегистрированы в покер-румах через GipsyTeam, вы получите статистику рейка, бонусные очки для покупок в магазине, эксклюзивные акции и расширенную поддержку.s