Chad Protocol - карьера, IT, успех – Telegram
Chad Protocol - карьера, IT, успех
12.4K subscribers
22 photos
7 videos
14 files
95 links
номер завления на регистрацию РКН: № 6904340073

По всем вопросам: @vice22821
Чат: https://news.1rj.ru/str/chad_protocol_chat
Стажировки: https://news.1rj.ru/str/postypashki_old
Ютуб: https://youtube.com/@postypashki
Поступач: https://news.1rj.ru/str/postypashki_mems
Download Telegram
Товарищи, мой ученик уже несколько лет живет и работает quantative researchем в Великобритании и решил поделиться своими впечатлениями.

Легко ли попасть в топовый банк
В связи с "драматической" международной обстановкой и кризисом в данный момент это практически невозможно: во всех крупнейших банках (почти абсолютный) hiring freeze, есть лишь призрачный шанс просочиться в систему через малочисленные стажировки -- хотя и этот путь крайне скользский: автору известны случаи, когда человек успешно простажировался, получил оффер на кванта, затем оффер был трансформирован в Scala программиста, затем предложили продолжить в Париже, потом в Будапеште, ну и в конце концов оффер вообще отозвали.
Что касается этапов отбора, то сейчас идет соревнование в количестве собеседований, которые нужно проходить кандидату: раньше, в хорошие годы, часто брали с университетской скамьи (если кандидат достойно окончил престижный ВУЗ), сейчас же все растянулось на 4-5 раундов интервью. Обычно 2-3 из них технические, где точно спросят теор вер и навыки программирования, если подаетесь на что-то смежное с разработкой, остальные интервью поведенческие и мотивационные.
В топ-10 международных банков на этапе скрининга на начальные позиции смотрят на ВУЗ, так что необходимо заранее обзавестись "пропускной" корочкой -- иначе ваше резюме окажется в мусорной корзине практически моментально (хотя скорее вам сначала предложат пройти с роботом тест, после чего придет автоматический отказ.

Коллектив
Среди квантов преобладают лица французской нации, причем все они -- гасконцы, пикардийцы, овернцы -- захватили самые лучшие места! Порой отделы целиком состоят исключительно из французов. Никакого кумовства à la sovok.

Зарплаты
Как у программистов, но вряд ли больше -- при том, что берут только с продвинутыми степенями из престижных ВУЗов, тогда как программистом можно (не только теоретически, но и практически) устроиться чуть ли не после школы (бакалавра часто вполне хватает).
При переходе из банка в банк часто просят показать payslips с предыдущего места работы, чтобы подтвердить вашу предыдущую зарплату, и вряд ли согласятся платить вам на новом месте больше, чем на 20% (иначе HR может заблокировать вам оффер). Никакого сговора и манипуирования рынком, это гласность и демократия!
В общем, если хочется больше, то действовать остается как профессиональный рецидивист и идти в хедж-фонд.

Ворк лайф
Работа похожа на советское КБ в 1992-3, только процесс изменений здесь менее динамичный и вялотекущий: есть эхо от кризиса 2008-9 и востоминания о былых славных временах ~когда гребли деньги лопатой~ и продолжающиеся невзгоды, связанные с geopolitical risks, сокращения (особенно это касается американских банков и сотрудников в США, откуда уволить намного легче, чем в европейских банках и филиалах), а также большие слабо поддающиеся улучшению проекты, которые страдают хроническим недофинансированием (и не имеют, как правило, достаточно укомплектованных команд) проектов под руководством эффективных менеджеров.
В общем, никто никуда особо не спешит, все идет своим чередом. Застой Стабильность.

Продолжение статьи в комментариях
🔥3112👍9
Вопросы по статистике ждут любого кандидата, подающегося на позиции Data Science, аналитику и нередко менеджмент. Поэтому сегодня в честь набора на наши курсы (занятие по математике уже завтра и еще можно записаться) обсудим самые популярные и важные парадоксы на классических примерах. Очень будет полезным, если после знакомство с каждым парадоксом, вы зададите вопросы в духе: почему этот парадокс вообще важен? какое у него значение в процедуре AB тестирования или алгоритмах ML? из-за чего случился этот парадокс, как его избежать? Делитесь своими впечатлениями в комментариях!

Текс статьи
🔥22👍4
Помимо благотворительной деятельности, "Поступашки" также проводят индивидуальные/ групповые занятия и консультации по подготовке к собеседованиям по математике, алгоритмам и ML, DL, аналитике, Data Scince и Data engineering.


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

Какие гарантии?
Наш проект существует уже более 8 лет. У наших преподавателей очень богатый человеческий капитал: академики всех наук, большой преподавательский стаж, опыт работы в коммерции (как квант, аналитик и тд) или в разработке.

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

Математика:
— 4000 рублей за час индивидуальных занятий;
— 2500 рублей за час занятий в паре с одного ученика;
— 2000 рублей за час занятий в группе из трёх человек.

Алгоритмы:
— 3000 рублей за час индивидуальных занятий;
— 1875 рублей за час занятий в паре с одного ученика;
— 1500 рублей за час занятий в группе из трёх человек

ML. DL. Data Science. Инженер данных. Аналитика:
— 2500 рублей за час индивидуальных занятий;
— 1500 рублей за час занятий в паре с одного ученика;
— 1200 рублей за час занятий в группе из трёх человек

Бэкенд разработка:
— 2000 рублей за час индивидуальных занятий;
— 1200 рублей за час занятий в паре с одного ученика;
— 1000 рублей за час занятий в группе из трёх человек

Лучший вариант для групповых занятий: взять к себе в напарники коллегу/ однокурсника или знакомого. Это позволяет обеспечить сплочённость группы и сопоставимый уровень учеников.

Менторство
Также если занятия вам сильно не по карману, то есть вариант менторства: примерно каждую неделю или по мере продвижения вам высылают теоретические материалы и задачи конкретно под ваш уровень и цель, отвечают на любые вопросы и проверяют решения задач (ежедневная связь). Общение происходит исключительно текстом/войсами (созвониться можно лишь по стандартной ставке). Стоимость менторства: 10000 рублей за 4 недели.

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

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

По всем вопросам и записи на занятия: @vice22821
🔥17🥴6👍53🤯1
stat tеsts.ipynb
1.1 MB
Статистические тесты вызывают много вопросов у новичков: не совсем понятно, когда какой тест применим. Поэтому подготовил своим любимым подписчикам подробное описание и сравнение трех наиболее популярных методов проверки гипотез: t-тест, критерий Манна — Уитни и бутсрэп. В прикрепленном notebook сравнил время работы, ошибки 1го и 2го рода, чувствительность к выбросам и тд. Надеюсь, все это поможет разобраться с границей применимости каждого метода раз и навсегда!

Кстати, именно такие notebookи и куча других материалов будут на нашем курсе по математической статистике и AB-тестат (первое занятие уже завтра и ещё можно записаться), они расширяют и дополняют материал основных занятий. Ведь Поступашки реально хотят научить ребят, дать им качественное образование, а не просто взять деньги и послать куда подальше!!
🔥305👍2🤓2
Метрики.pdf
96.8 KB
Вопросы по метрикам спрашивают на любом собеседовании, ведь без метрики невозможно оценить успешность ни одного эксперимента. В прикрепленном файлике для моих любимых подписчиков находятся все популярные метрики, которые нужно просто заучить для собеседований. Но опять же не стоит относиться к ним, как к готовым рецептам. Выбор метрики — это всегда непростая аналитическая задача! Научиться ее решать конечно же поможет наш курс по математической статистике и AB тестам.

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

И это далеко не все, да и желаемые свойства нередко противоречат друг другу)
🔥35👍65
Товарищи, давно хотел поделиться задачей, которую спрашивают аналитика на любом собеседовании. Более того есть наводка, что в топовых компаниях вообще увольняют и добавляют в блэклист каждого, кто не решит эту задачу. И так:

