ПРОВАЛИЛ СОБЕС. Frontend ЗП 180к. REACT LIVE CODING
2024 ж. 18 Мам.
21 417 Рет қаралды
Первое frontend собеседование после большого перерыва. Спрашивали теорию по js, ts, nextjs. Решал задачи на react (live-coding). После этого собеседования понял свои дыры в знаниях и пошёл устранять)
0:00 Вступление
0:53 Асинхронность
2:55 Event loop задача
5:49 Булевы операторы
6:51 localStorage, sessionStorage, cookie
8:52 Utility Types TS
10:30 any и unknown
12:08 KISS, DRY
13:14 React-задача №1
22:39 React-задача №2
28:16 react-hooks
31:04 NextJS и SSR
34:42 Заключение
Буду рад поддержке канала: boosty.to/cooders
Очень хороший, дружелюбный собес. Здорово, что после каждого вопроса дают объяснение
Бро, спасибо, что делешь видосы!
Пожалуйста, надеюсь было полезно)
Спасибо за видео. Очень полезно. И ты сам молодчина.
Спасибо за видео, ждём ещё таких!!!
Круто когда собеседующий сам грамотно отвечает на свои вопросы.
Хорошие вопросы!!!! Для как для джуна очень интересно. Крутяк!!!! Рекомендую к просмотру.
Ребята очень приятные , хотел бы работать с такими.
Понравилась задачка, попробую сам решить в коде
на 22:00 интервьюер слегка неправильно ответил: не из-за двойного рендера таймер на два инкрементится, а из-за двойного запуска эффектов в стрикт моде. вместо обычного mount происходит mount + cleanup + mount, а так как в коде изначально не было клинапа, два интервала работали на протяжении всей жизни компонента
Попробовал решить вторую задачу по Реакт, ушло около 40 минут, на собесе думаю достаточно было начать и показать ход объяснений. Список по сути граф, я решал через создание что-то типа списка смежности для каждого корня, и дальше с помощью dfs обходил рекурсивно
Начало уже огонь
Супер
28:17 только решение (или задание) некорректное, так как в итоговом списке отсутсвуют Element 24 и Element 22. Потому что id их родителя ссылается на несуществующий элемент
Плюс этого собеседования в том, что интервьюер отвечает на свои же вопросы. Часто бывает, что ответа ты не услышишь правильного.
Привет!) Можешь сказать, часто ли тебя на собесах просят камеру включать, чтобы твое лицо видели?
ребята собеседующие хороши
Спасибо, бро. Собес получился достаточно приятным, без напряжения. Это на позицию мидла?
Забавно, ответил и решил все, но на собесах скорее буду тупить как картошка. Решение с вложенностями правда решил по другому. С помощью нового компонента, который принимает детей и их детей передавая в дочерний компонент уже урезанный массив. И на вопросе с промисами в принципе дал два ответа верный и неверный, но думаю это можно засчитать, потому что ход мыслей у меня был верный.
Главный навык на собесах это даже не идеальное знание теории, а умение сохранять спокойствие. Т.к если начнешь стрессовать, то пол твоей теории благополучно полетит в окно, даже если ты вполне в состоянии решить поставленные задачи.
Я думаю, что то что ты сказал, что ты не в курсе про двойной ререндер было решающим в том, что собес завалил. Стрик мод обернуто все приложение. А юс эффект чистится не только при размонтировании, но и перед каждым обновлением компонента.
Не понял про дев режим в кейсе когда сет интервал в useEffect, типа в нем два раза рендерится, но так по идее не должно быть, и тут как буду кандидата запутать хотели, по дефолту же с пустыми депсами колбэк в эффекте один раз выполниться должен
В дев режиме, а конкретнее в стрикт моде и дев режиме компоненты маунтятся по 2 раза
@@viktorkarpov7951 Привет, а когда тогда сразу быть в режиме, чтобы один раз рендерилось? После билда только 1 раз будет?
анКноун - сразу все понятно с "чуваком"))
и высоту наверно называет хЕйт
тебя про прошлый опыт и проекты не спрашивают или вырезаешь? и почему-то нет вопросов по архитектуре. ещё такой вопрос на практике задачи проще чем ластовая на рекурсию?
Да, вырезаю, не хочу делиться этим. У меня темное прошлое, бууу)) А задача на рекурсию адекватная. Когда то придётся пилить например дерево папок по плоскому списку - вот и пожалуйста
@@coder-interviews а насколько подробно расспрашивают про прошлые проекты. интересуются ли деталями, какие сложности возникали? или просто говоришь пару предложений о проекте и всё? ещё интересно активный ли у тебя гитхаб и спрашивали ли когда-то о проектах в нём. просто есть мнения что его никто не смотрит доводилось юзать вебсокеты?
@@astarta7772 просят рассказать о прошлых проектах, о последних интересных задачах которые решал. Гитхаб не просят, он у меня мертвый. Показывал только при трудоустройстве джуном на первую работу
здорово, а технические скринколы с эйчар тоже бывали?
как мне показалось - там мало интересного
очень логично по сср объяснешь
делал сайт и юзал яндекс метрики на реакт приложении спа - все роботы отрисовали и проиндексировали, просто знаю что спашки в очереди индексирования где то в конце стоят по приоритету
Оо, спасибо. Сам с этим не сталкивался и не знал. От чего то поверил интервьюеру на слово, теперь понимаю что было бы здорово это проверить на своем опыте.
С учетом того, что в 90% спашки рисуют какой-то дэшборд, закрытый логином, силюсь понять, для чего там индексирование и метрики
@@tnsaturday это кейс если ты не хочешь юзать сср но при этом хочешь что бы хотябы базовая инфа проиндексировалась тип пара заголовков и дескрипшн. + всякая общедоступная инва типо контакты или о нас. Люди же как то должны найти тебя в поисковике по ключевым словам или всем прямую ссылку скидывать?
На мой вкус довольно неплохо отвечал - жалко что с деревом запутался. Было бы хорошо еще накинуть немного анализа задачи - чекнуть потенциальную глубину вложенности, показать что думаешь о переполнении стека, сложности алгоритма, читаемости делая выбор между рекурсией и стэком. Но кмк на данный рейт вполне могло хватить и так. Просто чуток не повезло с конкурентами. И да, интервьюеры приятные, вопросы неплохие - без ненужной сложности и очередных бессмысленных тестов на экзотическое приведение типов
list to tree преобразование на позу фронта с зп 180к - не сложность, так и запишем =)
@@tnsaturday а разве сложность? Ну я действительно могу сейчас немного не ориентироваться в ИТ зарплатах в России, но так полагаю это рейт на мидла/лоу-мидла. Я бы ожидал, что с таким мидл должен справляться достаточно уверенно, даже если и неоптимально. А с помощью интервьюеров находить и потенциальные проблемы.
В первой задаче это не dev режим виноват, а StrictMode в который обернут компонент! Так по умолчанию в новых версиях Реакта, сам тупил откуда этот второй рендер)
нужно просто очищать интервал, тогда даже со StrictMode работать будет
так стрикт мод только в деве
Ты слишком требователен к себе. Я посмотрел видео. Нормально ты отвечал на собесе. Не загоняйся так сильно =)
Не загоняюсь) Но всегда обидно когда понимаешь что мог пройти собес лучше, просто обновив знания за три-четыре часа
@@coder-interviews Согласен. Очень знакомое чувство. Желаю тебе удачи =)
Самый первый вопрос, что такое синхронность и от какой проблемы она избавляет , это что за вопрос, как его вообще понять ? ))
мне тож по началу послышалась синхронность, но там про асинхронность
блин, вторую задачу так и не смог решить, хотя решение оказалось довольно легким :(
Реально изи собес для 180к. Я получаю 100к и плюс минус почти всё знаю это. Так уж вышло что настоящие собесы даже на 150к спрашиваю всякую дичь с миллионом промисов, написанием кода чистом JS с квери селекторами и элементами ,который я ваще не помню нафиг он нужен ,если я пишу на реакт + тс + тайлвинд???
Собеседование - это как известно лотерея, как повезёт)
10.02 погода 21°C
Ахах, а у вас сколько?)
В итоге провалил собес или получил оффер?
Провалил, мне даже не ответил hr) Ну в целом думаю они не были довольны знанием ts и умением решать задачи))
@@coder-interviews мне понравилось как ты отвечал. Да, на некоторых моментах не идеально, но в целом нормально отвечал. Просто если нашли другого кандидата, то далеко не всегда лучшего по знаниям. В большинстве случаев выбрали кандидата т.к. он знает примерно как ты или +- больше или меньше, но готов работать за меньшую зарплату
@@ArtikMan1994 спасибо, бро)
@@coder-interviewsгнилая контора значит. В любой нормальной фирме не только ответят, но и технический фидбэк дадут
@@tnsaturday Сейчас на вакансии с удаленкой от тысячи откликов, даже на миддлов. Делать им нечего каждому фидбэк давать)
После того, как интервьюер заявил про асинхронность в джаве, стало ясно, что конторка так себе 🤣
А что конкретно не так? Там асинхронность достигается за счёт потоков.
@@meddwedd 🤡🤡🤡
@@tnsaturday класс CompletableFuture чем-то напоминает Promise из JS и может быть использован для асинхронности. Разве нет?
Ну по факту да, ты слабовато отвечал, так что тут всё объективно. Единственное до чего можно было докапаться это как они формулировали вопросы. В том плане, что некоторые были с подвохом, но возможно на это и был рассчёт
Это на Джуна что ль?)
пишу недоразумение в течении 15 минут)) про хуки они тебя запутали. ты хотел рассказать, что разные хуки под разные цели, а они спросили так, как будто хуки все вместе что-то одно привнесли.
Первый же вопрос: что такое синхронность? Т.е. не что такое parallel/concurrent, а некая синхронность. Надеюсь, исполнения. Сразу в помойку такого работодателя за пустые выебоны. Хуйкин здесь - представитель работодателя, и если последний не следит за качеством сотрудников - нанимайте из оставшегося говна. Спасибо
Специально несколько раз переслушал, я так понимаю, у интервьюера проблемы с дикцией, потому что такого понятия как синхронность не существует. Если речь идёт про выполнения, так оно не "синхронное", а последовательное. Синхронное бывает ныряние 🤣
@@tnsaturday синхронное взаимодействие - получение(ожидание) моментального ответа. асинхронное соответственно, не ждет моментального ответа.
@@mossovet8412 ну только никто не говорит никогда синхронность, потому что любой код и так синхронный по умолчанию. Говорят асинхронность, когда хотят подчеркнуть различия
Лайк не поставлю потому что картинка мерзкая. За работу держи комент
ты этого чудака просто в конце продавил, вот они тебя и не взяли
Странно, что нету вопросов по CSS и вообще по верстке, просто не раз замечал чисто 💩-код css за то мидлы "React/Angular" разработчики, это не хейт, я сам это заметил, что мало кто спрашивает на собесах саму верстку и не понимаю почему, ведь фронт 90% это html & css + js (10%) просто для динамики на странице, все
Ну если всё ограничивается лендингом то да. На моём проекте 90% сложности - функционал и преобразование данных.
Окончательно понятно, что конторка так себе стало, когда интервьюер спросил про то, зачем нужны хуки. Он очень жидко дал в рейтузы. 1) стейт - что, простите? Какое отношение имеет, например, useLayoutEffect к стейту? 2) логика - ну хорошо пример функционального компонента, который принимает один проп и в зависимости от значения рендерит либо одно, либо другое. Логика без хуков. В общем, уровень его понятен.
А фиг с тобой поспоришь😅
По-моему он ещё ошибся в понятиях stateless и statefull.
Открываем официальную документацию реакта и читаем: "Хуки - нововведение в React 16.8, которое позволяет использовать состояние и другие возможности React без написания классов." И что интервьюер сказал неверно?) "Какое отношение имеет, например, useLayoutEffect к стейту?" - самое прямое. В этом хуке мы можем изменять состояние или делать вычисления ДО отрисовки компонента, этот хук синхронный, в отличие от асинхронного useEffect, который запускается после рендера.
шептун ! из-за тебя приходится повышать звук, чтобы услышать твой шепот, а когда чел с экрана говорит понижать, потому что орет. Прекрати шептать нихера не слышно
Спасибо за отзыв. Действительно есть проблемы со звуком. Это первое видео которое записывал, не разобрался с настройкой записи своего звука + плюс посредственный микрофон у меня. Буду исправлять)