Pull to refresh
2
0
Send message

Шпаргалка для алгособеса 2 — графовые и строковые алгоритмы

Level of difficultyMedium
Reading time22 min
Views19K

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

В наше неспокойное время, когда сфера AI стремительно движется вперёд, хочется немного стабильности и уверенности в завтрашнем дне. Как это связано с темой статьи?

Самым прямым образом — алгоритмы прокачивают умение системно мыслить, искать нестандартные пути решения; человека, у которого эти скиллы на высоте, вряд ли заменит ИИ. Так что, тратя бесценное время на алгоритмы, вы занимаетесь очень полезным делом, расслабьтесь и получайте удовольствие) В качестве бонуса к прокачиванию серого вещества вы получите сверхспособность пройти любой алгособес в FAANG и удовлетворить любые потребности пирамиды Маслоу — довольно приятно)

В этой статье мы разберём графовые алгоритмы типо DFS, Флойда–Уоршелла и строковые наподобие Ахо-Корасик.

Читать далее
Total votes 41: ↑39 and ↓2+37
Comments35

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

Level of difficultyMedium
Reading time33 min
Views96K

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

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

Читать далее
Total votes 216: ↑214 and ↓2+212
Comments77

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

Level of difficultyEasy
Reading time6 min
Views28K

В основном я учился программированию самостоятельно. Когда у меня появлялась захватывающая идея, я разбирался, что необходимо для решения этой задачи. Например, когда я заинтересовался работой поисковых движков, то начал читать о вычислительной эффективности множеств. Так я обнаружил задачу «как понять, что я уже выполнил краулинг этого URL?», если их уже были тысячи. Чтобы ускорить ответ на этот вопрос, я использовал множество, поиск по которому занимает O(1), а не O(n).

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

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

Я решил составить собственный список проектов, поддерживающих мой интерес к программированию. Это список в стиле серии Challenging projects every programmer should try Остина Хенли.

Читать далее
Total votes 20: ↑19 and ↓1+18
Comments8

Как я внезапно стал «наркоманом» и не прошел СБ в нескольких госбанках

Level of difficultyEasy
Reading time5 min
Views163K

На фоне событий последних лет в РФ, в прошлом году решил я распрощаться с компанией в США, в которой проработал 6 лет. Закрыл ИП, юр. счета.
На фоне заявлений, дескать, сейчас в секторе ИТ кадровый голод, и такие специалисты на "вес золота", я приступил к поиску работы. Ставка была сделана на банковский сектор, т.к. довольно быстро стало понятно, что более менее устраивающие меня ЗП именно там.

Читать далее
Total votes 564: ↑553 and ↓11+542
Comments835

Математика для взрослых. Дорожная карта от выпускника Хармфульского клуба математики

Reading time9 min
Views27K

Математика для взрослых. Дорожная карта от выпускника Хармфульского клуба математики.

(1) Школа. (2) Матанализ. (3) Аналитическая геометрия. (4) Линейная алгебра.

Все плейлисты, материалы, курсы в открытом доступе и бесплатны.

Читать далее
Total votes 25: ↑25 and ↓0+25
Comments18

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

Level of difficultyMedium
Reading time75 min
Views108K

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

Представляю подборку из 100 вопросов с собесов на позицию джуна Python-разработчика. На Хабре есть неплохие статьи на тему подготовки к собеседованию и всё в таком духе, но прямо набора вопросов/ответов на понимание Python в формате чек-листа не встречал.

Для кого статья?

Читать далее
Total votes 56: ↑53 and ↓3+50
Comments55

Береги файлы смолоду. Что может произойти, если выкинуть в помойку неисправный жесткий диск

Level of difficultyEasy
Reading time8 min
Views63K


Время от времени мне приходится чинить старую компьютерную технику. Винчестеры формата IDE сейчас уже не выпускают, а оптические диски выступают в роли расходного материала — далеко не все возрастные ноутбуки и персоналки умеют грузиться с USB, а покупать чистые болванки пачками или поштучно — довольно разорительное занятие. Поэтому месторождением запчастей и расходников для меня служит самая популярная в Рунете доска объявлений и блошиный рынок: там можно приобрести за копейки побывавшие в употреблении перезаписываемые CD/DVD-RW, а заодно старые жесткие диски, которые еще способны послужить новым владельцам. Но речь сейчас не о том, как сэкономить на комплектующих, а о том, что порой можно обнаружить на «бэушных» носителях информации…
Читать дальше →
Total votes 93: ↑90 and ↓3+87
Comments236

Вкатываемся в Machine Learning с нуля за ноль рублей: что, где, в какой последовательности изучить

Level of difficultyEasy
Reading time26 min
Views163K

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

Читать далее
Total votes 159: ↑157 and ↓2+155
Comments49

Скорее жив, чем мёртв: тенденция по развитию iOS технологий

Level of difficultyMedium
Reading time23 min
Views6.6K

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

