Первое место работы
Первая работа как и первая любовь – вещи которые не забудешь никогда. Они почти всегда далеки от идеала, но эмоциональная отдача — максимальная. Я до сих пор помню свои ощущения, когда впервые зашел в офис своей первой компании.
Для меня, тогда ещё "зелёного" студента, мечтающего попасть в IT, это была буквально дверь в Нарнию. Куча людей за компьютерами: кто-то пишет код, кто-то обсуждает задачи, кто-то проверяет стенды на стенах (о них чуть позже). Одного взгляда на всё это было достаточно, чтобы понять – я должен приложить все усилия, чтобы попасть сюда.
Это была небольшая томская контора, которая делала медиакомплексы для автобусов и электричек. Те, кто живёт в Москве или Питере, возможно, даже замечали эти "телики", показывающие маршрут, погоду и новости. Многие думают, что это просто заранее записанное видео, но на самом деле всё устроено куда интереснее.
Медиакомплекс — по сути, машина под Linux, на экране которой на полный экран открыт браузер. Браузер ходит на локальный сервер за данными, а тот через MQ связывается с сервером контента. Локальный бэк подключается к "материнскому кораблю", чтобы обновить информацию.
Я пришёл туда на позицию полутестера–полуразработчика на Java. За год работы там было всё:
👉 Абсолютно безумный гендир, который раз в месяц залетал с идеями вроде: «А давайте сделаем приложение, чтобы пассажиры могли менять подсветку в автобусе».
👉 Самый саркастичный архитектор за всю мою карьеру — смысл советов которого до меня доходит только сейчас.
👉 Проектировщик интерфейсов, который вейпил, крутил спиннеры, делал свою настойку, и я клянусь — я ждал, когда он приедет в офис на гироскутере.
👉 Фронтендер с личным стилистом, который подкатывал ко всему, что движется.
👉 Тестировщик, который блять, оставил у себя Кольцо Всевластия, потому что вообще не стареет, и с которым мы каждый час ходили на турник.
👉 HR, которая при увольнении пугала тем, что занесёт в «чёрный список», и тогда тебя вообще больше нигде не возьмут на работу.
👉 Главный бухгалтер, которая в свои 40 лет выглядела так, что поднимала настроение (и не только) у всего мужского коллектива.
И при всей своей всратости условий — я всё равно вспоминаю эту работу с какой-то ностальгической теплотой.
Первая работа как и первая любовь – вещи которые не забудешь никогда. Они почти всегда далеки от идеала, но эмоциональная отдача — максимальная. Я до сих пор помню свои ощущения, когда впервые зашел в офис своей первой компании.
Для меня, тогда ещё "зелёного" студента, мечтающего попасть в IT, это была буквально дверь в Нарнию. Куча людей за компьютерами: кто-то пишет код, кто-то обсуждает задачи, кто-то проверяет стенды на стенах (о них чуть позже). Одного взгляда на всё это было достаточно, чтобы понять – я должен приложить все усилия, чтобы попасть сюда.
Это была небольшая томская контора, которая делала медиакомплексы для автобусов и электричек. Те, кто живёт в Москве или Питере, возможно, даже замечали эти "телики", показывающие маршрут, погоду и новости. Многие думают, что это просто заранее записанное видео, но на самом деле всё устроено куда интереснее.
Медиакомплекс — по сути, машина под Linux, на экране которой на полный экран открыт браузер. Браузер ходит на локальный сервер за данными, а тот через MQ связывается с сервером контента. Локальный бэк подключается к "материнскому кораблю", чтобы обновить информацию.
Я пришёл туда на позицию полутестера–полуразработчика на Java. За год работы там было всё:
👉 Абсолютно безумный гендир, который раз в месяц залетал с идеями вроде: «А давайте сделаем приложение, чтобы пассажиры могли менять подсветку в автобусе».
👉 Самый саркастичный архитектор за всю мою карьеру — смысл советов которого до меня доходит только сейчас.
👉 Проектировщик интерфейсов, который вейпил, крутил спиннеры, делал свою настойку, и я клянусь — я ждал, когда он приедет в офис на гироскутере.
👉 Фронтендер с личным стилистом, который подкатывал ко всему, что движется.
👉 Тестировщик, который блять, оставил у себя Кольцо Всевластия, потому что вообще не стареет, и с которым мы каждый час ходили на турник.
👉 HR, которая при увольнении пугала тем, что занесёт в «чёрный список», и тогда тебя вообще больше нигде не возьмут на работу.
👉 Главный бухгалтер, которая в свои 40 лет выглядела так, что поднимала настроение (и не только) у всего мужского коллектива.
И при всей своей всратости условий — я всё равно вспоминаю эту работу с какой-то ностальгической теплотой.
1😁47❤25🥰4👍3
Detekt
Кто-нибудь заглядывал в исходники Detekt? Если вы этого не делали, то я рекомендую заглянуть туда хотя бы одним глазком, потому что это реально произведение искусства. В репозитории — просто кладезь крутых подходов: как работать с Gradle, с Classloader, с Serviceloader, и как правильно проводить архитектурные границы. Помимо этого есть примеры того, как писать тесты на Gradle плагин.
Все привыкли воспринимать Detekt как плагин для Gradle. Вы замечали, что у него довольно странная инициализация? Сначала нужно установить плагин, а затем отдельно указать версию Detekt. Возникает вопрос — нахера? Я же уже установил плагин, почему я должен ещё раз указывать версию?
Если посмотреть на первые коммиты, то Detekt изначально не имел ничего общего с Gradle — он создавался просто как CLI. И до сих пор его можно использовать без Gradle. Без Gradle будет геморойнее настроить работу, но зато не будем тратить время на конфигурацию.
Фишка в том, что весь плагин Detekt для Gradle сводится к тому, чтобы просто вызывать CLI-версию с информацией, которую мы прописываем через Gradle-плагин. Другими словами, плагин Detekt для Gradle — это просто платформа, которая скачивает CLI и затем его вызывает. Именно поэтому и получается такая странная инициализация: она позволяет изменять версию Detekt без изменения версии самого плагина.
Когда мне нужно сделать плагин для Gradle для решения какой-то задачи, я сначала пытаюсь сделать обычный CLI. Его в разы проще разрабатывать, отлаживать и тестировать. А уже потом, если действительно нужна информация, доступная только Gradle (например, граф зависимостей или расположение исходников), я оборачиваю CLI в Gradle-плагин.
Кто-нибудь заглядывал в исходники Detekt? Если вы этого не делали, то я рекомендую заглянуть туда хотя бы одним глазком, потому что это реально произведение искусства. В репозитории — просто кладезь крутых подходов: как работать с Gradle, с Classloader, с Serviceloader, и как правильно проводить архитектурные границы. Помимо этого есть примеры того, как писать тесты на Gradle плагин.
Все привыкли воспринимать Detekt как плагин для Gradle. Вы замечали, что у него довольно странная инициализация? Сначала нужно установить плагин, а затем отдельно указать версию Detekt. Возникает вопрос — нахера? Я же уже установил плагин, почему я должен ещё раз указывать версию?
Если посмотреть на первые коммиты, то Detekt изначально не имел ничего общего с Gradle — он создавался просто как CLI. И до сих пор его можно использовать без Gradle. Без Gradle будет геморойнее настроить работу, но зато не будем тратить время на конфигурацию.
Фишка в том, что весь плагин Detekt для Gradle сводится к тому, чтобы просто вызывать CLI-версию с информацией, которую мы прописываем через Gradle-плагин. Другими словами, плагин Detekt для Gradle — это просто платформа, которая скачивает CLI и затем его вызывает. Именно поэтому и получается такая странная инициализация: она позволяет изменять версию Detekt без изменения версии самого плагина.
Когда мне нужно сделать плагин для Gradle для решения какой-то задачи, я сначала пытаюсь сделать обычный CLI. Его в разы проще разрабатывать, отлаживать и тестировать. А уже потом, если действительно нужна информация, доступная только Gradle (например, граф зависимостей или расположение исходников), я оборачиваю CLI в Gradle-плагин.
🔥42👍5❤1
Итак, сплав
Каждый год, в середине лета мы с коллегами, летим в Пермь. Куча айтишников собирается в месте, грузится на плоты и сплавляется по реке в дали от цивилизации. Чего только не сделаешь, чтобы убежать от злоебучих созвонов!
Как это присходит: мы летим в Пермь в четверг, затем в пятницу утром мы грузимся в автобус и фигачим 4-5 часов в глушь. После берем свои вещи, упаковываем в гермомешки, грузим их на плоты и гребем по реке до вечера. Если вы работали в аутсорсе, для вас ничего необычного.
Вечером мы ставим палатки (иногда сами, иногда это делают организаторы), тусим у костра до ночи в пьяном угаре. Ночуем в палатках, утром собираем вещи, опять плот, опять гребем до вечера. Затем опять костер, палатки.
Утром грузимся, плывем до обеда. Доплываем до места, где нас забирает автобус, и едем обратно в Пермь. Если повезет даже без солнечных ожогов, пневмонии и укусов клеща.
Обычно все идет по такому сценарию, но не в этом году. Как минимум, произошло три знаменательных события:
Первое: я принес свой телефон в жертву Посейдону, не без помощи бесоебства человека, который был со мной на плоту. В этом году я забыл про главное правило сплава: "все, что есть на плоту, может оказаться под водой в любой момент времени"
Второе: потянул лодыжку, играя во фрисби на мокрой траве. В итоге за лето я себе уже вьебал плечо и ногу, если так пойдет дальше, к концу лета я буду в коляске
Третье: мы заспидранили сплав, закончив его на второй день, вместо третьего. На справе было слишком много эффективных менеджеров. От такого мува ахуели все, особенно организаторы...
В итоге активность 10/10, но не рекомендую если вы в своем уме)
Каждый год, в середине лета мы с коллегами, летим в Пермь. Куча айтишников собирается в месте, грузится на плоты и сплавляется по реке в дали от цивилизации. Чего только не сделаешь, чтобы убежать от злоебучих созвонов!
Как это присходит: мы летим в Пермь в четверг, затем в пятницу утром мы грузимся в автобус и фигачим 4-5 часов в глушь. После берем свои вещи, упаковываем в гермомешки, грузим их на плоты и гребем по реке до вечера. Если вы работали в аутсорсе, для вас ничего необычного.
Вечером мы ставим палатки (иногда сами, иногда это делают организаторы), тусим у костра до ночи в пьяном угаре. Ночуем в палатках, утром собираем вещи, опять плот, опять гребем до вечера. Затем опять костер, палатки.
Утром грузимся, плывем до обеда. Доплываем до места, где нас забирает автобус, и едем обратно в Пермь. Если повезет даже без солнечных ожогов, пневмонии и укусов клеща.
Обычно все идет по такому сценарию, но не в этом году. Как минимум, произошло три знаменательных события:
Первое: я принес свой телефон в жертву Посейдону, не без помощи бесоебства человека, который был со мной на плоту. В этом году я забыл про главное правило сплава: "все, что есть на плоту, может оказаться под водой в любой момент времени"
Второе: потянул лодыжку, играя во фрисби на мокрой траве. В итоге за лето я себе уже вьебал плечо и ногу, если так пойдет дальше, к концу лета я буду в коляске
Третье: мы заспидранили сплав, закончив его на второй день, вместо третьего. На справе было слишком много эффективных менеджеров. От такого мува ахуели все, особенно организаторы...
В итоге активность 10/10, но не рекомендую если вы в своем уме)
1🔥46😁28❤5👍3🤡2🗿1
Пришло время сделать новый закреп.
Количество людей в канале понемногу растёт, поэтому пара строк о том, что это вообще за канал. Пишу я про разработку в целом: про собесы, технологии, личный опыт и качалку.
Это канал про разработку для тех, кто устал от беззубых душнил, корпоративных блогов или ребят, которые падают в обморок при виде мата в тексте.
Истории с собесов:
👉 Самый забавный собес в моей карьере
👉 Собес в Авито
👉 Собес в Aliexpress
👉 Советы по прохождению алго-секции
👉 Как уменьшить волнение перед собесом
Истории и рофлы:
👉 Мой каминг-аут
👉 Про первое место работы
👉 Как я попал в инфру
👉 Какого это работать в БигТехе
👉 Приключения мобильного разраба в мире инфры
Для любителей сериалов:
👉 Про CI
👉 Про тесты
👉 Про DI
Немного базы про разработку:
👉 База программирования в одном посте
👉 Советы, как не проебаться в работе
👉 Как я навайбкодил синтаксический анализ
👉 Оцениваем сроки
👉 Что такое архитектура
👉 Разгоняем про логи
👉 В IT нет научного подхода
Boost канала для неравнодушных
Количество людей в канале понемногу растёт, поэтому пара строк о том, что это вообще за канал. Пишу я про разработку в целом: про собесы, технологии, личный опыт и качалку.
Это канал про разработку для тех, кто устал от беззубых душнил, корпоративных блогов или ребят, которые падают в обморок при виде мата в тексте.
Истории с собесов:
👉 Самый забавный собес в моей карьере
👉 Собес в Авито
👉 Собес в Aliexpress
👉 Советы по прохождению алго-секции
👉 Как уменьшить волнение перед собесом
Истории и рофлы:
👉 Мой каминг-аут
👉 Про первое место работы
👉 Как я попал в инфру
👉 Какого это работать в БигТехе
👉 Приключения мобильного разраба в мире инфры
Для любителей сериалов:
👉 Про CI
👉 Про тесты
👉 Про DI
Немного базы про разработку:
👉 База программирования в одном посте
👉 Советы, как не проебаться в работе
👉 Как я навайбкодил синтаксический анализ
👉 Оцениваем сроки
👉 Что такое архитектура
👉 Разгоняем про логи
👉 В IT нет научного подхода
Boost канала для неравнодушных
👍21🔥1
Dev Easy Notes pinned «Пришло время сделать новый закреп. Количество людей в канале понемногу растёт, поэтому пара строк о том, что это вообще за канал. Пишу я про разработку в целом: про собесы, технологии, личный опыт и качалку. Это канал про разработку для тех, кто устал от…»
Forwarded from Get Rejected
Наблюдаю что почти каждый день у меня появляются новые просмотры/репосты и реакции на старых постах. Количество просмотров бешенное.
Хотел бы немного подсветить о чем канал, чтобы как можно больше людей изучили рынок.
Канал посвящен прохождению интервью в различные компании в РФ и на зарубежном рынке.
На данный момент в канале предcтавлены ~150 интервью в различные компании:
1. Различный Big Tech: WB , Sber, SberHealth, СберТехнологии(Gigachat) , Яндекс , Яндекс Head , Ozon , МТС
2. Банки: Иннотех, Иннотех , Еще иннотех , Альфа Technical Leader , АК Барс
3. Различные компании: Газпром, RuTube
4. Зарубежные компании: Nebius (Яндекс), Qatar Insurance Company , Jetbrains , Jetbrains , Exness, Plata (Ex-tinkoff) , Salmon (ex-tinkoff Manila) ,
TON , Staking Facilities , Constructor
И многие другие...
Так же для тех кто любит почитать:
1. Как зарабатывают 1 млн в найме обычные Senior'ы и Middle?
2. Теория больших денег или как выбивать огромные ЗП:
Часть 2 и Часть 3
3. Статистика по собеседованиям : Отклики и конвертация в собесы
4. Зарплаты в ИТ в 2025 : опрос более 300 анкет
Консультации: условия
Блок Полезные ссылки для собеседований и работы:
Конспекты:
1. Apache Spark
2. Clickhouse
3. Greenplum
4. DWH+Hadoop+Kubernetes
5. Задачки с собесов
6. Lakehouse Conspects
Boost канала
Хотел бы немного подсветить о чем канал, чтобы как можно больше людей изучили рынок.
Канал посвящен прохождению интервью в различные компании в РФ и на зарубежном рынке.
На данный момент в канале предcтавлены ~150 интервью в различные компании:
1. Различный Big Tech: WB , Sber, SberHealth, СберТехнологии(Gigachat) , Яндекс , Яндекс Head , Ozon , МТС
2. Банки: Иннотех, Иннотех , Еще иннотех , Альфа Technical Leader , АК Барс
3. Различные компании: Газпром, RuTube
4. Зарубежные компании: Nebius (Яндекс), Qatar Insurance Company , Jetbrains , Jetbrains , Exness, Plata (Ex-tinkoff) , Salmon (ex-tinkoff Manila) ,
TON , Staking Facilities , Constructor
И многие другие...
Так же для тех кто любит почитать:
1. Как зарабатывают 1 млн в найме обычные Senior'ы и Middle?
2. Теория больших денег или как выбивать огромные ЗП:
Часть 2 и Часть 3
3. Статистика по собеседованиям : Отклики и конвертация в собесы
4. Зарплаты в ИТ в 2025 : опрос более 300 анкет
Консультации: условия
Блок Полезные ссылки для собеседований и работы:
Конспекты:
1. Apache Spark
2. Clickhouse
3. Greenplum
4. DWH+Hadoop+Kubernetes
5. Задачки с собесов
6. Lakehouse Conspects
Boost канала
❤4
Топ 3 мифа, веря в которые вы гарантировано проебетесь по жизни:
👉 Хороший продукт/блог сам себя продаст
👉 Хорошего работника сами заметят и продвинут
👉 Любовь сама себя найдет
Вам разумеется может повезти, но если вы в своей стратегии полагаетесь на удачу, то вы лудоман!
👉 Хороший продукт/блог сам себя продаст
👉 Хорошего работника сами заметят и продвинут
👉 Любовь сама себя найдет
Вам разумеется может повезти, но если вы в своей стратегии полагаетесь на удачу, то вы лудоман!
🔥43👍13❤5👎1
Итак, погода.
Короче город дождей этим летом вообще не оправдывает свою репутацию. Ощущение такое, что на фоне уже должен играть Мик Гордон.
У меня от этого пекла IQ пунктов на 20 упал. Вы можете возразить, что IQ не может быть отрицательным, однако пока посты пишутся так себе)
Короче город дождей этим летом вообще не оправдывает свою репутацию. Ощущение такое, что на фоне уже должен играть Мик Гордон.
У меня от этого пекла IQ пунктов на 20 упал. Вы можете возразить, что IQ не может быть отрицательным, однако пока посты пишутся так себе)
Смотрите, я провожу алгособесы, сам от них не в восторге. Проходить алгоритмическую секцию так же приятно, как поплавать в реке с камнем, привязанным к ноге. Однако учитывая ситуацию на рынке, при собесе в Big Tech вы с очень большой вероятностью нарвётесь на эту секцию.
Часто разработчики, которые никогда этим не интересовались, сразу впадают в ступор и не знают даже, как подступиться к easy-задаче. Я прям это на практике наблюдаю – там каждый второй начинает плыть.
При этом почти у каждой алгозадачи есть шаблон, применив который, вы, если и не решите задачу сразу, то хотя бы значительно продвинетесь в решении.
Вот парочка самых простых шаблонов:
Два указателя – часто задача просто решается, если идти не одним указателем по списку от начала до конца, а двумя. Движение у них может быть разное: один идёт с начала, а второй – с конца; один идёт по элементам, а второй – через элемент; или же они двигаются независимо по определённому условию. Пример задачи.
Скользящее окно – по сути, продолжение идеи двух указателей, только используется в случае, когда нужно получить какой-то подмассив с определённым свойством: например, чтобы была заданная сумма или количество уникальных элементов. Пример задачи.
Поиск в глубину / ширину – делал про это пост, там всё не так сложно, как кажется. Пример задачи.
Backtracking – вот это уже более хардовый шаблон. Полностью его тут не раскрою, но хотя бы по верхам, а дальше сами загуглите.
Смысл в том, чтобы перебрать все возможные варианты через рекурсию – но не в тупую, а по шагам: добавляем элемент в коллекцию, затем рекурсивно вызываем сами себя и в процессе проверяем – если текущее решение невалидно, откатываемся назад.
Понимаю, выглядит как дичь, но если хотите прям проникнуться, то попробуйте решить вот эту задачу – или хотя бы посмотрите её решение.
Часто разработчики, которые никогда этим не интересовались, сразу впадают в ступор и не знают даже, как подступиться к easy-задаче. Я прям это на практике наблюдаю – там каждый второй начинает плыть.
При этом почти у каждой алгозадачи есть шаблон, применив который, вы, если и не решите задачу сразу, то хотя бы значительно продвинетесь в решении.
Вот парочка самых простых шаблонов:
Два указателя – часто задача просто решается, если идти не одним указателем по списку от начала до конца, а двумя. Движение у них может быть разное: один идёт с начала, а второй – с конца; один идёт по элементам, а второй – через элемент; или же они двигаются независимо по определённому условию. Пример задачи.
Скользящее окно – по сути, продолжение идеи двух указателей, только используется в случае, когда нужно получить какой-то подмассив с определённым свойством: например, чтобы была заданная сумма или количество уникальных элементов. Пример задачи.
Поиск в глубину / ширину – делал про это пост, там всё не так сложно, как кажется. Пример задачи.
Backtracking – вот это уже более хардовый шаблон. Полностью его тут не раскрою, но хотя бы по верхам, а дальше сами загуглите.
Смысл в том, чтобы перебрать все возможные варианты через рекурсию – но не в тупую, а по шагам: добавляем элемент в коллекцию, затем рекурсивно вызываем сами себя и в процессе проверяем – если текущее решение невалидно, откатываемся назад.
Понимаю, выглядит как дичь, но если хотите прям проникнуться, то попробуйте решить вот эту задачу – или хотя бы посмотрите её решение.
🔥31 15👍7❤5😁1
Я уже довольно давно не позиционирую свой канал как блог исключительно про Android-разработку. Почти год я пишу про разработку в целом – про бэк, фронт, мобилку, наверное даже начну писать про DS.
При этом большая часть людей, которые меня читают, подписались именно тогда, когда я писал только про Android.
Поэтому, по старой памяти, хочу рассказать вам про вот такую папочку с блогами именно про Android-разработку – возможно, кого-то из вас это заинтересует.
При этом большая часть людей, которые меня читают, подписались именно тогда, когда я писал только про Android.
Поэтому, по старой памяти, хочу рассказать вам про вот такую папочку с блогами именно про Android-разработку – возможно, кого-то из вас это заинтересует.
🔥14👍5
Вообще мой интерес к сфере data science обусловлен тем, что есть дикое желание заниматься сексом с моделями. Но в этом стремлении есть нюансы...
Я смотрю вам прям заходят реакции с Патриком, я могу их больше добавить (сейчас только две доступно) если вы забустите канал, истории я не делаю, так что не волнуйтесь)
1 45 9 7 6🤡5😁2
Вас 3к, наконец-то, новая точка пройдена. Оказывается если сильно не душнить и коллабиться с другими, канал начинает быстро расти, кто-бы мог подумать...
Всех обнял❤️
Всех обнял
Please open Telegram to view this post
VIEW IN TELEGRAM
4 36🥰20 13❤6 3 3 3😁2
Мне кажется, самые успешные люди в знакомствах — это маркетологи. У них на подкорке зашита программа работы с отказами и выстраивания воронки, которая позволяет не париться из-за отдельных неудач.
У меня, как у разработчика, пока так не получается. Я очень благодарен технике apple за то, что у их клавиатуры нет проводов — потому что пару раз уже хотелось сделать себе из них петлю.
У меня, как у разработчика, пока так не получается. Я очень благодарен технике apple за то, что у их клавиатуры нет проводов — потому что пару раз уже хотелось сделать себе из них петлю.
😁42 15🤡9🔥3❤1🗿1
Девачки, я сегодня понял, почему вы жалуетесь на то, что парни не понимают намёков. Убедился на собственном опыте.
Сегодня проводил алгоритмическую секцию. Кандидат довольно бодро решил первую задачу, но на второй прям поплыл. Я как мог пытался подсказать, как её решить, но все мои намёки воспринимались, сука, диаметрально противоположно.
Буквально происходило следующее:
– Чел, иди на север.
Он: «О, точно, я понял! Нужно хуярить в Сызрань» 🤦♂️
Короче, если даже намеки по решению задачи мы воспринимаем плохо, то с отношениями вообще аминь.
Сегодня проводил алгоритмическую секцию. Кандидат довольно бодро решил первую задачу, но на второй прям поплыл. Я как мог пытался подсказать, как её решить, но все мои намёки воспринимались, сука, диаметрально противоположно.
Буквально происходило следующее:
– Чел, иди на север.
Он: «О, точно, я понял! Нужно хуярить в Сызрань» 🤦♂️
Короче, если даже намеки по решению задачи мы воспринимаем плохо, то с отношениями вообще аминь.
😁68 13🤡8🤔3🗿1 1
Услышал сегодня короную фразу от devops: "Все что произошло в облаке, остается в облаке". Ведь эта херня не воспроизводится локально, вне облака!
😁28❤4
Понедельник. Схуяли ли тишина такая? Ну-ка проснулись! Сейчас я продолжу душнить про алгособесы.
В дополнение к шаблонам я хотел накидать ещё пару своих авторских советов, которые могут пригодиться.
Не пытайтесь делать всё в одном цикле. Есть лайфхак, который работает для многих задач: разделите задачу на две части. Одну часть решаете в одном цикле, вторую — в другом. Сложность всё равно останется O(n), но решение может стать в разы проще. Многие погибли на пути построения жутких условий, чтобы сделать всё "красиво" в одном проходе.
Иногда лучше идти не с начала, а с конца массива. Для части задач это избавляет от необходимости в дополнительной памяти.
Набрасывайте тест-кейсы до начала решения. 90% кандидатов, едва взглянув на условие, сразу бросаются в бой. Где-то на середине выясняется, что задачу они поняли неправильно, а ещё есть пара корнер-кейсов, из-за которых всё ломается...
Лучше потратить немного времени на проработку кейсов (прям пишите вот это на вход, это на выход, чтобы все было перед глазами) и требований перед тем, как писать код — это реально может спасти. Кстати, и в работе отличный совет!
Пишите алгоритмы на Python. Я реально считаю, что Python создан для алгоритмической секции. Во-первых, код выглядит невероятно просто, как будто описание алгорима. Во-вторых, куча конструкций языка просто невероятно удобны. Каждый раз жалко JS-разрабов, которые дублируют строку через цикл. В Python это один оператор.
Повторите школьную программу. Например формулу суммы последовательностей, есть прям пласт задач где это может все упросить в разы. Из алгоритмов, которые реально стоит выучить — бинарный поиск. Он простой и при этом есть прям много задач на его вариацию.
В дополнение к шаблонам я хотел накидать ещё пару своих авторских советов, которые могут пригодиться.
Не пытайтесь делать всё в одном цикле. Есть лайфхак, который работает для многих задач: разделите задачу на две части. Одну часть решаете в одном цикле, вторую — в другом. Сложность всё равно останется O(n), но решение может стать в разы проще. Многие погибли на пути построения жутких условий, чтобы сделать всё "красиво" в одном проходе.
Иногда лучше идти не с начала, а с конца массива. Для части задач это избавляет от необходимости в дополнительной памяти.
Набрасывайте тест-кейсы до начала решения. 90% кандидатов, едва взглянув на условие, сразу бросаются в бой. Где-то на середине выясняется, что задачу они поняли неправильно, а ещё есть пара корнер-кейсов, из-за которых всё ломается...
Лучше потратить немного времени на проработку кейсов (прям пишите вот это на вход, это на выход, чтобы все было перед глазами) и требований перед тем, как писать код — это реально может спасти. Кстати, и в работе отличный совет!
Пишите алгоритмы на Python. Я реально считаю, что Python создан для алгоритмической секции. Во-первых, код выглядит невероятно просто, как будто описание алгорима. Во-вторых, куча конструкций языка просто невероятно удобны. Каждый раз жалко JS-разрабов, которые дублируют строку через цикл. В Python это один оператор.
Повторите школьную программу. Например формулу суммы последовательностей, есть прям пласт задач где это может все упросить в разы. Из алгоритмов, которые реально стоит выучить — бинарный поиск. Он простой и при этом есть прям много задач на его вариацию.
❤29😁4
Я сейчас делаю свои первые, неуверенные шаги в изучении Data Science и уже наткнулся на крайне занимательную статью. Для матерых DE и DS, которые есть у меня в канале, она, разумеется, может показаться банальной, но для таких же новичков, как и я – весьма интересной.
Статья про обнаружение выбросов в данных с помощью метода опорных векторов. Как и положено в сфере машинного обучения, алгоритмы представляют не так много интереса, как сами данные. А данные – уф, моё почтение.
В качестве набора данных для анализа в статье использовался файл с информацией о 604 девушках месяца журнала Playboy. Согласитесь, искать выбросы в таких данных куда интереснее, чем в результатах билда gradle (хотя и тут все связано с сексом).
К сожалению, сам файл утерян в анналах истории, но идея — занятная. Сейчас такие статьи уже не пишут, ведь тебя отменят за долю секунды.
P.S В статье есть фотографии моделей тех лет и на совеременный лад они прям очень кринжовые)
Статья про обнаружение выбросов в данных с помощью метода опорных векторов. Как и положено в сфере машинного обучения, алгоритмы представляют не так много интереса, как сами данные. А данные – уф, моё почтение.
В качестве набора данных для анализа в статье использовался файл с информацией о 604 девушках месяца журнала Playboy. Согласитесь, искать выбросы в таких данных куда интереснее, чем в результатах билда gradle (хотя и тут все связано с сексом).
К сожалению, сам файл утерян в анналах истории, но идея — занятная. Сейчас такие статьи уже не пишут, ведь тебя отменят за долю секунды.
P.S В статье есть фотографии моделей тех лет и на совеременный лад они прям очень кринжовые)
😁20 12❤4