Допустим, вы участвуете в соревновании дизайнеров, на новый макет сайта.
После разработки участники самостоятельно проводят опрос клиентов.
• Вы опросили 100 человек, 60 людям он понравился больше старого
• Ваш коллега опросил 10 людей, 7 человек предпочли его сайт старому
•Начальник сравнивает конверсию (сколько "успеха" в процентах)
• Как объяснить, что ваш вариант лучше?

Пишите свои решения в комментариях!

Решение: Интуитивно кажется, что наш результат точнее, ибо экспериментов больше и по ЗБЧ эмпирическая вероятность сходится к истинной. Но на собеседовании такой ответ не тянет даже на удовлетворительно. Здесь удачней будет сказать, что перед нами биномиальная модель. Построим асимптотический доверительный интервал для обоих экспериментов по известной формуле. Вероятность в первой модели лежит в [0.504, 0.696], а во второй в [0.416, 0.984] при уровни значимости 0.05. Тогда с вероятностью 95% вероятность, что наш сайт понравится больше, чем половина; во втором же случае, так как 0.5 входит в доверительный интервал, не можем сказать с вероятностью 95%, что вариант лучше— может быть даже хуже. Делаем вывод, что первый вариант лучше. А если хотите подробней разобраться в инструментах статистики, то добро пожаловать на наш курс по мат статистике и АB-тестам! Перове занятие уже завтра и еще можно записаться.
🔥40👍72
Media is too big
VIEW IN TELEGRAM
Стоит ли идти работать аналитиком в Яндекс?