После 24 февраля 2022 года, события в iOS разработке начали меняться не в лучшую сторону. Приложения "крупных" компаний удаляются из App Store (пример Сбербанк, Альфа банк, ВТБ, Тинькофф). Кажется, что iOS разработчики становятся в России не актуальными, а количество Flutter разработчиков увеличивается. Так что же нас ждет? Неужели придется учить Kotlin, или вообще уходить в C++?

Читать далее
Total votes 18: ↑17 and ↓1+16
Comments4

Как работает компьютер: глубокое погружение (на примере Linux)

Level of difficultyHard
Reading time48 min
Views133K



Введение


Я делала много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думала об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовала системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?


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


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


Более удобный формат статьи.

Читать дальше →
Total votes 152: ↑152 and ↓0+152
Comments36

Почему любимая работа не даст вам того, чего вы на самом деле от нее ждете

Level of difficultyEasy
Reading time6 min
Views30K

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

Читать далее
Total votes 60: ↑42 and ↓18+24
Comments125

Мой «Евротур» по сектам: путешествие в один конец?

Level of difficultyEasy
Reading time28 min
Views100K

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

И течение трех лет я целенаправленно ходил во все места, где меня могли обмануть или сломать, ввести в заблуждение, разрушить мою личность и вовлечь в незаконную деятельность. Я внимательно слушал, записывал и даже иногда срывал занятия. Это мой «Евротур» и моя исповедь диверсанта. А в конце вас ждет бонусная история от февраля 2022 года, которая связана с манипуляцией и давлением, но уже не со стороны сект ;)

Очень долго читать
Total votes 394: ↑381 and ↓13+368
Comments324

Где решать задачи по программированию, чтобы пройти путь from zero to hero

Level of difficultyEasy
Reading time4 min
Views101K

Если вам о чём-то говорят фамилии Зив, Хомченко и Рымкевич, иди сюда, дай обниму, бедолага-олимпиадник, то вы наверняка знаете, как важно прорешивать задачи для полноценного, осознанного и глубокого понимания изученного материала. Когда нет или совсем мало реальной практики, задачи дают возможность покрыть практикой все теоретические знания, погрузиться в неожиданные выводы, сложности, баги, препятствия. Более того, даже если практики достаточно, задачи помогают относительно быстро, комплексно и глубоко проработать типичные и нетипичные ситуации, возникающие в разработке (любой другой науке). Это всегда безопасный (никто не взрывает лабораторию и не роняет прод), доступный и удобный способ подробно разобраться в предмете. Определённо, программирования это касается в первую очередь.

Читать далее
Total votes 67: ↑66 and ↓1+65
Comments25

GPT-4: Чему научилась новая нейросеть, и почему это немного жутковато

Level of difficultyEasy
Reading time23 min
Views242K

В этой статье мы разберем новые удивительные способности последней языковой модели из семейства GPT (от понимания мемов до программирования), немного покопаемся у нее под капотом, а также попробуем понять – насколько близко искусственный интеллект подошел к черте его безопасного применения?

Поехали →
Total votes 208: ↑200 and ↓8+192
Comments338

Теория вероятностей в машинном обучении. Часть 2: модель классификации

Reading time14 min
Views13K

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

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

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

Данная серия статей не является введением в машинное обучение и предполагает знакомство читателя с основными понятиями. Задача статей - рассмотреть машинное обучение с точки зрения теории вероятностей, что позволит по новому взглянуть на проблему, понять связь машинного обучения со статистикой и лучше понимать формулы из научных статей. Также на описанном материале строятся более сложные темы, такие как вариационные автокодировщики (Kingma and Welling, 2013), нейробайесовские методы (Müller et al., 2021) и даже некоторые теории сознания (Friston et al., 2022).

Читать далее
Total votes 29: ↑29 and ↓0+29
Comments2

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

Reading time13 min
Views115K

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

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

Читать далее
Total votes 186: ↑184 and ↓2+182
Comments221

Как правильно готовиться к ШАД

Reading time4 min
Views34K

Я, Александр Лыков, кандидат физико-математических наук на мехмате МГУ и уже несколько лет я готовлю своих студентов к ШАД. В этой статье я решил разобрать наиболее важные моменты при подготовке к экзамену.

Читать далее
Total votes 23: ↑14 and ↓9+5
Comments6

Собирайте свои достижения

Reading time5 min
Views12K

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

Во-первых, в сложные годы особенно остро встаёт вопрос «а кто я?». Спрашиваешь себя: «Я вообще профессионал? Я что-то могу?» Многие начали искать работу на новых для себя рынках и, соответственно, задаваться вопросом — а нужны ли мы там?

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

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

Читать далее
Total votes 32: ↑31 and ↓1+30
Comments6
1
23 ...

Information

Rating
Does not participate
Works in
Registered
Activity

Specialization

Data Scientist, Data Engineer