Макс из Софи
10K subscribers
1.25K photos
55 videos
7 files
913 links
Автоматизировал поиск работы - https://sofi-assistant.com/landing/

Написать мне в лс: @maxim_primak

№ 4988474654
Download Telegram
Техническое собеседование junior Java разработчика 👨‍💻

Привет, друзья!

Мы записали для вас пробное интервью на позицию junior Java разработчика. Собеседование провел Лениз – Team Lead & Senior Java разработчик в M.Видео.

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

Тайминг по интересным вопросам:

12:28 - Чем отличается Docker от Kubernetes?

26:32 - Что такое Kafka?

29:25 - Как бы ты организовал метод Delete?

41:57 - Простой способ реализации кеширования

50:03 - Чем отличается hashset и linked-hashset?

1:05:05 - Какой жизненный цикл объектов, которых создает Spring?

Приятного просмотра!

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

Также у нас проходит конкурс на бесплатное Mock Interview по Python с Данилом в этом посте. Результаты подведем уже завтра.
🔥10👍3
Внезапный вопрос! Хотели бы вы больше узнать про скрам?
Anonymous Poll
57%
Да
15%
Нет
27%
Опять какой-та скам…
Макс из Софи
Внезапный вопрос! Хотели бы вы больше узнать про скрам?
Про скрам 🏃‍♂️

Давай поясню…

Меня зовут Макс, я являюсь основателем компании codereview и сам использую скрам в своих проектах.

Мы используем его в нашей команде разработки devs battle, а также активно его тестируем и применяем в команде маркетинга. 😳

Поскольку команда у нас не очень большая, роль скрам мастера я взял на себя, и вот уже несколько месяцев я совмещаю две роли: продукт оунера и скрам мастера.

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

Если это звучит интересно, то ставь 🔥, чтобы не оставить мне шансов закинуть эту идею на дальнюю полку 😉

#скрам
🔥66👍4👎2
Макс из Софи
Розыгрыш пробного интервью по Python 🔥 Привет, друг! Мы решили порадовать тебя конкурсом. Разыгрываем mock interview по Python от нашего технического ментора Данила. С помощью пробного собеседования ты получишь рекомендации от Данила о том, на какой грейд…
🔥 Итоги конкурса 🔥

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

Мы выбрали Александра победителем. Хочется, чтобы Александр развеял все сомнения и понял свою ценность как специалиста. А мы поможем ему в этом.

Запись с собеседованием будет здесь и на нашем YouTube канале.

Впереди у нас еще много конкурсов. У каждого есть шанс на победу. Подписывайтесь на нас и включайте уведомления, чтобы не пропустить все самое интересное.
👍10
Что делать, если у тебя нет коммерческих проектов?

Знакома ли тебе ситуация, когда ты учился программированию сам, в универе или на курсах, а опыта в коммерческой разработке у тебя еще нет?

Тогда эти советы от наших технических менторов для тебя.

Пополняй портфолио классными проектами.

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

Научись писать хороший код.

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

Учись работать в команде.

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

Будь проактивен.

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

Мы пошагово помогаем начинающим разработчикам без опыта в коммерческой разработке найти работу и трудоустроиться. Запишись к нам на бесплатную консультацию, чтобы понять, какие у тебя есть шансы на получение оффера в разработке.
👍8👎51
Наши офферы за февраль

Делимся с вами успехами наших выпускников и рассказываем о нескольких офферах за февраль.

1 оффер – Лев. 4 недели от первого обращения к нам до получения. Позиция – Python developer в компании IC8. IC8 занимается развитием IT-проектов в разных областях экономики, от телекоммуникаций до застройщиков.
Льву помогали HR ментор Катрин и технический ментор Данил.

2 оффер – Эльдар. Получил оффер чуть менее, чем за 4 недели. Позиция – Junior Java developer в ООО Наука. Компания занимается IT-продуктами для крупного промышленного производства, финансов, строительства, документооборота и прочего.
Эльдара сопровождали HR ментор Катрин и технический ментор Николай.