Ужасы SQL-запросов, 10 строчек на питоне за 4 месяца и подсчет тыков на кнопки 😎😎😎

Фрагмент из интервью со студентами ФКН ВШЭ
👍264🔥4
Media is too big
VIEW IN TELEGRAM
Товарищи, вот и разбор программирования на стажировку Тинькофф! Архив с кодом оставлю в комментариях. А если хотите научиться ловко разбираться в алгоритмах и тащить собесы/олимпиады, то записывайтесь на занятия и менторство!

1000 шэров (поделиться с другом) и выкатываем разбор математики.
🔥65👎16👍1
Media is too big
VIEW IN TELEGRAM
Товарищи, обсудим сегодня градиентный спуск, на котором основаны почти все современные алгоритмы машинного обучения! И ответим на вопрос: зачем учиться? Главный вопрос начинающегося учебного года.

Смотрим! А если хотите стать настоящий ML инженером😎, то советую наш курс.
🔥21
Наш подписчик успешно отсобесился в Авито на DS и за время подготовки насобирал у друзей и знакомых задачи, которые спрашивают в Авито по математике и питону. Они приведены ниже, кстати актуальные задачи по собесам в DS выкладываются здесь, а по алгоритмам здесь.

1) Двое по очереди ломают шоколадку 6×8. За ход разрешается сделать прямолинейный разлом любого из кусков вдоль углубления. Проигрывает тот, кто не сможет сделать ход. Кто выиграет в этой игре?
2) Есть 100 чисел (от 1 до 100). Сколькими способами их можно расставить, чтобы разница между каждыми двумя соседними была равна 1?
3) Имеется арбуз, который весит 10 кг и при этом состоит на 99% из воды. Через некоторое время он усох и стал состоять на 98% из воды. Найдите новую массу арбуза
4) Есть неправильная монетка(p!=0.5). Предложите справедливую игру для 2 человек. Справедливая игра - такая игра, которая позволяет найти победителя, при этом шансы игроков выиграть равны
5) Стрелок 4 раза стреляет по мишени. P = 0.5 - где P - вероятность попадания. Найдите вероятность, что стрелок попадет в мишень не менее 3 раз
6) Есть колода из 32 карт(4 масти). В колоде 4 туза. Карты раскладывают в одну линию на столе. Найдите вероятность, что 4 туза лежат все вместе
7) Есть города А и Б. Туда (а->b) мотоциклист едет 50км/ч, обратно (b->a) 75 км/ч, какая средняя скорость?
8) Вероятность того, что холодильник сломается больше чем через год 0.98, а через 2 года 0.85, какова вероятность, что холодильник сломается между 1-м и 2-м годом
9) Есть n людей. Нужно узнать, болеют ли они вирусом. Вероятность, что человек болеет - p.
а) Допустим мы берем кровь у каждого человека (анализ покажет заражена кровь или нет). Найдите матожидание кол-ва анализов.
б) Допустим мы разбиваем всех людей на пары. Далее действуем так: выбираем какую-то пару, затем у каждого человека из этой пары берем кровь и смешиваем. Затем уже смотрим, заражена ли кровь. Найдите матожидание кол-ва анализов.
в) При каких p экономически выгодно использовать вариант, предложенный в (б)?
10) Есть множество всех городов России. Далее берем какой-то город и выбираем первую цифру его численности. Пример ( Город Н. - население = 145440 - > берем 1). Какая цифра будет чаще всего встречаться? Примечание: фактические данные брать нельзя, рассуждать и думать - можно

1) Какие типы данных есть в Питоне?
2) Какие структуры данных есть в Питоне?
3) Отличия типов и структур данных
4) В чем отличие очереди от стэка?
5) Надо написать функцию. Есть список. Там все элементы встречаются по 2 раза, кроме какого-то одного. Вывести элемент, который встречается 1 раз.
6) Надо написать функцию. Есть список и число n. В списке - все числа от 0 до n, кроме какого-то одного. Найти какого числа нет
7) Надо написать функцию. Есть строка, состоящая из скобок. Пример: '((()))'. Вывести true, если строка 0 правильная скобочная последовательность, иначе - false. Правильная скобочная последовательность обладает следующими свойствами:
1) Открытые скобки должны быть закрыты
2) Каждой закрывающей скобке соответствует открытая скобка
8) https://leetcode.com/problems/valid-parentheses/
9) Написать функцию, которая находит n-ое число Фибоначчи. Решить рекурсивно и итеративно
10) Дано число n. Найти сумму корней чисел от 0 до n.
11) Решить задачу 10 в одну строчку.
🔥45🐳5👍4🤗43🌚1
Топ 5 ошибок на алго собесе

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

1. Незнание асимптотики для встроенных функций
Например кандидат начинает хранить всю подстроку вместо того, чтобы хранить крайние позиции подостроки и ошибочно думает, что делают это за О(1). Так dp[i][j] = s.substr(i, j) - здесь при оценки сложности кандидаты забывают, что s.substr(i, j) работает за линию.

Для предотвращения ошибки, достаточно посмотреть примеры оценки алгоритмов, разобраться с работой стандартных функций ( append, pop, substr и тд), например, просто прочитав документацию. Также во время практики постоянно задаемся вопросом: за сколько работают используемые функции.

2. Тайминг
Кандидаты мало внимания уделяют тренировке скорости решения задач, плохо и медленно объясняют решение. Часто кандидаты не успевают дорешать вторую задачу именно из-за того, что просто долго объясняли решение.

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

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

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

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

Поэтому во время подготовки анализируем свои решения и смотрим на каких маленьких тестах решение может упасть. Например пустая строка или n=1

5. Компилятор
Все привыкли к тому, что на LeetCode после написания кода сразу показываются синтаксические ошибки. Однако на реальном интервью такое невозможно, так как код не компилируется. Поэтому на поиск таких ошибок может потребоваться дополнительное время. Так можно запросто забыть проверить есть ли ключ в словаре или нет: без запуска на определенных тестах можно не заметить такую ошибку.

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

А какие ошибки вы бы добавили в этот топ? Обязательно пишите в комментариях!
🔥26👍94
Про карьеру в науке говорят совсем мало, хотя как и везде при грамотном подходе можно сообразить себе весьма состоятельную жизнь: деньги, путешествия, слава. Кстати, за одно только членство в РАН положено 100 тыс в месяц. Специально для вас товарищи попросили нашу коллегу с кафедры теории игр подробно рассказать про карьеру в науке.

Как попасть

Самый простой и верный путь в науку - найти активного научного руководителя. Всё остальное будет очень сильно зависеть от этого первого действия. Хороший науч рук сможет посоветовать, с чего начать, познакомит с фронтиром науки. А ещё своевременно направит в хайповую лабораторию. Например, в тот же Yandex Research, AIRI, да у каждой компании сейчас есть своя лаборатория по ИИ. Деньги там бешенные, а с улицы не берут. Так вы обретёте первых коллег и коллектив.

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

Отличие от индустрии
Есть куча стажировок и благодаря Поступашкам все знают, какую последовательность действий нужно совершить, чтобы попасть в «топовые компании» и не быть уволенным в первые месяцы. Если посмотреть пару интервью на ютьюбе с какими-то успешными ученым, можно подумать, что они дико крутыми просто родились или им очень повезло. Способный студент, у которого есть зачатки интереса к науке, часто попросту не знает, куда идти и к кому обращаться. В итоге он идет по более очевидному, как ему кажется, пути работы в банке/фонде/разработке.

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

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

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

Если у вас есть какие-то вопросы по поводу того, чем занимаются учёные-игровики нашей лаборатории и как к нам попасть, буду рада сообщениям в лс: @thesekunda
🔥43👍87🎄2🙏1
Топ алгоритмов на собесе

Этот список был собран из большого опыта прохождения coding life interview в разные компании.
Конечно сложность алгоритмов зависит от направления. Мы рассмотрим три самых популярных направления: Backend, ML, Аналитика.

Backend
1) Префиксная сумма и два указателя.
Очень часто встречается, как первая задача на собесе.
2) Задачи, которые решаются Hash-map.
В основном - это задачи где можно снизить асимптотику до O(N).
3) BFS, DFS.
В качестве графа обычно дают дерево.
4) Двоичное дерево.
Чаще этот алгоритм встречается в качестве второй задачи.
5) Кратчайшие пути.
Топологическая сортировка графа, Дейкстра, Флойд.
6) Жадные алгоритмы.
Задачи на эту тему дают достаточно простые, но с подводными камнями.

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

ML
1) Двоичное дерево
2) Нахождения кратчайших путей в графе.
Обычно это алгоритм Дейкстры или Флойд.
3) Обходы графа BFS, DFS.
4) Hash-map
5) Динамическое программирование.
Чаще всего просят написать простенькую дп для подсчета вероятности

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

Аналитика
1) Простые задачи связанные с массивами, строками, математикой.
Обычно вас просят распарсить строку, посчитать в массиве количество каких то элементов.
2) Hash-map
3) Префиксные суммы
4) Жадные алгоритмы.

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

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

Практически во всех life coding interview не любят давать задачи с асимптотикой O(n^2). Например в Яндексе за последние три года я не встретил ни одну задачу, которая решалась бы за O(n^2).
Наиболее распространенные задачи, как правило, требуют O(n) времени в исключительных случаях O(n logn). Используйте это наблюдение для более эффективного распределения времени на подготовку.

Если вы решили подтянуть эти темы я вам рекомендую изучать в таком порядке.

Префиксные суммы, Бинарный поиск, Hash-map, два указателя.
BFS DFS, Дейкстра, Флойд, Двоичное дерево.
Жадные алгоритмы, динамическое программирование.
Все эти темы мы отработаем на огромном количестве примеров, пройдя наш курс, вы станете настоящим мастером спорта по алгоритмам😎

Для лучшего понимания этих тем хорошо подойдет сайт визуализации алгоритмов. Особенно поможет новичкам лучше понять структуры данных и графы.
🔥34👍75🐳1🌚1🤓1
Топ теор вопросов на лайв кодинге

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

1. Сложность алгоритма
Кроме алгоритмов, мы часто применяем встроенные функции, такие как max(arr). Многие не знают временную сложность этих функций, что может привести к неправильной оценке времени. Для заполнения пробелов в знаниях рекомендуется изучать документацию по функциям и смотреть шпаргалку.

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

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

AVL - дерево - сбалансированное двоичное дерево поиска. Про AVL речь точно зайдет если начнут спрашивать балансировку двоичного дерева.

С++:
Необходимо глубоко понимать внутреннее устройство контейнеров, таких как vector, deque, stack и другие. Например, часто встречаются вопросы о том, почему операция push_back в векторе выполняется за O(1), и как происходит выделение памяти.

Обязательно посмотрите какие алгоритмы реализованы под капотом - это очень важно, например map написан на красно-черных деревьях.

Время работы вставки, удаления вы должны знать наизусть, понимать разницу между set, multiset а также map с unordered_map.

Python.
Вероятно, вас могут спросить о том, как управляется память, сколько времени занимает операция append в списке, какова разница между контейнерами set и heap, а также о времени работы словаря (dict).

Часто встречаемой ошибкой является предположение, что элементы в контейнере set всегда упорядочены. Это верно в случае C++, но не совсем верно для Python из-за чего особенно важно знать, что происходит "под капотом".

3. Графы и деревья

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

Хранения графа
Перед кодингком вам спросят, как вы собираетесь хранить граф. Почему именно этот способ выбрали и в чем отличие от других видов хранения графов. Например матрицу смежности использует при полных графах, а список смежности, когда количество ребер сильно меньше чем O(n^2).

Еще одна распространенная ошибка говорить, что обходы графов (BFS, DFS) работают за O(n), а не за O(n + m).
На эту ошибку могут закрыть глаза или же собеседующий будет наталкивать на правильный ответ в духе: " рассмотрим граф в котором ребер сильно больше чем вершин, разве за O(n) будет работать обход ?". В общем просто теряете время, чего у вас и так мало.

Дейкстра

В каких графах не будет работать алгоритм Дейкстры ?
-Если в графе есть отрицательный цикл алгоритм Дейкстры уйдет в бесконечный цикл.
Как узнать есть ли в графе отрицательный цикл ?
-Алгоритм Форда Беллмана.
В чем разница между алгоритмом Флойда и Дейсктры?
-Флойд находит кратчайшие расстояние между всеми парами вершин, а Дейкстра от одной до всех остальных.
Почему бы тогда не запустить алгоритм Дейкстры от каждой вершины вместо использования алгоритма Флойда ?
-Потому, что асимптотически Флойд будет работать быстрее.

4. Дп и жадные алгоритмы
Объясните концепцию динамического программирования, что такое жадный алгоритм, в чем разница между динамическим программированием и жадным алгоритмом, в каких случаях жадные алгоритмы не дают оптимального решения.
Это типичные вопросы когда встречается задача на дп.
Вы должны понимать, что жадный алгоритм устроен на какой-то стратегии и вы должны доказывать вашу стратегию, например тот же алгоритм Дейкстры.
Или та же задача про рюкзак, которая решается динамическим программированием. Любое жадное решение будет решать задачу только приближенно..
Отличной практикой является открывать задачи на динамическое программирование и пытаться их решить жадным способом, так вы будете понимать класс задач которые решают дп.

Чтобы без труда отвечать на такие вопросы, советую на наш курс.
🔥356👍5🥰1
Media is too big
VIEW IN TELEGRAM
НУЖНО ЛИ DATA SCIENTISTУ ВЫСШЕЕ ОБРАЗОВАНИЕ?

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

Фрагмент из ролика.
🔥132👍1
Топ-5 книг по С++ для начинающих и продолжающих от нашего нового направления по С++

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

Все книжки можно найти в комментариях под постом. Начать погружение в С++ я бы рекомендовал с книги Питера Готтшлинга «С++ для инженерных и научных расчетов». В ней достаточно полно рассмотрен современный С++ в объеме, необходимом и достаточном в большинстве практических ситуаций.

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

Помимо знания синтаксиса языка, нужно уметь пользоваться стандартной библиотекой шаблонов языка С++ (STL, Standard Template Library) – с одной стороны, не нужно знать ее вдоль и поперек, но, с другой стороны, она позволяет писать легко читаемый код и сэкономить время на написание собственной реализации многих алгоритмов. Поэтому предлагаю познакомиться, например, с книгой «C++17 STL. Стандартная библиотека шаблонов» Яцека Галовица.

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

В заключение, следует упомянуть «библию С++», а именно Стандарт языка С++. Это отличная настольная книга для случаев, когда возникает, например, подозрение на undefined behaviour в коде – можно обратиться к ней и выяснить, будет ли по стандарту код корректным или могут возникнуть проблемы.

Больше материалов на нашем канале по С++! 😎😎😎
👍276🔥3🐳2🎉1🤝1
Товарищи, мой ученик пару лет проработал в московском офисе Kaspersky и решил поделиться своими впечатлениями. В принципе все соответствует тому, что слышу от коллег и своих учеников, но пост чисто на ваш суд, пишите в чем не согласны в коменты.

Легко ли попасть в Kaspersky
Количество собеседований 3. Их проводят команды и соответственно подбирают вопросы под свои нужды, принимают решение исходя из своих критериев.
1. Звонок на 30-40 минут для выяснения общего уровня и первичного отсева. Вопросы могут быть из разряда "назовите этапы компиляции языка C++" или там "как пользовательской программе обратиться к операционной системе". Ничего сложного, но если плаваете уже в этих вопросах, то смысла в дальнейших интервью нет, так как итог очевиден;
2. Техническое собеседование на два часа. Вопросы самого разного уровня, но без перегибов. Алгоритмами не ограничивается, но базовые вещи вроде анализа вычислительной сложности, реализации простых случаев и тому подобное уметь стоит. Можно получить вопросы по типу "Что такое хеш-функция? Какими свойствами обладает хорошая хеш-функция?" или например "Оцените затраты на системный вызов". В подразделениях, занимающихся KasperskyOS, могут спросить теорию операционных систем;
3. Знакомство с нанимающим менеджером (будущим линейным руководителем). Пообщаетесь об условиях и ожиданиях. Желательно задать все волнующие моменты и в случае, если что-то не устраивает, попробовать исправить на этом же созвоне. По итогу результат может быть не сразу, но часто в конце сразу говорят даже когда дата выхода.

Коллектив
Компания задала довольно высокую планку требований к сотрудникам, так как большинство позиций разработчиков связаны в том числе и с исследованиями. Остальные специалисты также обычно более высококвалифицированные, чем в среднем по рынку в силу специфики компании. Встретить некомпетентного сотрудника не просто сложно, а очень сложно. Особенно на middle-позиции или выше (у меня не получилось). В силу специфики компании иное невозможно, особенно в условной KasperskyOS. Вот вы часто видели специалистов, чьей экспертизы достаточно было бы для проектирования и разработки ОС? А я пять дней в неделю.
В основном взаимодействие внутри компании более чем позитивное. Единичные случаи негативного моментально решаются линейными руководителями. Как правило, интернам даётся сотрудник "по всем вопросам" и всячески оказывается помощь в профессиональном росте как специалиста.

Зарплаты
В Kaspersky они существенно выше рынка, что неудивительно в силу описанных выше требований. Так же есть хороший социальный пакет вроде ДМС для сотрудника и детей, компенсации питания просто доплатой на карту, а не бейджиками и прочей ересью (даже удалёнщикам!).
Существуют корпоративные специальные предложения во многих местах. Есть прямо в офисе (в том числе в рабочее время) спортзал, сауна, массаж, иные удобства. Кроме того, возможно участие во многих мероприятиях вроде конференций от компании с полной оплатой.

Work-life
Ни разу не видел переработок внутри компании. Стандартный рабочий день с 10:00 до 18:30, но у технических специальностей он гибкий. Также есть ребята со сменным графиком, но это отдельная история и вряд ли вы туда попадёте. Ставка 40 часов в неделю и ни секундой больше. Сам Евгений Валентинович Касперский призывает не перерабатывать и не мерить производительность часами.
Для intern/junior-позиций практически всегда возможна ставка в 20 часов в неделю. На сессию без проблем могут отпустить (не в счёт отпуска) или сделать послабления.
Существуют командные тимбилдинги и внутренние праздничные мероприятия, на них стабильно выделяется бюджет и обычно это довольно приятные мероприятия. Кроме того, есть спортивные команды, некоторые из них даже что-то выигрывают.

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

Продолжение ЗДЕСЬ
👍218🔥6🥰1🍓1
Повышение
Особых проблем получить повышение с интерна до джуна и потом до миддла нет, достаточно достойно себя проявить и согласовать с линейным руководителем, чтобы он написал документ о переводе. Но вот с повышением до сеньора или эксперта у большинства технических специалистов (типа разработчиков), в целях объективности, надо пройти промо, где эксперты оценят набор доказательств компетентности и на основании их заключений может быть повышение. Впрочем, тимлидом можно стать через перевод без промо.

Жилье
Имеется релокационный бонус, довольно приятный, о нём было в нашем канале.

Офис
В Москве сейчас один офис — Олимпия Парк, на Ленинградском шоссе, прямо на берегу Химкинского водохранилища. Три здания, соединены подземным переходом. Есть своя столовая, бар и игровые комнаты. На спичках типа техники и оборудования рабочего места не экономят.
Обычно без каких-либо проблем можно попросить полностью удалённую работу. В крайнем случае гибридный график. Хотя даже с офисным можно без проблем денёк в неделю работать удалённо, а при особых обстоятельствах сильно больше, просто написав менеджеру и поставив в известность, обычно без объяснения причин.
Также есть офисы в других городах. Те, в которых довелось побывать, были ничем не хуже.
👍36🔥6❤‍🔥3
О чем врать в резюме / на собеседовании

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

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

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

Стажировки
Тонны стажировок, которые не оплачиваемые, к примеру от Агима, от Outlines, от студии Лебедева, от Очень интересно, и куча других галер. Так как они не оплачиваются, то и договора не заключается. Конечно, они могут дать договор типа об NDA, но он никакого значения не имеет без трудового договора. А если вдруг начнут шантажировать за слив или ещё что-то, сразу нужно коллективную жалобу писать в трудовую инспекцию c убэп. Можно сказать, что вас тогда уже сразу продали в какую-нибудь другую компанию как стажёра или делали что-то внутреннее. Всего стажировались там 3-6 месяцев.

Место учебы
Без зазрения совести пишем МГУ, физтех, ВШЭ и другие хайповые университеты, так как рекрутеры свято верят, что если студент из МФТИ, то он топ и нужно брать. Никто даже не станет проверять учитесь вы там или нет, просто скажите, что второкурсник. На крайний случай что-нибудь придумаете и сделаете себе справку, но о таких случаях я не слышал.

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

Главное помним, что при отсутствии опыта и знаний в специальности вруна несложно подловить, задав просто неудобный вопрос или посмотрев стиль кода на лайв кодинге. А чтобы приобрести весь необходимый опыт для собесов и карьеры советую наши курсы от ведущий специалистов.
🔥45🤓10👍73🙈3👀2👏1
How to поступить в заграничную магистратуру

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

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

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

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

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

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

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

Начать попытки поступления следует с того, что нужно составить shortlist из 5-10 вузов, куда вы будете подаваться. Как мы помним, магистратура -- это репутационная работа, поэтому первым логичным шагом будет выбрать вузы с репутацией: заходим на сайт topuniversities (или аналогичный) и смотрим, какие ВУЗы являются топовыми (то есть входящими в топ-50, но если вы сильный кандидат смотрите топ-20, это ультратоп, которые по факту максимально котируются у работодателя; разницы между топ-10 и топ-20 на работе я не заметил, выпускники этих ВУЗов устраиваются одинаково успешно, в зависимости от личных качеств) по интересующему вас направлению.

Далее, переходите на сайты этих вузов и сравнивайте предложения от вузов по выбранному направлению обучения: состав модулей, сроки обучения, стоимость программы, расположение кампуса, сроки подачи и набор необходимых документов, необходимый уровень владения английским, и проч. В итоге, у вас должен получиться shortlist вузов (и программ), куда вы будете подаваться.
🔥26👍93🤪1
Вам однозначно понадобится резюме на английском и от 1 до 3 отзывов с предыдущего места учебы. Касательно резюме, не стоит скромничать -- нужно максимально помпезно писать о своих предыдущих достижениях, таких как получение грантов, именных стипендий, победах в олимпиадах и т.д. С отзывами будет несколько больше возни -- вам нужно подговорить дать вам рекомендацию 1-3 человек и, вероятно, написать им рыбу (поскольку рекомендодатели, как правило, люди уважаемые и занятые). Одним из рекомендодателей может выступить ваш научный руководитель, вторым, возможно, заведующий кафедры (если он напрямую с вами не работал, достаточно ненегативного -- или хотя бы немного позитивного -- отзыва о вас), а третьим может быть ваш любимый лектор, на предмете которого вы так или иначе блистали. В общем, с отзывами следует начать работать как можно раньше, это самое трудозатратное. И, напоследок, стоит по возможности -- хотя бы 2 из них (кроме отзыва от завкафедрой) -- хоть немного кастомизировать под каждый вуз, когда вы подаетесь.

Подача документов на магистратуры открыты, как правило, с осени (сентября-октября). Часть программ рассматривает кандидатов по мере поступления (on the rolling basis), но многие берут заявки "охапкой" и выбирают в финал самых лучших кандидатов. Список документов может немного варьироваться, но, как правило, это резюме, переведенный на английский язык лист с оценками, мотивационное письмо и отзывы от научного руководителя и 1-2 профессоров.

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

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

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

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

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

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

Обязательно ставим огонек и делимся с друзьями, товарищи, если хотим развитие темы карьеры и образования зарубежом. А если вам нужна помощь в разборе конкретно вашей ситуации и личные рекомендации, то записывайтесь на наши консультации с ведущими специалистами.
🔥785👍2🤪1