на 22:00 интервьюер слегка неправильно ответил: не из-за двойного рендера таймер на два инкрементится, а из-за двойного запуска эффектов в стрикт моде. вместо обычного mount происходит mount + cleanup + mount, а так как в коде изначально не было клинапа, два интервала работали на протяжении всей жизни компонента
Была боевая задача с вложенностью (с меню). Единственное что тут нельзя гуглить, но данный list просто приводится к древовидной структуре array to tree и рендорится отлично. У меня же были танца там еще с отображением, постоянным нахождении в дом дереве и показе при наведении
Попробовал решить вторую задачу по Реакт, ушло около 40 минут, на собесе думаю достаточно было начать и показать ход объяснений. Список по сути граф, я решал через создание что-то типа списка смежности для каждого корня, и дальше с помощью dfs обходил рекурсивно
28:17 только решение (или задание) некорректное, так как в итоговом списке отсутсвуют Element 24 и Element 22. Потому что id их родителя ссылается на несуществующий элемент
В первой задаче это не dev режим виноват, а StrictMode в который обернут компонент! Так по умолчанию в новых версиях Реакта, сам тупил откуда этот второй рендер)
Я думаю, что то что ты сказал, что ты не в курсе про двойной ререндер было решающим в том, что собес завалил. Стрик мод обернуто все приложение. А юс эффект чистится не только при размонтировании, но и перед каждым обновлением компонента.
На мой вкус довольно неплохо отвечал - жалко что с деревом запутался. Было бы хорошо еще накинуть немного анализа задачи - чекнуть потенциальную глубину вложенности, показать что думаешь о переполнении стека, сложности алгоритма, читаемости делая выбор между рекурсией и стэком. Но кмк на данный рейт вполне могло хватить и так. Просто чуток не повезло с конкурентами. И да, интервьюеры приятные, вопросы неплохие - без ненужной сложности и очередных бессмысленных тестов на экзотическое приведение типов
@@tnsaturday а разве сложность? Ну я действительно могу сейчас немного не ориентироваться в ИТ зарплатах в России, но так полагаю это рейт на мидла/лоу-мидла. Я бы ожидал, что с таким мидл должен справляться достаточно уверенно, даже если и неоптимально. А с помощью интервьюеров находить и потенциальные проблемы.
Забавно, ответил и решил все, но на собесах скорее буду тупить как картошка. Решение с вложенностями правда решил по другому. С помощью нового компонента, который принимает детей и их детей передавая в дочерний компонент уже урезанный массив. И на вопросе с промисами в принципе дал два ответа верный и неверный, но думаю это можно засчитать, потому что ход мыслей у меня был верный.
Главный навык на собесах это даже не идеальное знание теории, а умение сохранять спокойствие. Т.к если начнешь стрессовать, то пол твоей теории благополучно полетит в окно, даже если ты вполне в состоянии решить поставленные задачи.
Не понял про дев режим в кейсе когда сет интервал в useEffect, типа в нем два раза рендерится, но так по идее не должно быть, и тут как буду кандидата запутать хотели, по дефолту же с пустыми депсами колбэк в эффекте один раз выполниться должен
тебя про прошлый опыт и проекты не спрашивают или вырезаешь? и почему-то нет вопросов по архитектуре. ещё такой вопрос на практике задачи проще чем ластовая на рекурсию?
Да, вырезаю, не хочу делиться этим. У меня темное прошлое, бууу)) А задача на рекурсию адекватная. Когда то придётся пилить например дерево папок по плоскому списку - вот и пожалуйста
@@coder-interviews а насколько подробно расспрашивают про прошлые проекты. интересуются ли деталями, какие сложности возникали? или просто говоришь пару предложений о проекте и всё? ещё интересно активный ли у тебя гитхаб и спрашивали ли когда-то о проектах в нём. просто есть мнения что его никто не смотрит доводилось юзать вебсокеты?
@@astarta7772 просят рассказать о прошлых проектах, о последних интересных задачах которые решал. Гитхаб не просят, он у меня мертвый. Показывал только при трудоустройстве джуном на первую работу
пишу недоразумение в течении 15 минут)) про хуки они тебя запутали. ты хотел рассказать, что разные хуки под разные цели, а они спросили так, как будто хуки все вместе что-то одно привнесли.
Реально изи собес для 180к. Я получаю 100к и плюс минус почти всё знаю это. Так уж вышло что настоящие собесы даже на 150к спрашиваю всякую дичь с миллионом промисов, написанием кода чистом JS с квери селекторами и элементами ,который я ваще не помню нафиг он нужен ,если я пишу на реакт + тс + тайлвинд???
делал сайт и юзал яндекс метрики на реакт приложении спа - все роботы отрисовали и проиндексировали, просто знаю что спашки в очереди индексирования где то в конце стоят по приоритету
Оо, спасибо. Сам с этим не сталкивался и не знал. От чего то поверил интервьюеру на слово, теперь понимаю что было бы здорово это проверить на своем опыте.
@@tnsaturday это кейс если ты не хочешь юзать сср но при этом хочешь что бы хотябы базовая инфа проиндексировалась тип пара заголовков и дескрипшн. + всякая общедоступная инва типо контакты или о нас. Люди же как то должны найти тебя в поисковике по ключевым словам или всем прямую ссылку скидывать?
Первый же вопрос: что такое синхронность? Т.е. не что такое parallel/concurrent, а некая синхронность. Надеюсь, исполнения. Сразу в помойку такого работодателя за пустые выебоны. Хуйкин здесь - представитель работодателя, и если последний не следит за качеством сотрудников - нанимайте из оставшегося говна. Спасибо
Специально несколько раз переслушал, я так понимаю, у интервьюера проблемы с дикцией, потому что такого понятия как синхронность не существует. Если речь идёт про выполнения, так оно не "синхронное", а последовательное. Синхронное бывает ныряние 🤣
@@mossovet8412 ну только никто не говорит никогда синхронность, потому что любой код и так синхронный по умолчанию. Говорят асинхронность, когда хотят подчеркнуть различия
Ну по факту да, ты слабовато отвечал, так что тут всё объективно. Единственное до чего можно было докапаться это как они формулировали вопросы. В том плане, что некоторые были с подвохом, но возможно на это и был рассчёт
@@coder-interviews мне понравилось как ты отвечал. Да, на некоторых моментах не идеально, но в целом нормально отвечал. Просто если нашли другого кандидата, то далеко не всегда лучшего по знаниям. В большинстве случаев выбрали кандидата т.к. он знает примерно как ты или +- больше или меньше, но готов работать за меньшую зарплату
Окончательно понятно, что конторка так себе стало, когда интервьюер спросил про то, зачем нужны хуки. Он очень жидко дал в рейтузы. 1) стейт - что, простите? Какое отношение имеет, например, useLayoutEffect к стейту? 2) логика - ну хорошо пример функционального компонента, который принимает один проп и в зависимости от значения рендерит либо одно, либо другое. Логика без хуков. В общем, уровень его понятен.
Открываем официальную документацию реакта и читаем: "Хуки - нововведение в React 16.8, которое позволяет использовать состояние и другие возможности React без написания классов." И что интервьюер сказал неверно?) "Какое отношение имеет, например, useLayoutEffect к стейту?" - самое прямое. В этом хуке мы можем изменять состояние или делать вычисления ДО отрисовки компонента, этот хук синхронный, в отличие от асинхронного useEffect, который запускается после рендера.
Странно, что нету вопросов по CSS и вообще по верстке, просто не раз замечал чисто 💩-код css за то мидлы "React/Angular" разработчики, это не хейт, я сам это заметил, что мало кто спрашивает на собесах саму верстку и не понимаю почему, ведь фронт 90% это html & css + js (10%) просто для динамики на странице, все
шептун ! из-за тебя приходится повышать звук, чтобы услышать твой шепот, а когда чел с экрана говорит понижать, потому что орет. Прекрати шептать нихера не слышно
Спасибо за отзыв. Действительно есть проблемы со звуком. Это первое видео которое записывал, не разобрался с настройкой записи своего звука + плюс посредственный микрофон у меня. Буду исправлять)