3 оффер – Максим. 5 недель от пробной консультации до оффера. Позиция – Junior Java developer в Web Control. Компания занимается решением задач, связанных с обеспечением внутренней безопасности, оптимизацией и повышением эффективности использования IT и телекоммуникационных инфраструктур.
Максима вели HR ментор Катя и технический ментор Лениз.

Давайте поздравим ребят и пожелаем им интересных рабочих задач и классного коллектива!

Хочешь тоже получить свой оффер? Оставляй заявку на бесплатную консультацию, на которой мы оценим твои шансы на трудоустройство и наметим пошаговый план.
29🔥12👍5👏1😢1
Отзыв о нашей работе 🔥

Делимся с вами классным отзывом от Дениса на нашу консультацию. Его сопровождала HR ментор Аня.

Пожелаем Денису воплощения идей о поиске работы и удачи! ☺️

Хочешь тоже обойти стену препятствий, которая мешает тебе на пути к офферу мечты? Тогда оставляй заявку здесь.
🔥7👍3
Как преодолеть страх перед собеседованием?

Своей историей с нами поделился Иван. Он в разработке третий год. Раньше работал на фрилансе, сейчас хочет быть штатным сотрудником. Но при трудоустройстве Иван столкнулся с проблемой. Он испытывает страх перед интервью, а на самом собесе теряется из-за волнения, поэтому не может раскрыться как специалист.

Если тебе знакома ситуация, как у Ивана, то этот пост для тебя.

Наш HR ментор Аня составила для тебя советы, которые могут помочь тебе преодолеть страх перед собеседованием:

Думай позитивно.

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

Заранее подготовься к интервью.

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

Сделай дыхательную гимнастику.

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

Помни о своей индивидуальности.

Не пытайся быть кем-то другим на собеседовании. Просто будь собой и попробуй показать, что ты уникальный человек со своими сильными сторонами и интересами.

Пройди пробное собеседование.

Наши менторы проводят mock interview, чтобы подготовить кандидатов к реальным собеседованиям как морально, так и технически. Они помогают преодолеть страх перед интервью, отточить навык самопрезентации и прокачать технические скиллы. Если ты хочешь получить больше практики в прохождении интервью, а также узнать свои слабые места, оставляй свою заявку здесь.
6
Интересные факты о менторах 📚

Друзья, мы провели небольшое исследование о наших менторах. Делимся с вами интересными данными:

📱 Общее количество контактов у наших HR менторов в LinkedIn – 12493.
💼 Суммарный стаж работы менторов – 94 года.
👨‍💻 Количество трудоустроенных разработчиков – 163 оффера.
🐈 Количество котиков на аватарках менторов – 87.

Ты можешь познакомиться с нашими менторами поближе и задать вопросы на бесплатной консультации. Регистрация по ссылке.
13😁2
Задача по Python 🐍

Друзья, с вами на связи Данил, технический ментор и Software Engineer в Stripe.

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

Скриньте свое решение и отправляйте нам в комментарии. Мы опубликуем наше уже послезавтра, 22 марта.

Поехали! 🚀
🔥4👍2
Про скрам. Intro 🐣

Ну что, не прошло и года)) Надеюсь еще не отписались те, кто ставил огонек под прошлым постом про скрам.

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

Лично мне в понимании скрама очень сильно помогли 3 вещи:

1) Книга “Хенрика Книберга Scrum и XP” по редакцией Алексея Кривицкого. Очень рекоммендую. Чисто практика, никакой ненужной теории. Все как мы любим 🙂
Небольшая книжка которая читается за 3-4 дня.

2) Книга “Быстрый старт в agile ретроспективы” так же от Алексея Кривицкого. Чувак реально шарит)). Читается за 2-3 часа.

3) Workshop по скраму в одной Software фирме: Prodyna. Тогда я только погружался в разработку, и он помог впервый попробовать мне скрам на практике. Да, совет вряд ли дельный, но если вы увидите где-то в своем городе воркшоп по скраму, то я настоятельно рекомендую его посетить. Мероприятие было бесплатным.

