Получи случайную криптовалюту за регистрацию!

​​Как я собес в Deutsche bank провалил В общем решил сходить | Душный разраб 🤓

​​Как я собес в Deutsche bank провалил

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

Первая встреча с HR была где-то 30 мин, даже на английском поговорили. Зарплату обещали в евро, работать с лондонскими менеджерами, код писать через РДП. Я сразу понял что работать там не очень хочу, тк винда + бюрократия + рдп.

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

После была сессия реакт, ответил неплохо, но немного посыпался на key, тк на абстрактной ситуации просили объяснить, что произойдет со списком, если использовать key как индекс массива. Если из a,b,c,d,e удалить c, то удалится e. Также спрашивали про разницу useCallback и useMemo, можно ли использовать в useMemo функцию.

Ответ - можно но не нужно. Мне кстати не дали внятного разъяснения на собеседовании, так что я проверил сам.
useMemo при первом рендере исполняет переданную в аргумент функцию и в return мы можем вернуть вычисленное значение или новую функцию. В чем тут нюансы? Создается 2 анонимные функции, первая это наш колбэк, вторая та, которую мы сами возвращаем, + ко всему мы не можем передавать аргументы через колбэк функцию, которую принимает сам хук useMemo

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

Пример реализации на скриншоте ниже