Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

Autumn

[Работа и образование] т. 2. Перекатываемся в IT.

В связи с карантином в разных странах. Многие перешли на удаленку.  

317 пользователей проголосовало

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

Рекомендованные сообщения

  Показать содержимое

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:    всё что пишу -- шизофренический бред     :zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

:zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu::zatrolka_tupostu:

Поделиться сообщением


Ссылка на сообщение

О собеседованиях на 700к/месяц⁠⁠

Скрытый текст

О собеседованиях на 700к/месяц⁠⁠

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

Немного о себе: занимаюсь коммерческим программированием 13 лет, ещё несколько лет работал в других сферах. Основной язык С++, достаточно хорошо знаю Python и ML. Есть опыт работы как в мелких фирмах на 5 человек, так и в ИТ-гигантах.

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

Первым делом, когда я решил менять работу - я обновил профиль в linkedIn и на hh.ru, уже на следующий день мне начали писать рекрутеры. Меня стали звать на разные секции - как технические, так и "пообщаться". Про свои ответы либо не буду писать, либо очень коротко, т.к. ответы можно легко найти гуглением (а там, где не получится - спрашивайте в комментах), иначе пост совсем разрастётся.

Huawei

Одна интересная секция была на собесе в Хуавей. Я там шёл на должность ML-разработчика, который будет не модельки обучать, а писать сами библиотеки для обучения моделей. На собесе было человек 5 и они по очереди спрашивали меня каждый по своей теме (всё это длилось в сумме часа два):

- Сначала знание С++. Зачем нужны умные указатели, зачем нужен виртуальный деструктор, как устроен vtable, ещё какая-то муть. Я отвечал на всё легко и уверенно, интервьюер быстро "кивнул" и мы перешли к следующему.

- Аппаратура и программирование на С. Какие есть архитектуры помимо x86? Рассказал про ARM. Дальше спрашивали про вычисления на GPU - рассказал про примерную архитектуру и принципиальные отличия от CPU. "Что ещё можно использовать для вычислений?" Назвал FPGA, немного рассказал про особенности. Дальше этот же чел расспрашивал про особенности С. Разные вопросы про отличие между int *a =malloc(20); и int a[5];, про устройство менеджера памяти, про страницы памяти и виртуальную память (почему номера новых страниц всегда больше, чем номера старых? чтобы происходит с номерами удалённых страниц?), про механизм работы extern, union, volatile.

- Дальше были вопросы по математике. Как посчитать синус и косинус без соответствующей функции? Рассказал про ряды Тейлора. Что-то спросили про градиенты, попросили посчитать производную для |x| (модуль икса), а потом вторую производную. Дальше какие-то вопросы про градиенты. Перешли к аффинным преобразованиям и способам их описания. Рассказал про кольцо матриц, собственные вектора и их связь с геометрическим смыслом преобразования. Дальше спросили про Якобианы и Гессианы. Меня этот вопрос позабавил, но я рассказал и заодно упомянул, что эти штуки полезны для определения сходимости некоторых численных методов.

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

- Собственно, ML. Какие бывают слои у сеток, какие сейчас есть популярные архитектруры, почему 20 лет назад это не взлетало, хотя многие знания уже тогда были. Как инференсится дропаут, зачем нужна батч-нормализация, почему L1-регуляризация позволяет увидеть значимость фичей. Как построить эмбеддинги для слов, почему это вообще работает?

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

В итоге мне предложили оклад 480к (после вычета налогов) и премии, которые зависят от разных факторов (мои показатели, общие финансовые показатели фирмы и т.п.), которые в среднем должны были добить мой доход до 685к/месяц.

Сбер

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

- Чистый С++. Тут была секция на проверку моих знаний по самому языку. Мне показали код, в котором есть несколько классов, где-то виртуальные методы, какой-то класс наследуется от другого, где-то в конструкторах и деструкторах что-то нетривиальное написано. И вопрос был "что выведет программа?" Суть была в том, что там в родителе была функция print (которая что-то базовое пишет) и в наследнике она была переопределена. Небольшой gotсha момент был в том, что функция не была объявлена виртуальной. Дальше там эти принты возникали в конструкторе и десрукторе. В общем и целом - вопрос был о том, что в каком порядке вызывается. Я почти справился, но проглядел один вызов из-за невнимательно. Но это был простой момент (а на сложные я ответил), так что интервьюер кажется поверил, что это просто невнимательность, а не незнание. После этого спросили "а что задумывал автор кода?" и попросили исправить. Такие вопросы будут очень сложны для джунов, потому что "а откуда я знаю чего он хотел?" и относительно легки для опытных разрабов, потому что понимаешь, какие есть расхожие подходы и что "вот так обычно пишут, а вот так - не пишут". В общем, вопрос крутой для определения опытности человека. Потом дали ещё кусок кода с многопоточкой и надо было сказать, есть ли в нём баги. Был потерян lock_guard (типичная ошибка работы с мьютексом), попросили исправить и объяснить, как именно раскручивается стек в многопоточке при обработке исключений.

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