4) Как альтернатива воркшопу можно посмотреть курс от гугла. Скажу честно, сам не смотрел, поэтому за качество материала не ручаюсь, но думаю гугл плохого не посоветует)

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

Серия постов по скраму будет состоять из следующий частей 👇

Часть 1. Почему скрам?
Как мы пришли к идеи начать использовать скрам, зачем он вообще был нужен и есть ли смысл усложнять процесс разработки и менеджмента команды?

Часть 2. Какие результаты?
Что реально круто показало себя в скраме, а что наоборот не очень.

Часть 3. Почему хейтят скрам?
Почему многие разработчики не хотят работать по этой методике и как исправить свое отношение к скраму.

Ну и разумеется, как всегда, чтобы понимать, что все это пишется не в пустоту, заряжайте свои пальцы вверх 👍 :)
👍26👎3
Решение задачи по Python 🐍

Друзья, позавчера мы опубликовали задачу от Данила, нашего технического ментора и Software Engineer в Stripe.

Спешим поделиться с вами решением:

python
def count_and_say(n: int) -> int:
res = [1]
for _ in range(n-1):
new_res = []
cur_num = res[0]
cnt = 1
for elem in res[1:]:
if elem != cur_num:
new_res += [cnt, cur_num]
cnt = 1
cur_num = elem
else:
cnt += 1
if cnt:
new_res += [cnt, cur_num]
res = new_res
return int(''.join(str(t) for t in res))

def count_and_say_generator():
yield 1
res = [1]
while True:
new_res = []
t = 1
cur_num = res[0]
cnt = 1
for elem in res[1:]:
if elem != cur_num:
new_res += [cnt, cur_num]
cnt = 1
cur_num = elem
else:
cnt += 1
if cnt:
new_res += [cnt, cur_num]
res = new_res
yield int(''.join(str(t) for t in res))

@dennisshulgin, @Gontafi, @arsegg, вы – молодцы!

Мы в codereview прокачиваем твои навыки решения задач поэтапно:

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

- Если вам трудно решить задачу, технические менторы подают идеи, что лучше использовать (библиотеку, фреймворк, подход) для решения проблемы и делятся полезной документацией.

- После решения задачи наши Senior разработчики делают код ревью и рекомендуют, как оформить/переписать/улучшить код, что добавить в него.

Записаться к нашим техническим менторам и попрактиковаться в решении задач можно, оставив заявку на сайте.
👍3👎1
Тесты для проверки кода 💻
Часть 1

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

Существуют различные классификации видов тестирования: по объекту, знанию внутреннего строения, степени автоматизации, степени изоляции и т. д.
Мы с вами разберем виды тестирования по степени изоляции, то есть объему того, что именно тестируем — отдельную функцию или весь объект в целом. Их существует три вида:

- юнит-тестирование
- интеграционное тестирование
- end-to-end тестирование

Сегодня рассмотрим юнит-тестирование. Завтра поговорим об интеграционном и end-to-end тестировании.

Юнит-тестирование

Юнит-тестирование представляет собой полностью изолированные тесты, которые покрывают классы или отдельные функции. С утилитами и чистыми функциями всё просто: подаем тестовые данные на вход, получаем результат и сравниваем с ожиданиями.

А как поступать с компонентами, у которых есть зависимости в виде других компонентов или даже сторов и внешнего API? Надо мокать! (ударение на О 😌)

Чтобы стало немного понятней:

Мок (mock) — объект-имитация. Он повторяет нужный компонент с необходимой точностью и реализует его интерфейс или API. Используется только в тестовом окружении. Например, для тестов бэкенда можно замокать репозиторий, чтобы он записывал и читал данные из оперативной памяти, в то время как реальный репозиторий работает с БД.

