Студент, занимаюсь бэкендом, успел постажироваться в Яндексе, а сейчас пытаюсь не стоять на месте и двигаться дальше.
Здесь будут мысли, наблюдения, немного личного, немного кринжа и иногда что-то полезное. Без больших обещаний, просто буду писать, когда есть что сказать.
Please open Telegram to view this post
VIEW IN TELEGRAM
Сейчас я учусь на 3 курсе прикладной информатики. Кодить начал на 1 курсе. Сначала это были обычные лабораторные на Python. Ничего особенного, просто задачи, дедлайны и попытки понять, почему оно опять не работает.
Летом после 1 курса я начал изучать Django и написал несколько небольших проектов. Тогда впервые познакомился с сетевыми запросами, начал писать простые апишки.
На 2 курсе решил попробовать Kotlin. Писал на Ktor, потом на Spring Boot.
Параллельно участвовал во всяких активностях. Например, летал в Москву на финал IT-Планеты и занял там 3 место
Летом после 2 курса проходил практику в Газпромнефть-Цифровые решения.
А в конце июня 2025 узнал про CodeRun Boost Challenge и решил, что надо пробовать. Участников, которые по итогам попадали в топ, обещали позвать на упрощенный отбор на стажировку в Яндекс (без контеста).
Я понимал, что могу попасть в этот топ (спасибо, чатжпт
За 2 месяца изучил базу и был готов к собесам, по ощущениям, процентов на 80. Про сам процесс изучения алгоритмов и отбора на стажировку в Яндекс напишу отдельно.
В итоге я оказался в Яндексе и стажировался там 3 месяца.
Сейчас обучаюсь в Т-Академии по треку Java и продолжаю развиваться в бэкенде.
Please open Telegram to view this post
VIEW IN TELEGRAM
Когда я только начинал думать про стажки, у меня было ощущение, что путь примерно такой: открыл hh или сайт компании, нашел вакансию, отправил резюме, прошел собес - готово.
На практике все немного иначе.
Обычные отклики тоже работают, но у стажировок есть куча других входов, про которые не все знают.
1️⃣ агрегаторы стажировок.
Например, есть сайт FutureToday с разделом IT-стажировок.
Там собраны стажировки, школы, челленджи и карьерные программы разных компаний.
Это удобно, потому что не надо вручную заходить на сайты каждой компании и искать, где сейчас открыт набор.
Я бы просто добавил этот сайт в закладки и иногда проверял. Ничего сложного, зато проще не упустить возможность.🙃
2️⃣ ивенты от компаний.
Это всякие контесты, челленджи, олимпиады, и тд. Может показаться что это пустая трата времени, но иногда именно через такие штуки можно попасть в компанию.
Например, Яндекс часто проводит разные ивенты, такие как CodeRun челленджи, пробные интервью на Young Con, и так далее. По итогам таких активностей часто зовут дальше на собесы и дают упрощенный отбор.
Я сам попал на стажку в Яндекс как раз после финала CodeRun Boost Challenge.😎
3️⃣ образовательные программы от компаний.
У Яндекса, например, есть разные школы: ШБР, ШРИ, ШМР и другие направления.
Это не просто курсы, которые прошел, получил сертификат и забыл. После таких школ людей часто зовут дальше. Я лично знаю человека, которого позвали на стажку в Яндекс после школы разработки интерфейсов.
Сейчас я сам учусь в Т-Академии. Если делать дз в срок, не пропадать и нормально общаться с ментором, то в процессе или после обучения можно получить рекомендацию на стажку или в штат.🙃
Опять же, это не гарантия. Но это хороший способ попасть в поле зрения компании и показать себя.
4️⃣ обычные отборы.
Их тоже не надо списывать.
Да, там большая конкуренция. Да, можно не пройти с первого раза. Но даже неудачная попытка не всегда бесполезна.🤔
У меня есть знакомый, который подавался в Авито через обычный отбор. В первый раз он не прошел, зато получил упрощенный отбор на следующий набор и прошел уже со второго раза.
То есть иногда первая попытка - это не финальный провал, а способ получить фидбек и прокачаться. Ты попадаешь в базу, получаешь опыт собеседований, понимаешь что нужно подучить, и в следующий раз залетаешь уже на опыте.😎
Надо мониторить возможности, участвовать в движухах, подаваться в школы, пробовать обычные отборы и не сдаваться после первой неудачи.
Потому что вход в компанию это не всегда вакансия на hh.
Иногда это челлендж, школа, курс, контест или мероприятие, на которое ты сначала даже не хотел регистрироваться.
А про то, как готовиться к собеседованиям, напишу отдельный пост.
Please open Telegram to view this post
VIEW IN TELEGRAM
Подготовка к алгособесу 🫣 :
🔣 Что учить?
Как решать задачи и запоминать паттерны?
Как тренироваться ближе к реальному собесу?
Как подходить к задаче на собесе? (скоро)
Алгособес — это не про то, чтобы знать 500 задач наизусть.
Это про увидеть знакомый паттерн, объяснить решение, написать код и проверить что он не ломается на пограничных случаях.
Когда я только начал готовиться к алгособесам, думал, что надо просто решать литкод пачками.
Но потом понял, что без системы это быстро превращается в хаос. Можно слить кучу времени и все равно плохо понимать алгосы.🙁
Гораздо полезнее готовиться через паттерны.
Сначала база.
Перед задачами надо разобраться с оценкой сложности. Это не займет много времени, натренироваться можно уже в процессе решения задач.
Без этого будет тяжело понять какое решение оптимальное, а на собесе чаще всего просят именно его.
После этого уже можно идти в более сложные темы: графы, динамическое программирование и тд.
Но для стажерских собесов этот список уже даст норм базу.
В следующем посте из серии — как решать задачи так, чтобы реально запоминать паттерны, а не просто смотреть решения.🫶
Как решать задачи и запоминать паттерны?
Как тренироваться ближе к реальному собесу?
Как подходить к задаче на собесе? (скоро)
Алгособес — это не про то, чтобы знать 500 задач наизусть.
Это про увидеть знакомый паттерн, объяснить решение, написать код и проверить что он не ломается на пограничных случаях.
Когда я только начал готовиться к алгособесам, думал, что надо просто решать литкод пачками.
Но потом понял, что без системы это быстро превращается в хаос. Можно слить кучу времени и все равно плохо понимать алгосы.
Гораздо полезнее готовиться через паттерны.
Сначала база.
Перед задачами надо разобраться с оценкой сложности. Это не займет много времени, натренироваться можно уже в процессе решения задач.
Без этого будет тяжело понять какое решение оптимальное, а на собесе чаще всего просят именно его.
Что учить дальше?🤔
Я бы шел примерно в таком порядке:1️⃣ массивы и строки
Это база, часто дают задачи на массивы и строки.
• проход по массиву
• поиск минимума, максимума
• палиндромы
• анаграммы2️⃣ хеш-таблицы
Очень частая тема.
Надо уметь проверять встречался ли элемент раньше, считать частоты, хранить индексы, искать пары.3️⃣ префиксные суммы
Полезная штука, когда надо считать сумму на отрезке или искать подмассивы4️⃣ два указателя
Тут есть несколько вариантов:
• с двух сторон
• каждому по указателю
• быстрый и медленный5️⃣ плавающее окно
Это частный случай двух указателей, но лучше знать отдельно.
Обычно используется для подстрок и подмассивов.
Найти максимум, минимум, самую длинную или самую короткую часть, которая подходит под условие.6️⃣ стек
Есть несколько самых популярных задач, которые могут спросить.
Например, скобки или дневная температура.7️⃣ бинарный поиск
Надо знать:
• обычный бинарный поиск
• поиск первого/последнего вхождения
• lower bound / upper bound
• бинарный поиск по ответу8️⃣ связные списки
Тут легко накосячить с указателями.
• разворот
• сложение двух списков
• поиск цикла9️⃣ деревья
Чаще всего это бинарные деревья.
Надо знать:
• preorder/inorder/postorder обходы
• бинарное дерево поиска
• проверка на симметричность/идентичность
После этого уже можно идти в более сложные темы: графы, динамическое программирование и тд.
Но для стажерских собесов этот список уже даст норм базу.
В следующем посте из серии — как решать задачи так, чтобы реально запоминать паттерны, а не просто смотреть решения.
Please open Telegram to view this post
VIEW IN TELEGRAM
Алгоритмы Боль
снизу постучалович
🎵 В 2020х я не любил алгоритмы, как и любой нормальный человек.
Сейчас возродил эту боль на базе современных инструментов и сделал из нее трек.
Буду выкладывать сюда свои композиции под творческим псевдонимом “снизу постучалович”😎
Сейчас возродил эту боль на базе современных инструментов и сделал из нее трек.
Буду выкладывать сюда свои композиции под творческим псевдонимом “снизу постучалович”
Please open Telegram to view this post
VIEW IN TELEGRAM
Фанфакт: раньше я занимался дизайном интерфейсов. 😊
Не просто открыл фигму и сделал кнопку, а прям делал кейсы и выкладывал их на Behance/Dprofile.
Один проект даже получил награду в категории UI.🤩
Сейчас я уже давно этим не занимаюсь, но дизайн бэкграунд иногда помогает.
Например, когда смотришь на продукт не только через реализацию, но и через сценарий: что человек хочет сделать и где может затупить.
Короче, был период, когда я не только JSON гонял, но и кнопки двигал.🫶
Не просто открыл фигму и сделал кнопку, а прям делал кейсы и выкладывал их на Behance/Dprofile.
Один проект даже получил награду в категории UI.
Сейчас я уже давно этим не занимаюсь, но дизайн бэкграунд иногда помогает.
Например, когда смотришь на продукт не только через реализацию, но и через сценарий: что человек хочет сделать и где может затупить.
Короче, был период, когда я не только JSON гонял, но и кнопки двигал.
Please open Telegram to view this post
VIEW IN TELEGRAM
Подготовка к алгособесу 🫣 :
Что учить?
🔣 Как решать задачи и запоминать паттерны?
Как тренироваться ближе к реальному собесу?
Как подходить к задаче на собесе?
Главная ошибка — открывать задачи одну за другой и надеяться, что количество перейдет в качество.
Так не работает.🙁
Можно решить много задач, но все равно каждый раз не понимать, с чего начинать.
Поэтому цель не закрыть как можно больше
Цель — научиться видеть паттерны.
Сколько сидеть над задачей перед тем, как смотреть решение?🤔
Я бы делал так:
➖ Если смотришь на задачу и вообще ноль идей, паттерн незнакомый, даже непонятно куда копать — 10 минут.
За эти 10 минут попытаться хотя бы придумать брутфорс, понять вход и выход.
Если идей все еще нет — смотреть решение.
➖ Если задача похожа на то, что уже решал, но нужно вспомнить детали - можно посидеть подольше, минут 20-25.
Но бесконечно долбиться в одну задачу смысла нет. Важнее понять идею решения и потом закрепить ее повтором.
Когда посмотрел решение, надо попытаться его понять, запомнить и написать заново, а не переписывать.
Как запоминать паттерны?🤔
Просто посмотреть решение недостаточно.
Если задачу не решил — надо ее перерешать.
Я вел простой дневник:
• название задачи
• тема/паттерн
• сколько времени решал
• результат: решил / почти решил / не решил
• комментарий: где ошибся, что надо запомнить
Если не решил задачу — перерешать на следующий день.
Если решил, но с трудом — вернуться через 2 дня.
Если решил легко — можно отложить подальше.
Смысл не в том, чтобы запомнить конкретную задачу, а в том, чтобы в следующий раз увидеть похожий паттерн быстрее.
В следующем посте из серии — как тренироваться ближе к реальному собесу.😘
Что учить?
Как тренироваться ближе к реальному собесу?
Как подходить к задаче на собесе?
Главная ошибка — открывать задачи одну за другой и надеяться, что количество перейдет в качество.
Так не работает.
Можно решить много задач, но все равно каждый раз не понимать, с чего начинать.
Поэтому цель не закрыть как можно больше
Цель — научиться видеть паттерны.
Сколько сидеть над задачей перед тем, как смотреть решение?
Я бы делал так:
За эти 10 минут попытаться хотя бы придумать брутфорс, понять вход и выход.
Если идей все еще нет — смотреть решение.
Но бесконечно долбиться в одну задачу смысла нет. Важнее понять идею решения и потом закрепить ее повтором.
Когда посмотрел решение, надо попытаться его понять, запомнить и написать заново, а не переписывать.
Как запоминать паттерны?
Просто посмотреть решение недостаточно.
Если задачу не решил — надо ее перерешать.
Я вел простой дневник:
• название задачи
• тема/паттерн
• сколько времени решал
• результат: решил / почти решил / не решил
• комментарий: где ошибся, что надо запомнить
Если не решил задачу — перерешать на следующий день.
Если решил, но с трудом — вернуться через 2 дня.
Если решил легко — можно отложить подальше.
Смысл не в том, чтобы запомнить конкретную задачу, а в том, чтобы в следующий раз увидеть похожий паттерн быстрее.
В следующем посте из серии — как тренироваться ближе к реальному собесу.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Первый экзамен в сессии закрыт на отлично 🍸
Самое смешное, что перед экзаменом я даже не прочитал список вопросов, которые будут
Но, справедливости ради, препод не душил
Сессию пока не победил, но первый раунд забрал👊
Самое смешное, что перед экзаменом я даже не прочитал список вопросов, которые будут
Но, справедливости ради, препод не душил
Сессию пока не победил, но первый раунд забрал
Please open Telegram to view this post
VIEW IN TELEGRAM
Подготовка к алгособесу 🫣 :
Что учить?
Как решать задачи и запоминать паттерны?
🔣 Как тренироваться ближе к реальному собесу?
Как подходить к задаче на собесе?
Когда есть база, надо тренироваться не просто решать задачи, а делать это в условиях, похожих на собес.
Вот что я делал перед алгособесами на стажку в Яндекс.
Лучше решать задачи без IDE.
Литкодовские задачи можно решать прямо на LeetCode. Там уже есть условие, тесты, удобная проверка и редактор без подсказок.
А если задача не с LeetCode, можно писать код в Avito Code - это обычный редактор, который похож на редактор с собесов.
Еще помогает проговаривать решение вслух прямо во время подготовки.
Не просто молча писать код, а объяснять себе ход мысли:
Со стороны выглядит странно, потому что сидишь и разговариваешь сам с собой😬 . Но это нормальная тренировка.
На собесе все равно придется объяснять ход мысли. Если до этого всегда решал молча, то резко начать нормально рассуждать вслух будет тяжело.
Еще можно устраивать себе тестовые собесы.
Берешь 2-3 задачи и ставишь таймер на час.
Условия такие:
• без подсказок
• писать код как на реальном собесе
• все проговаривать вслух
Это поможет понять реальный уровень и меньше волноваться на самом собесе.
В следующем посте из серии — как подходить к задаче на самом собесе.🫶
Что учить?
Как решать задачи и запоминать паттерны?
Как подходить к задаче на собесе?
Когда есть база, надо тренироваться не просто решать задачи, а делать это в условиях, похожих на собес.
Вот что я делал перед алгособесами на стажку в Яндекс.
Лучше решать задачи без IDE.
Литкодовские задачи можно решать прямо на LeetCode. Там уже есть условие, тесты, удобная проверка и редактор без подсказок.
А если задача не с LeetCode, можно писать код в Avito Code - это обычный редактор, который похож на редактор с собесов.
Еще помогает проговаривать решение вслух прямо во время подготовки.
Не просто молча писать код, а объяснять себе ход мысли:
Сначала я проверю ограничения. Тут массив отсортирован, значит можно использовать два указателя. Один ставлю в начало, второй — в конец. Если сумма больше target, двигаю правый указатель. Если меньше — левый.
Со стороны выглядит странно, потому что сидишь и разговариваешь сам с собой
На собесе все равно придется объяснять ход мысли. Если до этого всегда решал молча, то резко начать нормально рассуждать вслух будет тяжело.
Еще можно устраивать себе тестовые собесы.
Берешь 2-3 задачи и ставишь таймер на час.
Условия такие:
• без подсказок
• писать код как на реальном собесе
• все проговаривать вслух
Это поможет понять реальный уровень и меньше волноваться на самом собесе.
В следующем посте из серии — как подходить к задаче на самом собесе.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Решил на радостях немного порадовать кого-нибудь еще, поэтому небольшой розыгрыш 😊
Приз — подарок в тг за 500⚡️
Заодно интересно затестить бота для розыгрышей, потому что раньше такого не делал
Удачи!😘
Приз — подарок в тг за 500
Заодно интересно затестить бота для розыгрышей, потому что раньше такого не делал
Удачи!
Please open Telegram to view this post
VIEW IN TELEGRAM