Свеженькая задача Яндекса
Недавно ребята из сообщества algocode.io гоняли на собесы и принесли такую задачку
Именно на этом валятся
Идея решения такая
• строим хеш-таблицу graph, где ключ — город отправления, а значение — список городов прибытия (в 2 стороны строим путь)
• находим любую вершину, у которой в значении только 1 город — это будет точка старта
• обходим граф из стартовой точки, поддерживая visited и не посещая уже отмеченные точки
И в итоге получим такое решение
from typing import *
from collections import defaultdict
def route(tickets: List[List[str]]) -> List[str]:
# для каждого города храним список городов, с которыми он связан
graph = defaultdict(list)
for a, b in tickets:
graph[a].append(b)
graph[b].append(a)
# начальный город — тот, у которого ровно одна связь (край маршрута)
start = ""
for city, neighbors in graph.items():
if len(neighbors) == 1:
start = city
break
# восстанавливаем маршрут, отмечая посещённые города
result = [start]
visited = {start}
for _ in range(len(tickets)):
current = result[-1]
for neighbor in graph[current]:
if neighbor not in visited:
visited.add(neighbor)
result.append(neighbor)
break
return result
На leetcode не нашел такой задачки
Для тех кто уже в сообществе:решить можно самому ТУТ
Недавно ребята из сообщества algocode.io гоняли на собесы и принесли такую задачку
Дан список перелётов tickets, гдеВся сложность в том, что направления запутаны!
tickets[i] = [A, B] — перелёт между городами A и B (направление неизвестно).
Все перелёты относятся к одному путешествию:
• каждый следующий перелёт начинается в городе, где закончился предыдущий
• ни один город не посещается дважды
• начальный город ≠ конечному
Нужно восстановить порядок городов в маршруте.
Если есть несколько вариантов — вернуть любой.
Пример
Ввод:
tickets = [["Berlin","Rome"],["Berlin","Dubai"]]
Вывод:
["Dubai","Berlin","Rome"] или ["Rome","Berlin","Dubai"]
Именно на этом валятся
Идея решения такая
• строим хеш-таблицу graph, где ключ — город отправления, а значение — список городов прибытия (в 2 стороны строим путь)
• находим любую вершину, у которой в значении только 1 город — это будет точка старта
• обходим граф из стартовой точки, поддерживая visited и не посещая уже отмеченные точки
И в итоге получим такое решение
from collections import defaultdict
def route(tickets: List[List[str]]) -> List[str]:
# для каждого города храним список городов, с которыми он связан
graph = defaultdict(list)
for a, b in tickets:
graph[a].append(b)
graph[b].append(a)
# начальный город — тот, у которого ровно одна связь (край маршрута)
start = ""
for city, neighbors in graph.items():
if len(neighbors) == 1:
start = city
break
# восстанавливаем маршрут, отмечая посещённые города
result = [start]
visited = {start}
for _ in range(len(tickets)):
current = result[-1]
for neighbor in graph[current]:
if neighbor not in visited:
visited.add(neighbor)
result.append(neighbor)
break
return result
На leetcode не нашел такой задачки
Для тех кто уже в сообществе:
❤🔥22🌭6
Чисто BigTech классика
Я: надо доработать ручку, чтобы была политика CREATE OR UPDATE, а не только CREATE, на нашей стороне возникает сложная логика ретраев
Лид другой команды: можем доработать, но не раньше 25 марта, не можем отвлекаться на мелочи
Я: Так если это мелочи, мб доработаем быстро? Вам 1 if поставить, а с нашей стороны кратно большие доработки нужны + вы мейнтените эту дату, а нам доп хранение нужно, хендлинг ошибок и т д
Лид другой команды: Ок, в понедельник сделаем
Я: спасибо
—-
Тут главное не очковать, как говорится,и поддавать джазу где надо, а то так все строки можно провафлить)))
Бахни 🌭 если тоже такое было
Я: надо доработать ручку, чтобы была политика CREATE OR UPDATE, а не только CREATE, на нашей стороне возникает сложная логика ретраев
Лид другой команды: можем доработать, но не раньше 25 марта, не можем отвлекаться на мелочи
Я: Так если это мелочи, мб доработаем быстро? Вам 1 if поставить, а с нашей стороны кратно большие доработки нужны + вы мейнтените эту дату, а нам доп хранение нужно, хендлинг ошибок и т д
Лид другой команды: Ок, в понедельник сделаем
—-
Тут главное не очковать, как говорится,
🌭50🤣5
Кручу кручу педали кручу
ЗП ЗП ЗП, ЗП повысить хочу....
В посте кратко расскажу про этичность повышения ЗП через контр-офер
Другими словами...
Сгонял ты на собес и получил +20% к ЗП и теперь думаешь, как сказать лиду
Первым делом предлагаю написать тебе письмо с таким посылом
На мой взгляд важно показать 2 вещи:
1. Ты хочешь остаться (если конечно это так)
2. Ты готов обсуждать scope задач и обязанностей и просишь повышение не просто так
У меня у самого была такая ситуация, когда МТС предложил большую котлету, но уходить не хотел
Написал аналогичное письмо и через несколько месяцев +20% к ЗП прилетело вместе с повышением. Но и задачку я прям нормальную такую закрыл
P.S. меня просили показать офер, так что лучше тут не блефовать, особенно если текущая команда нравится
Ты в любом случае в плюсе от такого сообщения
- если руководитель не готов это обсуждать/моросит, то и дальше со всеми повышениями моросить будет
- если все гуд, то наметите четкий план
Ну а если писать страшно, то просто скидывай пост тим-лиду 😂
ЗП ЗП ЗП, ЗП повысить хочу....
В посте кратко расскажу про этичность повышения ЗП через контр-офер
Другими словами...
Сгонял ты на собес и получил +20% к ЗП и теперь думаешь, как сказать лиду
Первым делом предлагаю написать тебе письмо с таким посылом
Привет! Я ходил на собеседование и мне поступило интересное предложение от компании МТС
Мне нравится работать в команде и уходить не планировал
Хочу созвониться и обсудить, что могу сделать/какие задачи взять, чтобы приблизиться к предложенной сумме
Понимаю, что моментально повышения не получу, но мне важно знать есть ли такая возможность в принципе и что для этого нужно сделать
На мой взгляд важно показать 2 вещи:
1. Ты хочешь остаться (если конечно это так)
2. Ты готов обсуждать scope задач и обязанностей и просишь повышение не просто так
У меня у самого была такая ситуация, когда МТС предложил большую котлету, но уходить не хотел
Написал аналогичное письмо и через несколько месяцев +20% к ЗП прилетело вместе с повышением. Но и задачку я прям нормальную такую закрыл
P.S. меня просили показать офер, так что лучше тут не блефовать, особенно если текущая команда нравится
Ты в любом случае в плюсе от такого сообщения
- если руководитель не готов это обсуждать/моросит, то и дальше со всеми повышениями моросить будет
- если все гуд, то наметите четкий план
Ну а если писать страшно,
❤🔥20🌭5🍓1
Как на собесе выпендриваются олимпиадники
В общем то базовая задачка: дана строка из символов 'a' - 'z'. Нужно проверить можно ли сделать из строки палиндром
СНАЧАЛА СМОТРИМ БАЗУ, а потом самый сок
Идея решения: подсчитать число каждой буквы. Если все буквы имеют четное число - то точно палиндром
Если все четные кроме одного - тоже палиндром можем получить
В остальных случаях false
Базовое решение выглядит так
НО! Если ты олимпиадник, то вот эти все решения не для тебя
Ты на изи воспользуешься свойсвом ascii таблицы что все символы идут подряд и уместишь их в int32
ШАХ и МАТ!
Ну и это, 🌭 бахни, по-братски)
В общем то базовая задачка: дана строка из символов 'a' - 'z'. Нужно проверить можно ли сделать из строки палиндром
СНАЧАЛА СМОТРИМ БАЗУ, а потом самый сок
Идея решения: подсчитать число каждой буквы. Если все буквы имеют четное число - то точно палиндром
Если все четные кроме одного - тоже палиндром можем получить
В остальных случаях false
Базовое решение выглядит так
def can_be_palindrome(s: str) -> bool:
freq = {}
for ch in s:
freq[ch] = freq.get(ch, 0) + 1
odd_count = 0
for count in freq.values():
if count % 2 != 0:
odd_count += 1
return odd_count <= 1
НО! Если ты олимпиадник, то вот эти все решения не для тебя
Ты на изи воспользуешься свойсвом ascii таблицы что все символы идут подряд и уместишь их в int32
ШАХ и МАТ!
def can_be_palindrome(s: str) -> bool:
mask = 0
for ch in s:
bit = ord(ch) - ord('a')
mask ^= (1 << bit)
return mask == 0 or (mask & (mask - 1)) == 0
Ну и это, 🌭 бахни, по-братски)
🌭103🤣6❤🔥2🍓1
Как я возненавидел LINUX
4 курс универа. 5 дней до защиты курсача. 12 ночи. У меня windows ноут с ubuntu
Без перерыва фигачу курсач. Остается пара моментов допилить в коде, чтобы демо-версия работала...
И ТУТ КОМП ПРОСТО ВЫРУБАЕТСЯ
Я такой — эй братан, вставай
Нажимаю кнопку запуска
А он такой: у тебя место закончилось. И ТУТ Я ПРОСТО ВЫПАЛ
1) Я не могу включить ПК, потому что не хватает места
2) Чтобы почистить место — нужно его включить
ТАМ ДАЖЕ BIOS ЗАВИСАЛ!
Я перепробовал все лайфхаки интернета, чтобы его включить. Я буквально не мог спать — меня нереально трясло от мысли, что придется все переписывать за 5 дней
И тут я нахожу божественный совет, как зайти в консоль
Зайти-то я зашел… но прав не хватало на удаление даже обычных папок...
Но я нашел все же несколько файлов которые можно было редачить и перезаписал их на пустые
Я думал, что сейчас он включится — и я узнаю кто былин виновник что забил мне всю память
И что вы думаете?
ВСЮ ПАМЯТЬ СОЖРАЛ ЧЕРТОВ DOCKER
Я его почистил — и все стало работать
Через 2 недели я купил мак и в ubuntu больше не возвращался
Ну и бахни 🌭если тоже кайфуешь от мака
4 курс универа. 5 дней до защиты курсача. 12 ночи. У меня windows ноут с ubuntu
Без перерыва фигачу курсач. Остается пара моментов допилить в коде, чтобы демо-версия работала...
И ТУТ КОМП ПРОСТО ВЫРУБАЕТСЯ
Я такой — эй братан, вставай
Нажимаю кнопку запуска
А он такой: у тебя место закончилось. И ТУТ Я ПРОСТО ВЫПАЛ
1) Я не могу включить ПК, потому что не хватает места
2) Чтобы почистить место — нужно его включить
ТАМ ДАЖЕ BIOS ЗАВИСАЛ!
Я перепробовал все лайфхаки интернета, чтобы его включить. Я буквально не мог спать — меня нереально трясло от мысли, что придется все переписывать за 5 дней
И тут я нахожу божественный совет, как зайти в консоль
Зайти-то я зашел… но прав не хватало на удаление даже обычных папок...
Но я нашел все же несколько файлов которые можно было редачить и перезаписал их на пустые
Я думал, что сейчас он включится — и я узнаю кто былин виновник что забил мне всю память
И что вы думаете?
ВСЮ ПАМЯТЬ СОЖРАЛ ЧЕРТОВ DOCKER
Я его почистил — и все стало работать
Через 2 недели я купил мак и в ubuntu больше не возвращался
Ну и бахни 🌭если тоже кайфуешь от мака
🌭73🤣31❤🔥3🍓1
Как же бесят мега-ультра правила к паролям
К сервисам, где хранить-то особо и нечего
Создавал аккаунт Polar для мониторинга сердцебиения на кардиотренировке
И как будто оказался в password game
P.S. когда только запускал algocode — сам навертел пипец правил...
Больше так не делаю)
Ну и бахни 🌭 если тоже любишь усложнять
К сервисам, где хранить-то особо и нечего
Создавал аккаунт Polar для мониторинга сердцебиения на кардиотренировке
И как будто оказался в password game
P.S. когда только запускал algocode — сам навертел пипец правил...
Больше так не делаю)
Ну и бахни 🌭 если тоже любишь усложнять
🌭51🍓8❤🔥3
Ультимативный гайд по алгосам
За 2 дня 1500 лайков - я такого в жизни не видел 😂
Думал, меня любит только мама, а тут такое
Максимально советую к просмотру на канале тем, кто еще не видел
Если кратко, то разложил все алгоритмические паттерны от А до Я
За 2 дня 1500 лайков - я такого в жизни не видел 😂
Думал, меня любит только мама, а тут такое
Максимально советую к просмотру на канале тем, кто еще не видел
Если кратко, то разложил все алгоритмические паттерны от А до Я
🌭61❤🔥27🤣2
Я умножил свою ЗП на 3, когда попал в Яндекс
Переход из Huawei в Яндекс дал мне ЗП 300 000. В то время я смотрел YouTube, и везде говорили, что ЗП большие
Ну вот я и решил рискнуть
Все 3 алго-секции Яндекса я щёлкнул за 30–45 минут (да-да, в те времена ещё были 3 секции алгосов)
Я понимал, что даже вслух сказать «хочу 300 000» вызывало у меня улыбку до ушей
Поэтому я тренировался с зеркалом
Смотрел в него 5 секунд и говорил «хочу 300 000» — как я думал
А по факту просто 5 секунд сдерживал улыбку, а потом ржал 2 минуты 😂
P.S. это буквально могли быть 2 минуты смеха
Спустя несколько дней — усердно тренируясь по несколько подходов в день — я освоил эту технику
И мог гордо сказать: «хочу 300 000»
Сказал так уверенно, что дали 320 000 :))) В общем, я попросил, а они согласились.Вот я ах*ел в моменте
А если наберем 100 🌭, то напишу как я просил у Авито 600 000 с двумя годами опыта и что из этого вышло
Переход из Huawei в Яндекс дал мне ЗП 300 000. В то время я смотрел YouTube, и везде говорили, что ЗП большие
Ну вот я и решил рискнуть
Все 3 алго-секции Яндекса я щёлкнул за 30–45 минут (да-да, в те времена ещё были 3 секции алгосов)
Я понимал, что даже вслух сказать «хочу 300 000» вызывало у меня улыбку до ушей
Поэтому я тренировался с зеркалом
Смотрел в него 5 секунд и говорил «хочу 300 000» — как я думал
Спустя несколько дней — усердно тренируясь по несколько подходов в день — я освоил эту технику
И мог гордо сказать: «хочу 300 000»
Сказал так уверенно, что дали 320 000 :))) В общем, я попросил, а они согласились.
А если наберем 100 🌭, то напишу как я просил у Авито 600 000 с двумя годами опыта и что из этого вышло
🌭193🤣3🍓1
Попросил у Авито 600 000
Тогда у меня было ~2 года коммерческого опыта
Попал туда по рекомендации очень заряженного чувака из Авито, который меня менторил
Он как раз уходил в Amazon и порекомендовал меня в соседние команды
Собесы пролетели на изи
— Платформу решил минут за 40-50 на senior
— Алго-секцию закрыл за 40 минут на senior
— Даже System Design умудрился пройти на middle+ (хотя я только начинал его изучать)
Да и в целом рекрутер мне написал
МАКСОН! ТЫ МАШИНА! ЩАС БУДЕМ ИСКАТЬ ТЕБЕ СИНЬОРНУЮ ВАКАНСИЮ...
А я знал, что синьор в Авито тогда — это примерно 450 000 net
И думаю:
а что если попросить 600 000… вдруг прокатит
Ну и попросил 😄
---
И вот тут началось интересное
После финала мой senior-грейд внезапно испарился
И меня позвали уже на middle+ (E4)
А финальные вопросы тогда казались вообще странными:
• Как ты решаешь задачи?
• Что важнее: клиент или бизнес?
Сейчас понимаю, что это ключевые вопросы, которые меня и подвели...
---
Ни одна команда мне не зашла
И я решил: ну ок, попробую дожать по максимуму, все равно идти не собираюсь
И отказался от оффера360 000 net
Дальше было:
→ 380 000
→ + welcome бонус
Но я продолжал упираться
---
В итогеменя просто… слили 😄
И больше не зовут на собесы 😂
---
Пообщавшись после этого на отдельных созвонах с лидами из Авито, я уже понял:
— как реально проходить на senior
— почему мне дали middle+
— как правильно отвечать на такие "странные" вопросы
О чем и проводил стрим в сообществе algocode.io, а если уже в сообществе, то глянуть можно по ссылке (много инсайдерской инфы)
Тогда у меня было ~2 года коммерческого опыта
Попал туда по рекомендации очень заряженного чувака из Авито, который меня менторил
Он как раз уходил в Amazon и порекомендовал меня в соседние команды
Собесы пролетели на изи
— Платформу решил минут за 40-50 на senior
— Алго-секцию закрыл за 40 минут на senior
— Даже System Design умудрился пройти на middle+ (хотя я только начинал его изучать)
Да и в целом рекрутер мне написал
МАКСОН! ТЫ МАШИНА! ЩАС БУДЕМ ИСКАТЬ ТЕБЕ СИНЬОРНУЮ ВАКАНСИЮ...
А я знал, что синьор в Авито тогда — это примерно 450 000 net
И думаю:
а что если попросить 600 000… вдруг прокатит
Ну и попросил 😄
---
И вот тут началось интересное
И меня позвали уже на middle+ (E4)
А финальные вопросы тогда казались вообще странными:
• Как ты решаешь задачи?
• Что важнее: клиент или бизнес?
Сейчас понимаю, что это ключевые вопросы, которые меня и подвели...
---
Ни одна команда мне не зашла
И я решил: ну ок, попробую дожать по максимуму, все равно идти не собираюсь
И отказался от оффера
Дальше было:
→ + welcome бонус
Но я продолжал упираться
---
В итоге
И больше не зовут на собесы 😂
---
Пообщавшись после этого на отдельных созвонах с лидами из Авито, я уже понял:
— как реально проходить на senior
— почему мне дали middle+
— как правильно отвечать на такие "странные" вопросы
О чем и проводил стрим в сообществе algocode.io, а если уже в сообществе, то глянуть можно по ссылке (много инсайдерской инфы)
🌭39❤🔥2
Как СБЕР ДЕВАЙСЫ меня нанимали
История из примерно 2022, когда всё ещё был айтишный пайм и нанимали как не в себя
Я слышал, что ПРЕМИИ в СБЕРе такие БОЛЬШИЕ, перебить могут только web3-скамеры
И думаю — а почему бы не сходить и не посмотреть
Все тех. секции прошёл — всё ОК
А потом финал...
Я прихожу, и вот такой незатейливый ДИАЛОГ был
И — интервьюер, CTO
Меня просто разорвало от смеха
Такой фигни я ещё нигде не видел, прям подняли настроение
Может, кто недавно гонял к ним и расскажет, как сейчас с процессами?
P.S. но премии там действительно прям высокие оказались
История из примерно 2022, когда всё ещё был айтишный пайм и нанимали как не в себя
Я слышал, что ПРЕМИИ в СБЕРе такие БОЛЬШИЕ, перебить могут только web3-скамеры
И думаю — а почему бы не сходить и не посмотреть
Все тех. секции прошёл — всё ОК
А потом финал...
Я прихожу, и вот такой незатейливый ДИАЛОГ был
И — интервьюер, CTO
И: "Ну что, как прошёл все секции?"
Я: "Мне не показались они сложными"
И: "А как ты вообще себя оцениваешь?"
Я: "Senior"
И: "Ну вот давай поподробнее, что тебе интервьюер говорил и как он тебя оценил"
Я: "Не уточнял, но думаю, что он у вас есть — я сам как интервьюер заполняю отчёты"
И: "Проблема в том, что мы ПОТЕРЯЛИ ВЕСЬ ФИТБЕК ПО ТВОИМ СОБЕСАМ"
Меня просто разорвало от смеха
Такой фигни я ещё нигде не видел, прям подняли настроение
Может, кто недавно гонял к ним и расскажет, как сейчас с процессами?
P.S. но премии там действительно прям высокие оказались
🤣43🌭17
Я не общался с лидом 3 месяца
1-2-1 — вполне понятная практика
Так вот, после НГ у меня не было ни одного 1-2-1
Пару мыслишек о моём отношении к этому и как я ДЕЛАЮ ИЗ ЭТОГО КОНКУРЕНТНОЕ ПРЕИМУЩЕСТВО:
———
СТАДИЯ: да зачем мне 1-2-1
В целом, с текущим лидом больше обсуждали всегда технические моменты не же ли мотивацию и т д
Но я как бы и на других встречах с ним это проговаривал...
Так что появление этого вопроса вполне закономерно
———
СТАДИЯ: а что происходит
Тут я уже начал писать в личку, спрашивать, что там по 1-2-1
Но, видимо, затерялось сообщение, а я его и не поднимал особо вверх
———
СТАДИЯ: а может, мне и не нужны 1-2-1
У меня и свой скоуп работ есть, и, как правило, продакты ко мне заходят с соседними командами
И в целом мне понятно, что и с каким приоритетом делать
———
Так что посмотрю, что из этого получится
Знаю, что у лида завал, и, пожалуй, лучший способ помочь — максимальная автономность, насколько это возможно (о чем он уже говорил, что ценит мою автономность)
Ну а раз я ей обладаю, почему бы и не выделиться
Считаю, что в этой ситуации это является крутым преимуществом, которое в дальнейшем можно и раскешить
Ну и в целом эксперимент интересный
———
Йоу! Бахни 🌭 по-братски, если твой 1-2-1 отменяли
1-2-1 — вполне понятная практика
Так вот, после НГ у меня не было ни одного 1-2-1
Пару мыслишек о моём отношении к этому и как я ДЕЛАЮ ИЗ ЭТОГО КОНКУРЕНТНОЕ ПРЕИМУЩЕСТВО:
———
СТАДИЯ: да зачем мне 1-2-1
В целом, с текущим лидом больше обсуждали всегда технические моменты не же ли мотивацию и т д
Но я как бы и на других встречах с ним это проговаривал...
Так что появление этого вопроса вполне закономерно
———
СТАДИЯ: а что происходит
Тут я уже начал писать в личку, спрашивать, что там по 1-2-1
Но, видимо, затерялось сообщение, а я его и не поднимал особо вверх
———
СТАДИЯ: а может, мне и не нужны 1-2-1
У меня и свой скоуп работ есть, и, как правило, продакты ко мне заходят с соседними командами
И в целом мне понятно, что и с каким приоритетом делать
———
Так что посмотрю, что из этого получится
Знаю, что у лида завал, и, пожалуй, лучший способ помочь — максимальная автономность, насколько это возможно (о чем он уже говорил, что ценит мою автономность)
Ну а раз я ей обладаю, почему бы и не выделиться
Считаю, что в этой ситуации это является крутым преимуществом, которое в дальнейшем можно и раскешить
Ну и в целом эксперимент интересный
———
Йоу! Бахни 🌭 по-братски, если твой 1-2-1 отменяли
🌭55❤🔥1🍓1
Всю пятницу ЛЕГЕНДАРНО КАТИЛ НОВЫЙ СЕРВИС
Напомню, что я работаю в AB-платформе
В общем, сервис, чтобы проводить эксперименты и смотреть, какая кнопка больше привлекает пользователя
И выносили в отдельный сервис получение списка экспериментов
Там уже капец был под капотом, да еще и агрегировать данные от нескольких сервисов
В общем, распил монолита!
И как же я с*ка сгорел, когда затащили всю эту адскую миграцию, а потом нам говорят
ЭХ СУУУУМКА ЕБУЧАЯ, думаю я
Но что ж, вот 17:00, а мы в легендарном дуо делаем переливку и все тестируем перед демо во вторник
Накидайте плз 🌭,а то я уже есть хочу, но нужно все доделать 😄
Напомню, что я работаю в AB-платформе
В общем, сервис, чтобы проводить эксперименты и смотреть, какая кнопка больше привлекает пользователя
И выносили в отдельный сервис получение списка экспериментов
Там уже капец был под капотом, да еще и агрегировать данные от нескольких сервисов
В общем, распил монолита!
И как же я с*ка сгорел, когда затащили всю эту адскую миграцию, а потом нам говорят
А вы когда переливать данные хотите?
Я такой: мы же все перелили...
А это да, но нас тут попросили все пересчитать, и данные вообще новые, и у вас сейчас невалидные...
ЭХ СУУУУМКА ЕБУЧАЯ, думаю я
Но что ж, вот 17:00, а мы в легендарном дуо делаем переливку и все тестируем перед демо во вторник
Накидайте плз 🌭,
🌭105🤣1🍓1
+1 хардкорный Яндексоид
Недавно прилетел вот такой вот отзыв по подготовке на algocode.io
=============
Привет!
Только что был алго-собес в Яндекс.
Вот задачи с него:
- К ближайших чисел (algocode)
- Последовательность с суммой K (algocode)
обе решил за 40 мин)))
Макс, огромное тебе спасибо за твой титанический труд в алгосах))) Ты пушка-бомба, курсы просто охренительные!))))
Теперь пойду готовиться к TDD и SD, благо по ним курсы от Дани тоже есть))))
=============
А в посте хочу разобрать "К ближайших чисел" (условие на скриншоте)
В общем, дан отсортированный массив nums, индекс idx и число k. Нужно найти k ближайших чисел к nums[idx]
И ЯНДЕКС ЖДЁТ ОТ ТЕБЯ САМОЕ ПРЯМОЛИНЕЙНОЕ РЕШЕНИЕ
Решаем просто в лоб:
• ставим указатели l и r слева и справа от idx
• добавляем в ответ ближайшее число к nums[idx] и смещаем указатели
Главное НЕ ЗАБЫТЬ:
• Отслеживать выход за границы массива
• При равной удалённости чисел nums[l] и nums[r] от nums[idx] отдать предпочтение левому
И получим O(k) времени и O(k) памяти (память только на ответ тратим)
—-
И вуаля, ты в Яндексе😏
Недавно прилетел вот такой вот отзыв по подготовке на algocode.io
=============
Привет!
Только что был алго-собес в Яндекс.
Вот задачи с него:
- К ближайших чисел (algocode)
- Последовательность с суммой K (algocode)
обе решил за 40 мин)))
Макс, огромное тебе спасибо за твой титанический труд в алгосах))) Ты пушка-бомба, курсы просто охренительные!))))
Теперь пойду готовиться к TDD и SD, благо по ним курсы от Дани тоже есть))))
=============
А в посте хочу разобрать "К ближайших чисел" (условие на скриншоте)
В общем, дан отсортированный массив nums, индекс idx и число k. Нужно найти k ближайших чисел к nums[idx]
И ЯНДЕКС ЖДЁТ ОТ ТЕБЯ САМОЕ ПРЯМОЛИНЕЙНОЕ РЕШЕНИЕ
Решаем просто в лоб:
• ставим указатели l и r слева и справа от idx
• добавляем в ответ ближайшее число к nums[idx] и смещаем указатели
Главное НЕ ЗАБЫТЬ:
• Отслеживать выход за границы массива
• При равной удалённости чисел nums[l] и nums[r] от nums[idx] отдать предпочтение левому
И получим O(k) времени и O(k) памяти (память только на ответ тратим)
—-
И вуаля, ты в Яндексе
Please open Telegram to view this post
VIEW IN TELEGRAM
🌭35🤣3
Самая важная новость текущей недели
Состоялась сделка по объединению ООО Отус (ярдовая компания) и algocode
И я КАПЕЦ РАД!
Это мега выгодная сделка вообще для всех: для клиентов, которые получат бОльше контента, для меня с Данилом (кореш с которым начинали делать algocode с самого начала) и для Отуса
6 месяцев шло обсуждение, и вчера всё подписали
Так что скоро в резюме напишут "Руководитель отдела разработки"
———
Я вот смотрю на весь путь, что прошёл, и вообще не жалею
Попробовал не только микросервисы пораспиливать и пообъединять, но и бизнесы 😂
P.S. микросервисы вообще фигня по сравнению с этим
Состоялась сделка по объединению ООО Отус (ярдовая компания) и algocode
И я КАПЕЦ РАД!
Это мега выгодная сделка вообще для всех: для клиентов, которые получат бОльше контента, для меня с Данилом (кореш с которым начинали делать algocode с самого начала) и для Отуса
6 месяцев шло обсуждение, и вчера всё подписали
Так что скоро в резюме напишут "Руководитель отдела разработки"
———
Я вот смотрю на весь путь, что прошёл, и вообще не жалею
Попробовал не только микросервисы пораспиливать и пообъединять, но и бизнесы 😂
P.S. микросервисы вообще фигня по сравнению с этим
🌭59❤🔥26🍓6🤣2
Почему никто не работает?
Заметил, что чем в бОльшую команду я захожу из смежного направления с вопросами
Тем быстрее меня хотят отфутболить 😂
Да и в целом, настроение я бы сказал не мега рабочее у многих (сравнивая даже год назад...)
Если у тебя так же, ТО ТУТ ДЛЯ ТЕБЯ АФИГИТЕЛЬНЫЙ ШАНС
Когда настроение падает у коллектива, то кратно легче выделиться и получить повышение
НО КАК ИМЕННО?
Если ты разработчик, то ТОП-1 возможность (для начала) - это афигительно изучить свой продукт
90% всех с кем общаюсь не знают как пользователи пользуются продуктом, не знают конкурентов, да даже весь функционал не знают (в голове не собрана вся система) и т д
А без этого НЕРЕАЛЬНО ВЫСТРОИТЬ СВОЕ ВИДЕНЬЕ ПРОДУКТА
Высокий грейд - всегда про доверие. А доверие просто не получить если ты не знаешь куда направлять команду/юнит
У тебя сходу начнут появляться фразы:
• Это не главный приоритет, давайте сфокусируемся на...
• Я бы хотел взять XYZ - это критично для пользователей и понимаю как пофиксить...
• Мы упускаем XYZ функционал которые есть у конкурента...
А это уже следующий уровень от "хочу вот эту интересную задачу"
И бахни 🌭 если заходят посты такого формата
Заметил, что чем в бОльшую команду я захожу из смежного направления с вопросами
Тем быстрее меня хотят отфутболить 😂
Да и в целом, настроение я бы сказал не мега рабочее у многих (сравнивая даже год назад...)
Если у тебя так же, ТО ТУТ ДЛЯ ТЕБЯ АФИГИТЕЛЬНЫЙ ШАНС
Когда настроение падает у коллектива, то кратно легче выделиться и получить повышение
НО КАК ИМЕННО?
Если ты разработчик, то ТОП-1 возможность (для начала) - это афигительно изучить свой продукт
90% всех с кем общаюсь не знают как пользователи пользуются продуктом, не знают конкурентов, да даже весь функционал не знают (в голове не собрана вся система) и т д
А без этого НЕРЕАЛЬНО ВЫСТРОИТЬ СВОЕ ВИДЕНЬЕ ПРОДУКТА
Высокий грейд - всегда про доверие. А доверие просто не получить если ты не знаешь куда направлять команду/юнит
У тебя сходу начнут появляться фразы:
• Это не главный приоритет, давайте сфокусируемся на...
• Я бы хотел взять XYZ - это критично для пользователей и понимаю как пофиксить...
• Мы упускаем XYZ функционал которые есть у конкурента...
А это уже следующий уровень от "хочу вот эту интересную задачу"
И бахни 🌭 если заходят посты такого формата
🌭102🍓6
Новая техника разработки: WATERFALL (водопад)
Применяется исключительно в больших юнитах и горячих проектах
Стратегия такая:
1) Пару раз обсудить планирующиеся изменения с продактами, смежнми командами
2) Сделать пару митингов почему важно сделать это как можно быстрее
3) Убедиться, что фича настолько большая, что ее откат не возможен и проще все будет другим переделать чем вам откатывать
4) Зарелизить без уведомления смежных команд и наблюдать очень быструю перестройку всех процессов
----
Так вот, наша команда буквально попала ПОД этот ВОДОПАД задач
Фантастическая схема)))))
Применяется исключительно в больших юнитах и горячих проектах
Стратегия такая:
1) Пару раз обсудить планирующиеся изменения с продактами, смежнми командами
2) Сделать пару митингов почему важно сделать это как можно быстрее
3) Убедиться, что фича настолько большая, что ее откат не возможен и проще все будет другим переделать чем вам откатывать
4) Зарелизить без уведомления смежных команд и наблюдать очень быструю перестройку всех процессов
----
Так вот, наша команда буквально попала ПОД этот ВОДОПАД задач
Фантастическая схема)))))
🤣37🌭12
Нанять, чтобы уволить !
Недавно написал знакомый с вопросом:
Я вообще не понял вопроса сначала 😂
А потом такая история от него:
Я, конечно, офигел
Поспрашивал корешей и понял, что какие-то единичные случаи действительно бывают
Вот так в 2026 доводят до ручки соискателей
Ну и ставь 🌭, если уже думал/гонял к психологу
Недавно написал знакомый с вопросом:
Устраиваюсь в компанию и меняю стек. Собесы прошёл, оффер есть, и как понять, что меня не уволят?"
Я вообще не понял вопроса сначала 😂
А потом такая история от него:
Слашал, что в компаниях нужно нанимать X человек в месяц и увольнять Y человек в месяц
Чтобы это выполнять, иногда нанимают, чтобы просто уволить и не трогать текущие команды
Я, конечно, офигел
Поспрашивал корешей и понял, что какие-то единичные случаи действительно бывают
Вот так в 2026 доводят до ручки соискателей
Ну и ставь 🌭, если уже думал/гонял к психологу
🌭61🍓9
Кто отвечает за карьерный рост?
В начале своей карьеры я всегда выбирал BigTech из-за понятности карьерного трека
На сайте было написано:
• завтра Junior
• через полгода Junior+
• через год Middle
• через полтора года Middle+
Афигительный оффер! Я смотрел на это и уже видел свою ЗП — 600 000 зеленых в секунду через полтора года
И компании тут афигительно постарались, на мой взгляд
Но почему нет трека дальше?
Почему ведут не до Senior или Lead?
На мой взгляд, тут такие причины:
1) Дорого во всех смыслах
2) Не нужно в большом объеме
3) От Senior ждут глубокой экспертизы в некоторой теме + своего опыта
Нет смысла в одинаковых Senior — задача Senior повышать предел некомпетентности команды в конкретной области
Например:
• Петя может решить задачу сложностью 5 по математике и 2 по информатике
• Вадим — 3 по математике и 3 по русскому
• Женя — 1 по математике и 5 по информатике
Вопрос: кто Senior?
КОНЕЧНО, Петя и Женя — они могут решить то, что не решат другие
А Вадим — классический Middle
И КОНЕЧНО компании очень хотят к себе Женю и Петю, потому что у них самих дофига Вадимов и нужно, чтобы кто-то всех их направлял
В общем, карьера — это только твоя ответственность!
Бро, если ты хотя бы знаешь, что у тебя за суперсила, или хотя бы наметил, чем ты хочешь выделяться, ты уже на голову выше остальных
А если не знаешь - пора выбирать
Йоу! Ну и 🌭 не забывай ставить)
В начале своей карьеры я всегда выбирал BigTech из-за понятности карьерного трека
На сайте было написано:
• завтра Junior
• через полгода Junior+
• через год Middle
• через полтора года Middle+
Афигительный оффер! Я смотрел на это и уже видел свою ЗП — 600 000 зеленых в секунду через полтора года
И компании тут афигительно постарались, на мой взгляд
Но почему нет трека дальше?
Почему ведут не до Senior или Lead?
На мой взгляд, тут такие причины:
1) Дорого во всех смыслах
2) Не нужно в большом объеме
3) От Senior ждут глубокой экспертизы в некоторой теме + своего опыта
Нет смысла в одинаковых Senior — задача Senior повышать предел некомпетентности команды в конкретной области
Например:
• Петя может решить задачу сложностью 5 по математике и 2 по информатике
• Вадим — 3 по математике и 3 по русскому
• Женя — 1 по математике и 5 по информатике
Вопрос: кто Senior?
КОНЕЧНО, Петя и Женя — они могут решить то, что не решат другие
А Вадим — классический Middle
И КОНЕЧНО компании очень хотят к себе Женю и Петю, потому что у них самих дофига Вадимов и нужно, чтобы кто-то всех их направлял
В общем, карьера — это только твоя ответственность!
Бро, если ты хотя бы знаешь, что у тебя за суперсила, или хотя бы наметил, чем ты хочешь выделяться, ты уже на голову выше остальных
А если не знаешь - пора выбирать
Йоу! Ну и 🌭 не забывай ставить)
🌭91