Стаб (stub) — объект-заглушка с интерфейсом связанных компонентов или API, но без логики. Например, объект, метод которого возвращает один и тот же результат на его вызов.

Обычно стабы используют для заглушек API. Например, запрос GET api/user/1 будет возвращать одного и того же юзера без необходимости запускать реальный бэкенд.

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

Кстати, у нас в codereview есть очень крутой формат, на котором мы прокачиваем этот скилл у студентов. На пробных Mock Interview мы часто даем задание на лайвкодинг. Обычно оно делится на два этапа:

1) решение задачи
2) написание тестов к данному решению.

Такой формат очень часто распространен на реальных собеседованиях. Наша задача здесь — направить и показать, как правильно писать юнит тесты к тем методам, которые вы реализовали, чтобы не зафакапиться на собеседовании. Заявку на вступление на наш карьерный трекинг можно оставить на нашем сайте.

Желаем всем терпения и сил в написании тестов 😉
👍101👎1
У меня достаточно опыта для этой вакансии?
А я точно хорошо готов к собеседованию?


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

Всем, кто прошел — даем крутые материалы бесплатно. Они уже ждут в конце теста ☺️
🔥9👎3🥰1
Тесты для проверки кода 💻
Часть 2

Друзья, вчера мы с вами разобрали, что такое юнит-тестирование. Настало время узнать о двух других видах тестирования: интеграционном и end-to-end.

Материал подготовила Вика, наш технический ментор и Senior JavaScript разработчик.

Интеграционные тесты

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

Чётких правил здесь нет, они исходят из задачи компонента. Но есть несколько советов. Например, не стоит тестировать логику работы внешних библиотек (реакта и его стейта, баз данных) и прочих не зависящих от нас вещей. Кроме того, в этих тестах не стоит смотреть на визуальное отображение. Нас интересует, чтобы компонент работал. Тестировать нужно только то, что часто ломается: бизнес-логику, модель данных и пограничные ситуации. Здесь в первую очередь ориентируемся на пользовательские сценарии.

Есть правило: один тест — один сценарий. Если есть общие части у тестов, их выносят в отдельную функцию и выполняют в beforeEach, либо просто руками там, где она нужна. Это хорошо согласуется с принципом единой ответственности.

End-to-end тестирование или сквозное тестирование

End-to-end-тестирование эмулирует действия пользователей в среде, идентичной проду. Если речь идёт про клиент-серверное веб-приложение, то для его тестирования нужно поднимать полноценные фронт и бэк и писать бота, повторяющего поведение пользователя. Он будет заходить на сайт, нажимать кнопки, пытаться авторизоваться и т. д.

e2e помогает избежать регрессионного тестирования, автоматизировать работу тестировщиков и отловить баги, которые не смогли отловить нижние уровни тестов.

Мы в codereview тренируем с тобой любой тип тестирования или все из них. Тренировка тестирования проходит совместно с решением задач поэтапно:

- делаем код чистым при помощи codereview;
- отвечаем на появляющиеся вопросы;
- исходя из текущих знаний предлагаем возможные темы, которые стоит изучить, и разбираем их;
- готовим к собеседованиям и разбираемся что нужно, чтобы пережить livecoding;
- часто практикуем livecoding для улучшения качества кода студентов и для того, чтобы перебороть страх решения задач на алгоритмы на собеседовании;

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

Заявку на карьерный трекинг можно оставить тут.

Удачных тебе тестов!
👍6
Что сделать перед поиском работы?
Часть 1


На связи Арина, HR ментор в < codereview />. Я написала для тебя чек-лист на тему того, что сделать и подготовить перед поиском работы.

Чек-лист поместился на два поста. Первый опубликовали, второй выйдет на канале сегодня в 18:20 по Мск.

Итак, а вот и сам чек-лист:

1. Определи свои цели и приоритеты

Ответь себе на вопросы, приводя конкретные примеры:

1) Что бы ты хотел получить от компании и команды в перспективе 1-1.5 лет? Например: развитие существующего стека и изучение новых технологий (каких?), поучаствовать в разработке микросервисов или социально-значимого проекта или, возможно, получение опыта в командном тестировании и review кода;

