Как стать автором
Обновить
7
0
Дмитрий Горелов @datasanta

Data Scientist

Отправить сообщение

100 вопросов для подготовки к собесу Data Science

Уровень сложностиСредний
Время на прочтение98 мин
Количество просмотров51K

Доброго времени суток!

Представляю вашему вниманию чек-лист из 100 вопросов по Data Science. Вопросы покрывают 5 областей: SQL, Python, Machine Learning, статистику и собственно саму DS.

Кому это вообще может быть полезно?

Читать далее
Всего голосов 17: ↑15 и ↓2+13
Комментарии10

8 ошибок, из-за которых ты проиграешь в соревновательном Data Science

Время на прочтение8 мин
Количество просмотров16K

Привет, чемпион!

Если ты читаешь этот пост, значит, тебе стало интересно, не допускаешь ли этих ошибок ты?! Почти уверен, что ты допускал эти ошибки хотя бы раз в жизни. Мы не застрахованы от совершения ошибок, такова наша человеческая натура — ошибаться для нас естественно. Однако, я постараюсь уберечь тебя от тех ошибок, которые совершал сам или замечал у других.

Так вышло, что за время участия в чемпионатах по соревновательному анализу данных я достаточно часто бывал в призовых местах. Однако, бывали случаи, когда я лишался призовых по глупости или неосторожности. Рассказываю по порядку.
Читать дальше →
Всего голосов 59: ↑57 и ↓2+55
Комментарии10

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

Время на прочтение5 мин
Количество просмотров24K

Поговорим про способы жульничества в Data Science.

Читать далее
Всего голосов 58: ↑57 и ↓1+56
Комментарии15

Feature Engineering или стероиды для ML моделей

Время на прочтение6 мин
Количество просмотров14K

Привет, чемпион!

Часто при построении ML моделей мало просто взять сильную модель. Оказывается, иногда грамотная предобработка данных существенно важнее. Сегодня речь пойдёт про feature engineering.

Рассмотрим несколько кейсов на эту тему более подробно. Данные будут упрощённые, но обещаю, от этого примеры не станут менее интересными 😉.
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии3

В Data Science не нужна математика (Почти)

Время на прочтение6 мин
Количество просмотров87K

Привет, чемпион!

Ребята с «вышкой» всё время умничают, что в Data Science нужна «математика», но стоит копнуть глубже, оказывается, что это не математика, а вышмат.

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

Решил накидать чек-лист из простых математических приёмов, без понимания которых — тебе точно будет сложно в DS. Если ты только начинаешь карьеру в DS, то тебе будет особенно полезно. Мощь вышмата не принижаю, но для старта всё сильно проще, чем кажется. Важно прочитать до конца!
Читать дальше →
Всего голосов 143: ↑136 и ↓7+129
Комментарии87

Самое понятное объяснение Специальной теории относительности

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров97K

Специальная теория относительности - удивительная теория, которая опровергла многие представления о мире, в которых человечество не сомневалось всю историю своего существования.

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

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

Для иллюстраций я написал интерактивный визуализатор СТО, работающий в браузере. Ссылка на него и исходники проекта в конце статьи.

Читать далее
Всего голосов 386: ↑386 и ↓0+386
Комментарии388

Анатомия эффективного собеседования. Что делать и чего не делать на собеседовании

Время на прочтение8 мин
Количество просмотров14K

Я провел много собеседований за свою карьеру, возможно, несколько сотен в общей сложности. Мы отбирали и подготавливали людей для собеседований в компаниях вроде Microsoft и Google, так что это были весьма сложные собеседования. В начале я был не очень хорош в этом и делал всяческие ошибки. Надеюсь, за годы я стал лучше понимать на что обращать внимание и теперь смотрю на это под другим углом. Когда я начинал много лет назад, в нашей компании не было формального обучения навыкам проведения собеседований; считалось, что если ты хороший разработчик - ты можешь проводить собеседования. Очевидно, это не так; много отличных инженеров не могут и, что самое важное, не должны проводить собеседования без подготовки.

Читать далее
Всего голосов 28: ↑22 и ↓6+16
Комментарии25

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

Уровень сложностиСредний
Время на прочтение33 мин
Количество просмотров96K

Привет, Хабр!

Так уж повелось, что любой уважающий себя работодатель перенимает передовые^✻ методики FAANG — по этой причине практически во всех IT-собесах есть она: секция алгоритмов. Кто-то ей рад, кто-то не очень, но секция есть и уходить пока не планирует. Поэтому нужно закатать рукава и достойно встретить суровую реальность.

