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

819
Статистика
Статистика
819
  • 500+
    подписчиков
Статистика темы
  • Популярность
    Топ-49
  • Постов
    3,536
  • Просмотров
    1,006,824
  • Подписок
    819
  • Карма автора
    +12,736
1 104 105 106 107 177
  • В ожидании очередного письма от амазона пока развлекаю себя прохождениями интервью. Уже было первое лайв-кодинг интервью с Bolt, которые у нас в СПб представлены электросамокатами, а до этого - такси (которые потом куда-то пропали). Сами они расположены в Таллине, который является интересным вариантом для переезда, пусть и не проходит полностью по моему релокейшн-чеклисту (эстонский язык это минус). Еще одним довольно жирным минусом является джавскрипт, на котором у них все написано (в том числе и бэкенд на Node.js). Впрочем, суммы в оффере на многое помогают закрывать глаза.

    Интервью продлилось 75 минут. Сперва около получаса вопросов (курсивом мои комменты)
    - ваше отношение к код-ревью/тестам - ну, тут я готов часами разговаривать

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

    - в чем смысл MITM (man in the middle) атаки?

     

    Ну и потом перешли к лайв-кодингу.

    Первая задача была довольно простой.

    Дана строка, нужно вернуть true если в ней каждый символ встречается одинаковое количество раз. Например "abc" -> true, "abcc" -> false, "aaabbb" -> true, ну и так далее.

    Оценить сложность О по времени и памяти.

    После этого задание слегка мутировало, став следующим

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

    Например "abc" -> true, "abcc" -> true (можно удалить одну с), "aaabbb" -> true, "aaabbccc" -> false ну и так далее.

    Оценить сложность О по времени и памяти.

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

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

     

    Меньше чем через 3 часа(!) после окончания интервью я получил письмо с приглашением на второй собес. Оперативно, ничего не скажешь. Пока что это рекорд. Посмотрим что будет дальше

    Ответить Цитировать
    767/1176
    + 24
  • strkk @ 10.06.21 

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

    Свой ответ публиковать не хочешь?

    Ответить Цитировать
    14/31
    + 0
  • AfgansTea @ 11.06.21 

    Свой ответ публиковать не хочешь?

    Наверное не стану, если уж буду такой вопрос на собесах задавать. Каждый может сам подумать и решить для себя :)

    Ответить Цитировать
    768/1176
    + 5
  • как именно получил приглашение на интервью?

    Ответить Цитировать
    26/35
    + 0
  • Pivot_Pointer, просто на почту рекрутер написала. Нашла меня в линкедине, вроде как.

     

    Интересно, что вообще нигде не просят CV/резюме, сразу зовут на созвон/собес.

    Ответить Цитировать
    769/1176
    + 4
  • Давненько не писал ничего, поэтому обычный в таких случаях дайджест всякой всячины.

     

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

    Есть массив цен на акции, нужно определить, какой максимальный профит мы можем получить, сделав максимум одну покупку и продажу. Например, для массива цен на акцию [6, 1, 5, 2, 10, 1] максимальный профит будет, если купить на индексе 1 и продать на индексе 5 (10 - 1 = 9). В случае, если подходящих цен нет, то возвращаем 0.

    С ней я справился довольно просто, а вот слегка (или не слегка?) усложненный вариант меня поставил в тупик на собесе

    Есть массив цен на акции как в прошлом примере, нужно определить, какой максимальный профит можно получить, сделав максимум 2 покупки-продажи (может быть 2 сделки, 1 или 0). Покупка обязательно идет после продажи, т.е. нельзя держать на руках сразу 2 акции.

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

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

     

     

    Между тем, ситуацию с набором людей в мою текущую команду с чистой совестью можно назвать плачевной. За 4 месяца удалось набрать -1 человека. Неожиданно на прошлой неделе уволился коллега-разработчик, и теперь команда наша выглядит как я и 2 тестера :) Вообще все это довольно грустно. Я уже сбился со счета, сколько было технических собеседований. Первый собес, по скромным прикидкам, проходит от силы 1 человек из 8-10. Кого-то срезали на втором собесе(менеджерский), а кто-то отказался от оффера или предпочел другой проект.

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

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

     

     

    Давайте лучше о чем-нибудь веселом.

    Не так давно жена подарила мне нового друга. Вот такого.

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

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

    Для любителей ботаники - это росянка.

     

    Такие дела.

    Ответить Цитировать
    770/1176
    + 32
  • Во второй задаче можно пройти в прямом и обратном направлениях, запомнив максимальную прибыль на каждом префиксе и каждом суффиксе. Дальше ищем максимальную сумму.

    Всё за линейное время получается.

    Ответить Цитировать
    31/38
    + 2
  • А что такое менеджерский собес? О чём там говорят?

    Ответить Цитировать
    2/46
    + 0
  • БоевойСлон @ 25.06.21 

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

    Всё за линейное время получается.

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

    Кстати, интересно, как дальше масштабировать решение на 3, 4, N транзакций?

    StratoLifter @ 25.06.21 

    А что такое менеджерский собес? О чём там говорят?

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

     

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

     

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

    Ответить Цитировать
    771/1176
    + 2
  • strkk @ 25.06.21 

    Кстати, интересно, как дальше масштабировать решение на 3, 4, N транзакций?

    Тут идей уже нет :)

    Ответить Цитировать
    32/38
    + 0
  • "Есть массив цен на акции, нужно определить, какой максимальный профит мы можем получить, сделав максимум одну покупку и продажу. Например, для массива цен на акцию [6, 1, 5, 2, 10, 1] максимальный профит будет, если купить на индексе 1 и продать на индексе 5 (10 - 1 = 9). В случае, если подходящих цен нет, то возвращаем 0." ______ "если купить на индексе 1" - О-о-о индексирование от нуля т.е. 6(0),1(1),5(2),2(3),10(4),1(5) "продать на индексе 5 (10 - 1 = 9)." 1(5) - 1(1) = 0 А ну - у них индексы от (1) 6(1),1(2),5(3),2(4),10(5),1(6), 10(5) - 6(1) = 4 _____ "Грубо говоря - сказать не решаюсь, а мягко выражаясь - нет слов..." - Аркадий Исаакович Райкин ____ ____ Возможно им индусы нужны, в смысле не вирусы...
    Ответить Цитировать
    15/20
    + 0
  • Андрей, понимаю твою боль. Я уже более 10 человек отсобесил (2 собес у каждого), но даже после первого собеса, который вроде как фильтрует на общий уровень адекватности ко мне на второй собес приходят мягко говоря не рыба не мясо. А те, которые в итоге проходят его больше 2 дней не задерживаются, потому что оказывается "работать надо". Уже склоняюсь к мысли, что надо бы хантить сразу после вуза, хотя у меня сфера максимально далекая от ИТ, но общая тенденция прослеживается - "на дядю" работать не хочу, я уникальная личность, принимайте меня такой какая есть. А когда дело доходит до реальных задач (совсем обычных по своей сути), то все эти "уникальные" личности уходят в кусты и больше не приходят  

    Ощущение, все поголовно хотят зарабатывать на блогах в тиктоке\инсте и сходу грести миллионы 

    Ответить Цитировать
    14/14
    + 2
  • strkk @ 25.06.21 

    Для любителей ботаники - это росянка

    Вид венерина мухоловка, в частности, похоже )

    Ответить Цитировать
    23/63
    + 0
  • Может, надо просто мозги поменьше выносить на собесах и не отсеивать всех подряд? Глядишь, и найдёте желающих работать.   

    Ответить Цитировать
    3/46
    + 3
  • На мой субъективный взгляд, дело как раз-таки в обратном, а именно работать на дядю в ИТ стало заманчивым в глазах многих. Последние годы стало популярно мнение что в ИТ может каждый, даже не надо техническое образование, соц лифт для всех и прочая чушь. 

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

    Отсюда и поток кандидатов-гумманитариев, нарисовавших резюме (strkk, попробуй задать вопрос Свете как они верифицируют резюме. Ответ прояснит многое.)

     

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

    Ответить Цитировать
    39/112
    + 1
  • VANISH @ 25.06.21 

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

    Да даже по этому форуму это очень заметно.

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

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

     

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

    Ответить Цитировать
    24/63
    + 6
  • Дизель @ 25.06.21 

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

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

    Ответить Цитировать
    40/112
    + 1
  • Дизель @ 25.06.21 

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

    Думаю "стать программистом" вообще усилий много не надо.

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

    Ответить Цитировать
    41/112
    + -1
  • VANISH @ 25.06.21 

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

    Кроме зарплаты )

    Ответить Цитировать
    25/63
    + 4
  • Дизель @ 25.06.21 

    Кроме зарплаты )

    Разбросом в 20-30% пренебрегаем, как несущественно малым)

    Ответить Цитировать
    42/112
    + -1
1 104 105 106 107 177
2 человека читают эту тему (1 пользователь, 1 гость):
Зачем регистрироваться на GipsyTeam?
  • Вы сможете оставлять комментарии, оценивать посты, участвовать в дискуссиях и повышать свой уровень игры.
  • Если вы предпочитаете четырехцветную колоду и хотите отключить анимацию аватаров, эти возможности будут в настройках профиля.
  • Вам станут доступны закладки, бекинг и другие удобные инструменты сайта.
  • На каждой странице будет видно, где появились новые посты и комментарии.
  • Если вы зарегистрированы в покер-румах через GipsyTeam, вы получите статистику рейка, бонусные очки для покупок в магазине, эксклюзивные акции и расширенную поддержку.