2) Четко определи себе направление развития по фреймворкам, языку программирования и инструментам разработки, не берись за все подряд, подтягивай знания системно;

3) Какие бенефиты и какое вознаграждение тебе сейчас хотелось бы получать?

4) Определи свою точку А. В каких технологиях ты лучше разбираешься, а в каких хуже, где есть пробелы и на что нужно будет сделать упор. Какой у тебя грейд и на какие вакансии ты можешь откликаться? Чтобы получить объективную оценку, лучше всего попросить кого-то из своих знакомых опытных разработчиков провести с тобой небольшое интервью. Если помочь некому, то ты можешь записаться на такое собеседование с нашим ментором codereview. Записаться на него можно на нашем сайте.

👉 Наш пост про стратегии поиска работы.


2. Проанализируй рынок труда и составь список потенциальных работодателей

Анализ рынка труда происходит за счет сбора открытых вакансий по выбранному языку программирования, выбору страны поиска и необходимого грейда. Информация об открытых вакансиях в конкретных компаниях позволит лучше ориентироваться по требуемым навыкам и стеку технологий.

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

3. Подготовь свое резюме и сопроводительное письмо

Составь структурированное резюме, которое наилучшим образом подчеркивает твой опыт, квалификацию и навыки. Обрати внимание на размер резюме, орфографию и пунктуацию, краткость и емкость информации о себе и своем опыте. Лучше иметь 2 резюме: одно по формату hh.ru, другое более адаптивное, например созданное на Canva.

Создай несколько шаблонов сопроводительных писем, позже ты сможешь адаптировать их под конкретные вакансии.

👉 Наши советы по составлению резюме тут.

4. Проверь свои социальные сети и профессиональный образ

Убедись, что твои профили в социальных сетях (LinkedIn, Twitter, Вк и т.д.) и твой профессиональный образ в интернете соответствуют тому, кого ты хочешь показать работодателям. Удали любую информацию или фотографии, которые могут навредить твоей репутации.

Желательно, чтобы фото в резюме совпадало с фото на аватарке в социальных сетях.

Мы распишем следующие 3 пункта сегодня вечером. Ставь 🔥, если пост для тебя полезен.
🔥30👍43
Что сделать перед поиском работы?
Часть 2


А вот и вторая часть нашего чек-листа по подготовке к поиску работы.

Материал для вас подготовила Арина, HR ментор.

5. Подготовься к откликам на вакансии и к их структурированию

Оставляй отклики только на релевантные вакансии, где сможешь пройти интервью и продемонстрировать, что твои навыки будут полезны. Не спамь, откликаясь на все подряд. Каждый отклик начинай с сопроводительного письма, адаптированного под конкретную вакансию. Старайся откликаться системно, а не раз в неделю. Фиксируй отклики в отдельную табличку, чтобы можно было всегда вспомнить с кем и когда ты взаимодействовал.

Наши посты по темам:

👉 Как откликаться?
👉 Структурирование поиска работы

6. Подготовься к интервью и самопрезентации

Изучи информацию о компании, где будешь проходить интервью. А именно, зафиксируй себе: миссию, ценности, культуру, проекты и продукты, которые есть в компании. Далее обязательно сохрани себе информацию о вакансии, на которую претендуешь.

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

Далее поработай над самопрезентацией, ведь очень важно продемонстрировать не только свои hard skills, но и soft skills.

👉 Наш Топ-5 советов по самопрезентации.

7. Работай с обратной связью

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

👉 Пост на тему: Что делать, если долго не получаешь обратной связи после интервью.

Это полный список того, что тебе нужно подготовить перед тем, как искать работу. Наши менторы помогают с каждым этапом поочередно и составляют стратегию, как прийти к офферу. Записывайся на пробную бесплатную консультацию, чтобы понять, как действовать именно тебе.
🔥86👍3