Привет, Хабр! Я фронтенд-разработчик с опытом в 5 лет. Пришел в Алиэкспресс джуном, ушел сеньором — за это время поработал почти во всех уголках продукта.
В какой-то момент я понял, что хочу двигаться дальше и просить повышение. Но тут случилось сокращение. Стало ясно, что, если в компании идут сокращения, просить повышение бесполезно. Пришло время искать новое место.
Дисклеймер: статья написана на основе интервью с фронтенд-разработчиком Владиславом Фоминым.
Чем я занимаюсь как фронтенд-разработчик Я делаю видимую часть сайтов и приложений. Все, что вы видите на экране: кнопки, формы, анимации, выпадающие меню — это моя работа.
Дизайнер приходит ко мне с картинкой — макетом. Это просто статичное изображение того, как должна выглядеть страница. Обычно это файл в Figma или другом графическом редакторе.
По сути, строю мост между красивой картинкой и работающим продуктом. Работаю с HTML, CSS и JavaScript, использую низкоуровневые фреймворки вроде React или Vue.
Поиск работы занял около двух месяцев: с июля по начало сентября. За это время сделал 113 откликов на HH, плюс еще несколько десятков на других площадках. Прошел 15 собеседований в разных компаниях. Получил 5 офферов.
Поставил серьезное фото. Слева — то, что было до. Справа — то, что поставил в финальной версии резюме.
>>328328096 (OP) Озон Сначала был HR-скрининг, потом скрининг с тимлидом. Спрашивали про опыт, про то, что работал, как работал. Общие вопросы про команду.
Далее техсобес. На техническом собеседовании сначала были четыре алгоритмические задачи уровня Medium с LeetCode. Пришел без подготовки по алгоритмам, поэтому решать их было тяжело.
Потом сказали: ладно, давай тогда открывай браузер. Попросили расшарить экран, создать пустой проект. Задача: сделать окно с видео с веб-камеры, добавить кнопку, по клику на которую делается скриншот и сохраняется.
Это был лайв-кодинг, но не абстрактные алгоритмы, а реальная продуктовая задача — то, что может понадобиться в работе. Мне сказали, что могу выбрать любую технологию. Могу писать на чем угодно. Такой формат мне нравится намного больше.
Полтора часа кодил, был доволен. Это одно из лучших собеседований, на которых я был. Потому что это была реальная продуктовая задача.
Сбер Собеседовался в 2 разных проекта. Первый цикл собеседований был в платформенную команду Сбертеха.
Давали задачи из LeetCode уровня Easy. Например, задачи на TypeScript:
Generic Length — передать массив, generic должен иметь тип длины этого массива.
FlatMap — массив массивов превратить в массив одной длины, все через типы TypeScript.
Была задача на troubleshooting React-компонента. Дали код и попросили найти ошибки, исправить их и предложить улучшения. При этом нужно не просто править код, а рассказывать, что делаешь и почему.
Еще задача на React: есть компонент с useLayoutEffect, useEffect, useRef и console.log — в каком порядке выведутся и почему. Начал говорить: useLayoutEffect у нас происходит до useEffect и так далее. Там немного ошибся сначала, но потом сложилось правильное решение в голове.
В результате они выбрали внутреннего сотрудника.
Позже проходил еще одно собеседование в другую команду Сбербанка. Во многих задачах я наошибался, поэтому ничего не ждал. Был сам с собой честен и пошел дальше назначать себе собеседования.
Тильда Был классический HR-скрининг. Потом техсобес.
Тильда не работает с фреймворками, работает с чистым JS. Поэтому реактовых вопросов не было. Собеседование строилось приятно, хорошо поболтали.
Event Loop — опять же, как везде. Пара задач LeetCode уровня Easy.
Что отличало Тильду — у них была задачка на понимание UI/UX. Собеседователь показывал два компонента или два кусочка страницы скриншотами и говорил: что тебе больше нравится и почему. Нужно было объяснить, что более выгодно с UI/UX точки зрения. Я объяснял, что правильно, что неправильно по моему мнению, почему бы я так никогда не сделал, даже бы поругался с дизайнером, что так делать не нужно.
Была интересная задача про сравнение объектов. Есть объект и есть второй объект — как их сравнить? Ответил, что можно через lodash проверить. Говорят: а если lodash нет? Такой: тогда берем JSON.stringify и сравниваем их между собой.
Дальше началась раскрутка вопросов: а если передать в JSON.stringify объект с функцией? Начал чесать репу: наверное, функция не будет отображаться. Так оно и было. Говорят: а как тогда сделать, чтобы у нас сравнение было с функцией? Тут я уже начал еще больше чесать репу.
Еще спрашивали про подключение JavaScript-скриптов к страницам. Так как я особо этим никогда не занимался, рассказал, как это было раньше: можно положить в конец страницы. Спрашивали более современные штуки — отложенный скрипт defer или асинхронный async. Про async атрибут я вспомнил, а вот про defer вообще никаким образом не смог.
Еще был вопрос: как удалить дубликаты из массива без Set? Говорю: есть массив, надо убрать дубликаты, просто кладем их в Set и все, дубликатов нет, потому что в Set их просто быть не может. Говорят: а давай сделаем без Set. Я: а зачем делать без Set, если он есть?
Отказ. В негативном фидбэке сказали, что не хватило более глубоких знаний по трем вышеперечисленным пунктам. В позитивном: хорошо сделал нормализацию, подумал о мапах, хорошие софт-скиллы.
X5 Было 3 этапа. HR-скрининг, на нём всё стандартно.
На техсобесе:
Задачи из LeetCode — примерно все то же самое, уровень Easy. Немного поговорили про Event Loop, решили несколько задачек.
Была очень приятная задачка. Дают React-компонент, и нужно произвести troubleshooting. Быстренько посмотрел, что действительно можно починить, предложил какие-то решения. Добавил типизацию, потому что с ней легче читается код.
Это больше проверка на насмотренность. Она проверяет реальный опыт.
Дальше был третий этап — софтовый фит.
Софтовый фит (или cultural fit, культурный фит) — это встреча, где проверяют не технические знания, а то, подходишь ли ты команде и компании по человеческим качествам. Смотрят на коммуникацию, как ты решаешь конфликты, как работаешь в команде.
Пообщался с руководителем. Все прошло хорошо. Этот оффер я в итоге и принял.
Какая ж это все ебаная галиматья и трата времени, слишком скрупулёзно, слишком душно, такое чувство что им не работник нужен, а чмо на которое можно повесить все задачи и освоить бюджет эффективно для себя в первую очередь.
А я зашёл в городскую администрацию на вакантную должность начальника отдела информации. Спросили: "Программу сможешь поставить?" Я: "Угу." Принят. Даже тест найти "setup" не давали. 72 на руки, мне норм
>>328328096 (OP) >Поиск работы занял около двух месяцев >сделал 113 откликов на HH >15 собеседований в разных компаниях. Получил 5 офферов маняномика на россии всё здорово сливяне сами себя победили
>>328328096 (OP) сисадмин в утреннике, опыт 3-4 года не знаб как там у джунов, но я нашел 350к/мес ДС удаленка работу прямо перед новым годом в сфере хранения данных да и вообще - не доберутся ваши нейросети до администрирования никогда, потому что это Я решаю нах будет жить безмозглая железка или нет
>>328328096 (OP) А нахуя вообще на рынке нужны эти вротендеры? Он что, знает все подводные камни хибернейта как Влад Михалцев или может по любому вопросу пояснить за спринг как Жека Борисов?
Обычный кнопкокрас, который на проектах красил кнопки и делал margin-left: 2px целых 5 лет. Надеюсь, скоро такая профессия как вротенд исчезнет как явление.
Ты либо бэк, который может сам запилить вротенд по умолчанию - либо Поздравляю с новым годом!. При этом я лично хочу чтобы не было такой профессии как фуллстек, а чтобы обычный бэкенд-разработчик всё это мог делать по умолчанию на работе.
В какой-то момент я понял, что хочу двигаться дальше и просить повышение. Но тут случилось сокращение. Стало ясно, что, если в компании идут сокращения, просить повышение бесполезно. Пришло время искать новое место.
Дисклеймер: статья написана на основе интервью с фронтенд-разработчиком Владиславом Фоминым.
Чем я занимаюсь как фронтенд-разработчик
Я делаю видимую часть сайтов и приложений. Все, что вы видите на экране: кнопки, формы, анимации, выпадающие меню — это моя работа.
Дизайнер приходит ко мне с картинкой — макетом. Это просто статичное изображение того, как должна выглядеть страница. Обычно это файл в Figma или другом графическом редакторе.
По сути, строю мост между красивой картинкой и работающим продуктом. Работаю с HTML, CSS и JavaScript, использую низкоуровневые фреймворки вроде React или Vue.
Поиск работы занял около двух месяцев: с июля по начало сентября. За это время сделал 113 откликов на HH, плюс еще несколько десятков на других площадках. Прошел 15 собеседований в разных компаниях. Получил 5 офферов.
Поставил серьезное фото. Слева — то, что было до. Справа — то, что поставил в финальной версии резюме.