Читать далее
Всего голосов 216: ↑214 и ↓2+212
Комментарии77

Как составить резюме, чтобы его точно открыл HR. Метод бутерброда

Время на прочтение5 мин
Количество просмотров18K

Всем привет! Я Аня Шабаева, HRG в AGIMA. Как-то я уже обсуждала с вами, стоит ли делать тестовое задание. Сегодня хочу рассказать, как дойти до этапа с тестовым. Как сделать свое резюме запоминающимся? Как правильно показать свои навыки, чтобы получить должность мечты? Наливайте чаёк и давайте разбираться. 

Читать далее
Всего голосов 36: ↑29 и ↓7+22
Комментарии30

Как оптимизировать медленные SQL запросы?

Время на прочтение18 мин
Количество просмотров27K

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

Как выявить и отладить такие проблемы? В этой статье будет показано решение наиболее распространённых проблем с производительностью БД, вызванных неправильной индексацией. Примеры будут приведены для Postgres, MySQL и SQLite.

Читать далее
Всего голосов 19: ↑11 и ↓8+3
Комментарии38

Мои советы после 20 лет в программировании

Уровень сложностиПростой
Время на прочтение44 мин
Количество просмотров125K

Сегодня ровно 20 лет, как я начал программировать профессионально. За эти годы я:

Получил одобрение на петицию по грин‑карте за выдающиеся способности в науке.
Стал Google Developer Expert.
Стал IEEE Senior Member.
Был операционным директором в компании со 100 сотрудниками.
Написал код, который скачали 135 миллионов раз.
Выступал перед аудиторией в 2000 человек, дважды.
Стал самым честным человеком в России по версии НТВ.

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

Читать далее
Всего голосов 290: ↑180 и ↓110+70
Комментарии277

Безопасность CI/CD. Часть 2. Давайте рассмотрим как защитить ваши пайплайны

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров6K

Приветствую, читатели! Меня зовут Моисеев Андрей, в ИБэшечке  я уже в совокупности более 5 лет, а сейчас работаю DevSecOps в компании Bimeister. За время своей рабочей деятельности у меня получилось сформулировать некоторые полезные паттерны безопасности, которыми я хотел бы поделиться. Если вы наткнулись на эту статью, то вы явно неравнодушны к инфосеку и желаете преисполниться духом праведным, ну, а если попали сюда просто так, то как минимум сможете понять боль ваших коллег в данной сфере.

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Ультимативный Roadmap для Python-разработчика в 2023 году + источники знаний

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров136K

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

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

Читать далее
Всего голосов 8: ↑4 и ↓40
Комментарии8

Сколько строк на C нужно, чтобы выполнить a + b в Python?

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров61K

В своей предыдущей статье я исследовал структуру PyObject и её роль в качестве заголовка для всех объектов среды исполнения CPython. Эта структура играет важнейшую роль в обеспечении наследования и полиморфизма в системе объектов CPython. Но это лишь вершина айсберга.

В этой статье мы опустимся на один уровень ниже и посмотрим, что же происходит внутри среды исполнения Python для выполнения простого действия a + b. Иными словами, мы узнаем о подробностях реализации типов, операторов и динамической диспетчеризации в CPython.

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

Читать далее
Всего голосов 58: ↑55 и ↓3+52
Комментарии64

Делай нейминг как сеньор

Время на прочтение13 мин
Количество просмотров115K

Это объект Pizza, там хранится инфа о латте, а заказали его в Restaurant или в Pizzeria? Неудобно? Максимально. Мы читаем код существенно больше, чем пишем. И хочется сразу понимать, что происходит, не играя в квесты «что имел в виду автор», «да как это работает» и «я снова ничего не понял». Без навыка давать хороший нейминг невозможно писать качественный и поддерживаемый код. Про нейминг говорят заодно, в рамках архитектуры и общих инженерных практик. В статье поговорим про него отдельно.

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

Читать далее
Всего голосов 186: ↑184 и ↓2+182
Комментарии221

Python 3.5; async/await

Время на прочтение5 мин
Количество просмотров274K
Тихо и незаметно (с), вышел Python версии 3.5! И, безусловно, одно из самых интересных нововведений релиза является новый синтаксис определения сопрограмм с помощью ключевых слов async/await, далее в статье об этом.