- Алгоритмы. Задачи, которые можно писать на любом языке (но я писал на С++).

Есть датчики. Один датчик сначала выдаёт нули, а потом, с определённого момента, начинает выдавать единицы. Есть синхронные показания N датчиков (в виде набора массивов, каждый содержит M значений). Нужно найти номер датчика, который сработал первым. Сделать надо эффективно, я реализовал за O(N + log(M)).

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

Была ещё какая-то задача, но уже не помню, что-то мелкое и скучное.

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

- Секция про ML. Тут были разные вопросы о том, как подходить к экспериментированию с моделями (зачем нужны отдельно валидационные и отдельно тестовые выборки?), что такое аб-тесты и т.п. Достаточно много вопросов про ранжирующие системы (какие бывают, какие есть особенности) - рассказывал про коллаборативную фильтрацию и эмбеддинги. Много каких-то технических подробностей спрашивали, например, почему разложение матрицы делают через SVD. Но в целом ничего особого. Типичная ML-секция с обязательными вопросами типа "как понять, что модель переобучилась, что делать? Как понять, что данных мало, что делать?"

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

Сбер предложил оклад 455к и премии разные, в сумме выходило 675к в месяц.

Яндекс

Я уже раньше работал в Яндексе и даже успел провести больше сотни собеседований, так что достаточно хорошо понимал, что меня ждёт. А ждали меня несколько секций с написанием кода "в блокноте", т.е. без возможности запуска. И ещё одна секция по ML.

- Алгоритмы.

Удалить нули из массива. Тут всё просто, проверка на совсем новичка.

Написать свою реализацию shared_ptr. Уныло, но хорошо проверяет понимание внутренней структуры языка.

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

Есть названия программ (по сути, просто набор строк), и для каждой есть набор зависимостей (т.е. массив строк на каждую программу). Зависимости только из того же списка, т.е. если у нас есть программы a, b, c, то программа b может зависеть от a, но не может зависеть от f (потому что нет в списке программы f). Надо вывести эти названия программ в "корректном" порядке для установки, т.е. чтобы если пакет шёл в списке - все его зависимости были раньше него в данном списке.

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

- ML. Эту секцию мне не очень хочется подробно описывать, т.к. она была почти "по учебнику". Если есть желание подготовиться - HR присылает ссылку на youtube с видосами от Яндекса. Видосы очень крутые (можно искать по ключевым словам "Лекции по машинному обучению, Воронцов ШАД").

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

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

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

Это тоже не всё, но суть, думаю, ясна.

Яндекс предложил мне оклад 490к и ещё разные премии, в сумме с которыми вышло 720к в месяц.

Другие фирмы

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

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

 

lerochkina, Nemiades, lunaspirt и 5 другим понравилось это

мемолог

 

 

Поделиться сообщением


Ссылка на сообщение
coali написал 8 минут назад:

Рассказал про ряды Тейлора

У меня эта залупа была на третьем курсе, ебал я их в рот конечно, без стипухи из-за матана в некст семестре остался:pepehands:

MacJei понравилось это

AFD написал 5 часов назад:

Говно от тебя это как бальзам на душу, радость ты моя. 

[19:35:37] Dlich: бітріх єто і есть вершіна

[19:37:07] nuclear blast: твой iдол?

[19:39:45] Dlich: мой ідол.

Поделиться сообщением


Ссылка на сообщение

в текущих реалиях для 700 в месяц достаточно просто кинуть резюме в мегафон, если до этого работал у их вендора :popavs:


image.png.dedda6c5d04a07ad35710ee55d78775d.png 

Поделиться сообщением


Ссылка на сообщение
coali said 59 minutes ago:

О собеседованиях на 700к/месяц⁠⁠

  Reveal hidden contents

О собеседованиях на 700к/месяц⁠⁠

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

Немного о себе: занимаюсь коммерческим программированием 13 лет, ещё несколько лет работал в других сферах. Основной язык С++, достаточно хорошо знаю Python и ML. Есть опыт работы как в мелких фирмах на 5 человек, так и в ИТ-гигантах.

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

Первым делом, когда я решил менять работу - я обновил профиль в linkedIn и на hh.ru, уже на следующий день мне начали писать рекрутеры. Меня стали звать на разные секции - как технические, так и "пообщаться". Про свои ответы либо не буду писать, либо очень коротко, т.к. ответы можно легко найти гуглением (а там, где не получится - спрашивайте в комментах), иначе пост совсем разрастётся.

Huawei

Одна интересная секция была на собесе в Хуавей. Я там шёл на должность ML-разработчика, который будет не модельки обучать, а писать сами библиотеки для обучения моделей. На собесе было человек 5 и они по очереди спрашивали меня каждый по своей теме (всё это длилось в сумме часа два):

- Сначала знание С++. Зачем нужны умные указатели, зачем нужен виртуальный деструктор, как устроен vtable, ещё какая-то муть. Я отвечал на всё легко и уверенно, интервьюер быстро "кивнул" и мы перешли к следующему.

- Аппаратура и программирование на С. Какие есть архитектуры помимо x86? Рассказал про ARM. Дальше спрашивали про вычисления на GPU - рассказал про примерную архитектуру и принципиальные отличия от CPU. "Что ещё можно использовать для вычислений?" Назвал FPGA, немного рассказал про особенности. Дальше этот же чел расспрашивал про особенности С. Разные вопросы про отличие между int *a =malloc(20); и int a[5];, про устройство менеджера памяти, про страницы памяти и виртуальную память (почему номера новых страниц всегда больше, чем номера старых? чтобы происходит с номерами удалённых страниц?), про механизм работы extern, union, volatile.

- Дальше были вопросы по математике. Как посчитать синус и косинус без соответствующей функции? Рассказал про ряды Тейлора. Что-то спросили про градиенты, попросили посчитать производную для |x| (модуль икса), а потом вторую производную. Дальше какие-то вопросы про градиенты. Перешли к аффинным преобразованиям и способам их описания. Рассказал про кольцо матриц, собственные вектора и их связь с геометрическим смыслом преобразования. Дальше спросили про Якобианы и Гессианы. Меня этот вопрос позабавил, но я рассказал и заодно упомянул, что эти штуки полезны для определения сходимости некоторых численных методов.

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

- Собственно, ML. Какие бывают слои у сеток, какие сейчас есть популярные архитектруры, почему 20 лет назад это не взлетало, хотя многие знания уже тогда были. Как инференсится дропаут, зачем нужна батч-нормализация, почему L1-регуляризация позволяет увидеть значимость фичей. Как построить эмбеддинги для слов, почему это вообще работает?

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

В итоге мне предложили оклад 480к (после вычета налогов) и премии, которые зависят от разных факторов (мои показатели, общие финансовые показатели фирмы и т.п.), которые в среднем должны были добить мой доход до 685к/месяц.

Сбер

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

- Чистый С++. Тут была секция на проверку моих знаний по самому языку. Мне показали код, в котором есть несколько классов, где-то виртуальные методы, какой-то класс наследуется от другого, где-то в конструкторах и деструкторах что-то нетривиальное написано. И вопрос был "что выведет программа?" Суть была в том, что там в родителе была функция print (которая что-то базовое пишет) и в наследнике она была переопределена. Небольшой gotсha момент был в том, что функция не была объявлена виртуальной. Дальше там эти принты возникали в конструкторе и десрукторе. В общем и целом - вопрос был о том, что в каком порядке вызывается. Я почти справился, но проглядел один вызов из-за невнимательно. Но это был простой момент (а на сложные я ответил), так что интервьюер кажется поверил, что это просто невнимательность, а не незнание. После этого спросили "а что задумывал автор кода?" и попросили исправить. Такие вопросы будут очень сложны для джунов, потому что "а откуда я знаю чего он хотел?" и относительно легки для опытных разрабов, потому что понимаешь, какие есть расхожие подходы и что "вот так обычно пишут, а вот так - не пишут". В общем, вопрос крутой для определения опытности человека. Потом дали ещё кусок кода с многопоточкой и надо было сказать, есть ли в нём баги. Был потерян lock_guard (типичная ошибка работы с мьютексом), попросили исправить и объяснить, как именно раскручивается стек в многопоточке при обработке исключений.

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

- Алгоритмы. Задачи, которые можно писать на любом языке (но я писал на С++).

Есть датчики. Один датчик сначала выдаёт нули, а потом, с определённого момента, начинает выдавать единицы. Есть синхронные показания N датчиков (в виде набора массивов, каждый содержит M значений). Нужно найти номер датчика, который сработал первым. Сделать надо эффективно, я реализовал за O(N + log(M)).

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

Была ещё какая-то задача, но уже не помню, что-то мелкое и скучное.

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

- Секция про ML. Тут были разные вопросы о том, как подходить к экспериментированию с моделями (зачем нужны отдельно валидационные и отдельно тестовые выборки?), что такое аб-тесты и т.п. Достаточно много вопросов про ранжирующие системы (какие бывают, какие есть особенности) - рассказывал про коллаборативную фильтрацию и эмбеддинги. Много каких-то технических подробностей спрашивали, например, почему разложение матрицы делают через SVD. Но в целом ничего особого. Типичная ML-секция с обязательными вопросами типа "как понять, что модель переобучилась, что делать? Как понять, что данных мало, что делать?"

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

Сбер предложил оклад 455к и премии разные, в сумме выходило 675к в месяц.

Яндекс

Я уже раньше работал в Яндексе и даже успел провести больше сотни собеседований, так что достаточно хорошо понимал, что меня ждёт. А ждали меня несколько секций с написанием кода "в блокноте", т.е. без возможности запуска. И ещё одна секция по ML.

- Алгоритмы.

Удалить нули из массива. Тут всё просто, проверка на совсем новичка.

Написать свою реализацию shared_ptr. Уныло, но хорошо проверяет понимание внутренней структуры языка.

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

Есть названия программ (по сути, просто набор строк), и для каждой есть набор зависимостей (т.е. массив строк на каждую программу). Зависимости только из того же списка, т.е. если у нас есть программы a, b, c, то программа b может зависеть от a, но не может зависеть от f (потому что нет в списке программы f). Надо вывести эти названия программ в "корректном" порядке для установки, т.е. чтобы если пакет шёл в списке - все его зависимости были раньше него в данном списке.

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

- ML. Эту секцию мне не очень хочется подробно описывать, т.к. она была почти "по учебнику". Если есть желание подготовиться - HR присылает ссылку на youtube с видосами от Яндекса. Видосы очень крутые (можно искать по ключевым словам "Лекции по машинному обучению, Воронцов ШАД").

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

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

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

Это тоже не всё, но суть, думаю, ясна.

Яндекс предложил мне оклад 490к и ещё разные премии, в сумме с которыми вышло 720к в месяц.

Другие фирмы

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

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

 

Че-та жестко звучит ))


Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение

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

 

- тут какое-то противоречие 


"Мне надлежит наслаждаться над временем…
пусть мир и ужаснется моей радости, и
грубость его не поймет смысла слов моих."

Рэйсбрук Удивительный

Поделиться сообщением


Ссылка на сообщение

ну типа 5 учебников любой еблан прочитать может, а организовать сотню таких ебланов сложнее 


 

Скрытый текст

Поделиться сообщением


Ссылка на сообщение
Baza_KAiF написал 1 час назад:

в текущих реалиях для 700 в месяц достаточно просто кинуть резюме в мегафон, если до этого работал у их вендора :popavs:

Хз мегафон никогда высокими зп не славился. Скорее самые низки из 4

Поделиться сообщением


Ссылка на сообщение

За 2 года из дальнобоя в США до 700к/мес пограмиста, мое почтение

 

Грац, но что-то я делаю не так в своей жизни:dablya:

Поделиться сообщением


Ссылка на сообщение
lerochkina написал 8 минут назад:

700к, да вы тут уже вообще не в себе

Да паста из сети. Но думаю, кому-то могут платить 


"Мне надлежит наслаждаться над временем…
пусть мир и ужаснется моей радости, и
грубость его не поймет смысла слов моих."

Рэйсбрук Удивительный

Поделиться сообщением


Ссылка на сообщение

Господа ойтишники, в итоге получил за 2 недели несколько офферов и чет хуй знает чо из этого выбирать

250к на руки + дмс или 230к на руки + дмс + 45к в год компенсации на спорт/билеты + премии
Но 1 компания по вайбу интереснее и там нет легаси

Поделиться сообщением


Ссылка на сообщение
Romavend написал 1 час назад:

Господа ойтишники, в итоге получил за 2 недели несколько офферов и чет хуй знает чо из этого выбирать

250к на руки + дмс или 230к на руки + дмс + 45к в год компенсации на спорт/билеты + премии
Но 1 компания по вайбу интереснее и там нет легаси

я бы первое выбрала, тем более сам говоришь вайб интереснее


gIrw278.gif

Your desire is your essence.

Поделиться сообщением


Ссылка на сообщение
AsYouWish написал 20 часов назад:

 

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

NaxrenApm понравилось это

Поделиться сообщением


Ссылка на сообщение
Fingerpinger написал 1 час назад:
AsYouWish написал 21 час назад:

 

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

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

Поделиться сообщением


Ссылка на сообщение

Сидишь на диване и ничего не делаешь? А мог бы зарабатывать от 100к в день, просто перестань лениться и запишись на курсы Аяза Кутакбашева!


12.02.2016 в 11:39, Liouville написал:

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

 

 

Поделиться сообщением


Ссылка на сообщение

мамбеты скаммеры уже заебали конкретно 

урганта раньше хоть както уважал за качество юмора, но чел похоже совсем обнищал как сбежал из расеюшеки, раз начал пиарить инфоцыган

Thecus_fanboy понравилось это

image.png.dedda6c5d04a07ad35710ee55d78775d.png 

Поделиться сообщением


Ссылка на сообщение

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

×
×
  • Создать...