Как стать автором
Обновить
2
0

Пользователь

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

Улучшаем свой код на Python

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

Жизнь — это бесконечное совершенствование. Считать себя совершенным — значит убить себя. (Георг Гегель)

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

для начинающих специалистов - подглядеть пару конструкций

для среднеопытных - порадовать свою самооценку

Читать далее
Всего голосов 23: ↑20 и ↓3+17
Комментарии27

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

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

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

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

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

Что (и как!) послушать, посмотреть и почитать IT-специалисту, чтобы подтянуть английский

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

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

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

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

Сказ о том, как я за год решил более 600 leetcode задач

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

Всем салют!

Хочу рассказать вам историю о том, как я начинал с уровня — «не могу решить даже 1 easy задачу из 10» до уровня — «могу решить каждую вторую medium задачу» и прошел несколько coding сессий в таких компаниях как Meta, Booking, Careem, Avito...

Читать далее
Всего голосов 150: ↑141 и ↓9+132
Комментарии407

Фильтр Блума для эффективной синхронизации хеш-графов

Время на прочтение8 мин
Количество просмотров3.4K
В одном из совместных исследований нам с Хайди требовалось решить такую задачу. Допустим, нам требуется синхронизировать между двумя узлами хеш-граф, например, как в репозитории Git. В Git каждый коммит идентифицируется через соответствующий ему хеш, причём, в коммит могут включаться хеши коммитов-предшественников (то есть, конкретный коммит может содержать более одного хеша, если он получен слиянием). Мы хотели получить минимальное множество таких коммитов, которыми должны обменяться два узла, чтобы их графы получились одинаковыми.

Вы могли бы спросить: «а разве эта задача ещё не решена»? Git приходится выполнять такую операцию всякий раз, когда вы направляете ему команду git pull или git push! Да, так и есть, и некоторые случаи довольно просты, но другие гораздо сложнее. Более того, тот алгоритм, что используется в Git, не слишком хорошо документирован – в общем, мы полагали, что у нас может получиться лучше.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Мой опыт собеседования в Google [оффер на L5]

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

Предупреждение: я не смогу привести в статье конкретные вопросы из-за подписанного соглашения о неразглашении (NDA).

Работая в лондонском офисе Facebook в команде Instagram*, я начал задумываться о возвращении в Индию. В ноябре 2022 года со мной связался рекрутер Google. Он сообщил об открытии в Бангалоре должности уровня L5 и спросил, интересно ли мне это.

Так как я уже раздумывал о переезде в Индию, то ранее собеседовался в Google, но мне предложили более низкую должность (L4), чем я хотел; потом я устроился в META* на уровень E5.

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

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

На этот раз в процессе подготовки возникла уникальная для меня сложность — счастливое пополнение в моей семье, дочка. За моё внимание боролись подгузники и кодинг, было очень сложно выделить время на сосредоточенную подготовку! У меня было примерно 25-30 дней на освоение и искусства ухода за ребёнком, и прохождения собеседования.
Читать дальше →
Всего голосов 90: ↑86 и ↓4+82
Комментарии95

О динамическом программировании на пальцах

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

Как динамическое программирование может упростить нашу жизнь? Как можно оптимизировать решение задач?

Сегодня мы разберем динамическое программирование на пальцах с примерами на Python!

Усаживайтесь поудобнее, леди и джентльмены!

Вперед!
Всего голосов 24: ↑19 и ↓5+14
Комментарии17

System Design 101

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



О сложных системах простыми словами.


В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы — рекомендую уделить им пристальное внимание. Полагаю, шпаргалка будет интересна всем, кто хоть как-то связан с разработкой программного обеспечения и, прежде всего, веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий, терминологии, логики/алгоритмов работы систем (в рамках того, что по этому поводу содержится в оригинале), а также в обнаружении очепяток.


Выражаю благодарность Анне Неустроевой за помощь в редактировании материала.


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


System Design (сборник на английском языке).

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

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

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

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

Читать далее
Всего голосов 67: ↑66 и ↓1+65
Комментарии25

Мой опыт переезда в Лондон. Часть 2. Собеседования в FAANG

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

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

Читать далее
Всего голосов 26: ↑24 и ↓2+22
Комментарии5

Scala Digest. Выпуск 1

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

Привет, Хабр! Мы — @Melkaya_150cm, @Ivoya и @tcarina — бэкенд-разработчики Тинькофф, пишем код на Scala и горим желанием заниматься его популяризацией. 

Мы собираем и агрегируем новости из разных источников, включая Scala Times, блог Petr Zapletal и канал Scala Nishtyaki, добавляем дополнительные новости и собственные комментарии. Свою мотивацию мы черпаем из желания развиваться и делиться полученными знаниями. Приветствуем любую обратную связь! (づ ◕‿◕ )づ

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

План алгоритмического собеседования: как впечатлить интервьюера и получить работу мечты

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

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

Я за свою карьеру имел возможность быть по обе стороны баррикад. С одной стороны я провёл сотни алгоритмических интервью в компаниях, где работал. С другой стороны сам успешно проходил такие интервью и получал оффер в Google, Facebook, Amazon, Uber, Yandex и Mail.Ru.

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

Читать далее
Всего голосов 30: ↑28 и ↓2+26
Комментарии17

Создаем свой собственный язык программирования с использованием LLVM. Часть 1: Лексический и синтаксический анализ

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

Это первая статья из цикла о том, как создать свой собственный ООП язык программирования с использованием LLVM.

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

Читать далее
Всего голосов 52: ↑50 и ↓2+48
Комментарии16

Функциональный поиск событий с помощью cats-effect

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

Достижение максимальной выразительности и абстракции домена при сохранении точности протокола актора с помощью библиотеки endless4s Scala.

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

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

Структуры данных Java #неОпятьАСнова #javaJunior

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

Эта статья, как и все последующие – моя попытка структурировать полученные знания в процессе изучения Java. Здесь тезисно собрана вся основная информация по теме и те формулировки, которые показались мне наиболее удачными и понятными.
Это мой конспект, если хотите.

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

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

Глубокое погружение в Java Memory Model

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


Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме.


В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.

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

Кинотерапия — более 150 фильмов, которые пересматривают

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

Фильмы - это лекарство для психики. Что включается у нас в голове, когда мы смотрим фильм? Возможно превратить просмотр кино в индивидуальную психотерапию?

Для начала отделим мух от котлет. Психолог, психотерапевт, психиатр и невролог чем они отличаются? Самое простое отличие в том, что психолог не является врачом. Психотерапевт, психиатр и невролог - это врачи.

Читать далее
Всего голосов 54: ↑30 и ↓24+6
Комментарии141

Властелин структур

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

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

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

15 Open Source библиотек для повышения качества данных

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

Автор этого материала — программист и ML-инженер — собрала Open Source библиотеки Python, которые помогут вам сделать данные лучше, чтобы избежать траты времени и упростить анализ данных. Подборкой делимся к старту курса по анализу данных.

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

Scala: Гексагональная архитектура и DDD на Free Monad в функциональном программировании

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

Привет Хабр! Пятничного тру ФП хардкора с Free Monad, Таглес Финал, Монад трансформерами, Refined Types, Smart Constructors и прочим таким вам в ленту. Хардкор сам себя в ленту не принесет так что погнали.

Гексагональная архитектура делит наш код на три основные части.

1) Primary Adapters,

2) Secondary Adapter

3) Logic aka Domain.

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

Информация

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