Поверхностный просмотр «PEP 0492 — Coroutines with async and await syntax» поначалу оставил у меня вопрос «Зачем это надо». Сопрограммы удовлетворительно реализуются на расширенных генераторах и на первый взгляд может показаться, что все свелось к замене yield from на await, а декоратора, создающего сопрограмму на async. Сюда можно добавить и возникающее ощущение, что все это сделано исключительно для использования с модулем asyncio.

Но это, конечно же, не так, тема глубже и интереснее.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии26

Кем был Рамануджан?

Время на прочтение38 мин
Количество просмотров104K

Перевод поста Stephen Wolfram "Who Was Ramanujan?".
Выражаю огромную благодарность Полине Сологуб за помощь в переводе и подготовке публикации

Содержание


Удивительное письмо
Начало истории
Кем был Харди?
Письмо и его последствия
Стиль работы Рамануджана
Видеть то, что важно
Истина или объяснение
Переход в Кембридж
Рамануджан в Кембридже
Что было дальше
Что стало с Харди?
Математика Рамануджана
Факты — случайные или нет?
Автоматизация работ Рамануджана
Современные Рамануджаны?
Что было бы, если бы у Рамануджана была Mathematica?
На этой неделе вышел фильм "Человек, который познал бесконечность" (который мне показали еще прошлой осенью Манджул Бхаргава и Кен Оно), так что я не мог не написать о его главном герое — Сринивасе Рамануджане.



Удивительное письмо


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

Около 31 января 1913 года математик по имени Харди из Кембриджа, Англия, получил пакет документов с сопроводительным письмом, которое начиналось так: "Дорогой сэр, хочу представиться вам: я клерк из бухгалтерии порта в Мадрасе с зарплатой £20 в год. Мне 23 года....». И продолжал: писал о том, что достиг «поразительного» прогресса в теории расходящихся рядов по математике и решил давнишнюю проблему распределения простых чисел. Сопроводительное письмо заканчивалось словами: "Я беден; если вы решите, что здесь есть что-нибудь ценное, я хотел бы, чтобы мои теоремы были опубликованы… Я неопытен, и любые ваши советы ценны для меня. Прошу извинить меня за доставленные неудобства. Искренне ваш, с уважением, С. Рамануджан".
Читать дальше о Рамануджане...
Всего голосов 86: ↑79 и ↓7+72
Комментарии58

Онлайн визуализация алгоритмов: жадного, Дейкстры, A* и двунаправленного поиска

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров8K

В прошлых публикациях на Хабре я находил все жилые дома в пешей доступности от входов в метро и МЦК и жилье в 500м от сетевых продуктовых магазинов в Москве.

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

И в этот же день в чате OpenStreetMap RU появляется ссылка на проект honzaap Pathfinding, который визуализирует алгоритмы поиска кратчайшего маршрута и еще делает анимацию по шагам на реальных данных в карте прямо в браузере. Поделюсь с вами примерами визуализаций поиска маршрута для прогулки из Серебряного Бора в Большой театр в Москве.

Читать далее
Всего голосов 22: ↑22 и ↓0+22
Комментарии18

Эконометрическое моделирование трафика: зачем мы изучали влияние дождя и времени года на посещаемость магазинов

Время на прочтение8 мин
Количество просмотров5.5K

Приветствую, Хабр! Моя работа связана с оценкой эффективности различных инициатив бизнеса, а также, в том числе, с прогнозированием спроса и трафика. Я не буду долго и нудно рассказывать, зачем ритейлу подобные прогнозы. Думаю, что тут всё достаточно очевидно. Лучше подробнее расскажу о нашем собственном подходе к моделированию медиа‑эффектов, о том, что у нас получилось, когда мы решили усовершенствовать систему прогноза посещаемости торговых точек, исходя из будущей рекламной активности, ожиданий относительно рекламы конкурентов и влияния прочих факторов.

Читать далее
Всего голосов 7: ↑4 и ↓3+1
Комментарии8

Введение в Чистую архитектуру через 6 кругов рефакторинга

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров43K

Разделяй и влавствуй, или как провести клининг легаси-кода GoLang.

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

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

Что касается подхода к «чистой» архитектуре, описываемого далее, то это симбиоз двух идей: разделение Ports и Adapters, а также контроль за тем, как пакеты ссылаются друг на друга...

Оставь надежду, всяк сюда входящий
Всего голосов 19: ↑15 и ↓4+11
Комментарии4
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность