СОБЕСЕДОВАНИЕ НА FRONTEND РАЗРАБОТЧИКА В OZON

  Рет қаралды 9,009

Нестыдный Фронтенд

Нестыдный Фронтенд

Күн бұрын

Пікірлер: 107
@mox_quattuor
@mox_quattuor 3 ай бұрын
Хороший видос, спасибо за запись, ещё только на первых началах изучения frontend разработки, но встретил вопросы, которые читал в документации/курсах недавно. Продолжай делать подобные видео!)
@takashimurakami3560
@takashimurakami3560 3 ай бұрын
Классный собес, ждём некст серий)
@lambientos
@lambientos Ай бұрын
Для сравнения массивов можно сделать на обоих массивах .sort(), а потом .toString(). И сравнить строки.
@ddflruc
@ddflruc 2 ай бұрын
Про cookies полезно было узнать новые детали, спасибо!
@dev_tsx
@dev_tsx 3 ай бұрын
Можно по идее отсортировать, потом перевести в строку и сравнить, если заведомо знаем, что только числа. Запись будет самая короткая, но возможно не самая эффективная
@K1appy
@K1appy 3 ай бұрын
100% не самая эффективная, алгоритмическая сложность будет выше из-за сортировки, решение в видео эффективнее, хоть можно было и поменьше раз ходить по массивам
@dev_tsx
@dev_tsx 3 ай бұрын
@@K1appy согласен, просто в основном всегда пытаюсь найти самое быстрое и топорное решение, а потом оптимизировать. Особенно на интервью :) А то можно погнаться за самым оптимальным вариантом и обмануть самого себя, не успев доделать.
@svet0v
@svet0v 2 ай бұрын
@@K1appy Зачем программисты используют sort() если он повышает сложность алгоритмов ? Мне казалось что чем меньше кода, тем лучше, и не зря же sort() создали (не с претензией, сам новичок)
@theDenQ
@theDenQ Ай бұрын
Я бы добавил два каунтера в момент наполнения мапы, на первом цикле. И перед тем как начинать второй, проверил бы суммы - если не сходятся выход с false.
@serkoolive
@serkoolive 20 күн бұрын
хорошая задачка, так бы в тупую сортировал и строками сравнивал, но если стоит вопрос о сложности алгоритма итд, то конечно такой вариант предпочтительнее
@warcraft.mp4889
@warcraft.mp4889 3 ай бұрын
Друзья, кому интересно, авторы подобных каналов не являются программистами. Интервью записано с другом который задает заранее обговоренные вопросы. Вся суть в том, чтобы заманить новичков и продать им "коучинг перед собеседованием". Надеюсь не поведетесь.
@flowcsgo804
@flowcsgo804 3 ай бұрын
Ага, так и есть
@vitaly-
@vitaly- 3 ай бұрын
я хз кто автор, но на видео прекрасно видно чела, который 100% работает в озоне и уже провел кучу собесов. Его даже можно чисто по голосу узнать, если проходил с ним собес.
@Губдалан
@Губдалан 3 ай бұрын
@@vitaly- хахахахаха вот и друг отписался
@vitaly-
@vitaly- 3 ай бұрын
@@Губдалан ты еще заплачь)
@Губдалан
@Губдалан 3 ай бұрын
@@vitaly- Так я вроде только что смеялся, с чего бы мне плакать
@МарияФурманец-б3н
@МарияФурманец-б3н 2 ай бұрын
Видос заслуживает большего и канал тоже, а то просмотров немного, зачем же впустую снимать,заюзайте ютифай, может вам подойдет.
@Ариша-в8к
@Ариша-в8к 8 күн бұрын
А какой грейд? Мидл? Ответы не супер, кстати, много погрешностей
@daniilthegunner843
@daniilthegunner843 Ай бұрын
спасибо. Только я не расслышал про некий параметр куки "pass" вроде и нагуглить его не могу. Что за параметр в итоге?)) Для того, чтобы не всегда рефреш токен отправлять
@АндрейГлотов-т8к
@АндрейГлотов-т8к 27 күн бұрын
path, установив его ты настроишь отправку куки только на определенный маршрут
@Илья-э7ю9в
@Илья-э7ю9в 21 күн бұрын
Чёт задачку как то сложно решил. Можно было просто отсортировать и сравнить либо приведя к строке, либо одним циклом. Подозреваю про KISS он ничего не слышал
@АлексейВолков-ь2в3з
@АлексейВолков-ь2в3з 15 күн бұрын
Если будешь сортировать, то сложность nlogn будет по времени
@Boortwint
@Boortwint 12 күн бұрын
KISS не пропагандирует простоту в угоду увеличения алгоритмической сложности, что ты сейчас и предлагаешь. KISS подразумевает упрощение там, где излишняя сложность используется с заделом на будущее, и без которой в рамках текущих требований можно обойтись.
@АлексейВолков-ь2в3з
@АлексейВолков-ь2в3з 12 күн бұрын
@@Boortwint Да, но как правило в алгоритмических задачах гонятся не за KISS, а уменьшением алгоритмической сложности
@Boortwint
@Boortwint 12 күн бұрын
@@АлексейВолков-ь2в3з ​ за уменьшением алгоритмической сложности гонятся везде. И даже при использовании принципов KISS погоня за уменьшением алгоритмической сложности никуда не девается.
@АлексейВолков-ь2в3з
@АлексейВолков-ь2в3з 12 күн бұрын
@@Boortwint это я понимаю, но изначально первый комментатор пренебрегает алгоритмической сложностью в угоду KISS, а я сказал что нам важнее сейчас не чистота кода, а решить задачу так, чтобы его алгоритмической сложность была как можно ниже
@ТестАкканут
@ТестАкканут 2 ай бұрын
если это первый, то след. какой этап бывает ?
@ne_frontend
@ne_frontend 2 ай бұрын
еще как минимум 1 секция техническая с лайвкодингом
@ТестАкканут
@ТестАкканут 2 ай бұрын
@@ne_frontend алгоритмы ? ждем продолжение
@sergeishmelev8000
@sergeishmelev8000 2 ай бұрын
Так ты прошёл первый этап?
@ne_frontend
@ne_frontend 2 ай бұрын
да прошел :) вторую часть позже планирую выкладывать
@simplethai
@simplethai Ай бұрын
на 350к не того собеседующего поставили ))) как всегда в своем репертуаре - отправили на собес кого попало и кто не смог отбиться ))
@imgod113
@imgod113 2 ай бұрын
Поясните пожалуйста зачем делается +1 в (counterMap[arr1[i]] || 0) + 1 ?
@qwiting
@qwiting 2 ай бұрын
Для увеличения количества цифер в countMap
@gNikro
@gNikro 4 күн бұрын
Странные вопросы для фронта
@aksenovkirill5191
@aksenovkirill5191 3 ай бұрын
Задачку проще через new Set решать Два сета и два цикла проверок с выходом на тру Вопрос по сетям нравится / всегда смеюсь, собес фронтовый, но что там браузер делает не интересно пошли смотреть транспортные протоколы На второй этап позвали?
@Alexchtch
@Alexchtch 3 ай бұрын
Поможет ли Set в таком случае ? [1, 2, 2] и [1, 1, 2]?
@aksenovkirill5191
@aksenovkirill5191 3 ай бұрын
@@Alexchtch согласен
@ЕвгенийКузнецов-щ1ю
@ЕвгенийКузнецов-щ1ю 2 ай бұрын
неее какой сет, сортируеш массивы по возрастанию/убыванию, переводиш в строку и сравниваеш строки, return arr1.sort().join() === arr2.sort().join(); на этом все)
@MaximLisyanskiy
@MaximLisyanskiy 15 күн бұрын
@@ЕвгенийКузнецов-щ1ювидимо для вас сложность алгоритмов не знакомая тема
@flowcsgo804
@flowcsgo804 3 ай бұрын
Прошёл?)
@Justfunandchill
@Justfunandchill 3 ай бұрын
+1 к вопросу, а то такое чувство, что собеседующий сразу после этой задачки решил не тратить время (в плохом смысле), потому что подумал, что "if key in object" придает алгоритму сложность O(N^2), а это не так - там примерно O(1)
@ne_frontend
@ne_frontend 3 ай бұрын
@flowcsgo804 @Justfunandchill да, позвали на следующие этапы :) Их можно будет увидеть чуть позже, на этом канале или в телеге.
@abumuhammad005
@abumuhammad005 2 ай бұрын
@@ne_frontend ждем
@ЕгорТишко́-ш9у
@ЕгорТишко́-ш9у 3 ай бұрын
По задаче я бы сначала сравнил размеры, затем сделал sort или toSorted, чтобы не мутировать исходные массивы (если они не отсортированные приходят и/или если это требуется). Затем в одном цикле по одним и тем же индексам сравнил каждые элементы обоих массивов. Первое не совпадение -> возврат false. Может я не допонял задачу?
@wickedtorpedo75
@wickedtorpedo75 2 ай бұрын
в твоём варианте сложность алгоритма будет линейно логарифмическая + линейно логарифмическая + линейная, если использовать сортироку слиянием, а у автора линейная + линейная + линейная. Чтобы было понятно сколько тактов процессор выполнит, берём массив длиной 1000 элементов, в твоём варинате к-во тактов = 10000 + 10000 + 1000 = 21000, а у автора видео 1000 + 1000 + 1000=3000, что в 7 раз быстрее, но во втором варианте от 3-цикла можно избавится и у нас выходит 2000 тактов, 2-вариант теперь 10.5 раз быстрее при длине массив равной 1000
@ЕгорТишко́-ш9у
@ЕгорТишко́-ш9у 2 ай бұрын
@@wickedtorpedo75 Повнимательнее посмотрел. Согласен. Хорошее решение. Последний цикл можно убрать и вообще красота.
@simplethai
@simplethai Ай бұрын
@@wickedtorpedo75 хороший был бы комментарий при условиях, если не знать, что сложность так не складывется и поиск (проверка наличия) ключа в объекте это O(n)
@simplethai
@simplethai Ай бұрын
@@ЕгорТишко́-ш9у твое решение лучше и по сложности и по памяти. лайк
@Boortwint
@Boortwint 12 күн бұрын
@@simplethai с каких пор сложность О(n) хуже O(nlogn)? C каких пор проход по массивам будет худшим алгоритмом по памяти, чем использование метода toSorted, который создаёт дополнительный отсортированный массив в памяти?
@theDenQ
@theDenQ Ай бұрын
const isEqual = (arr1, arr2) => { if (arr1.length !== arr2.length) return false; const map = new Map(); for (let index = 0; index < arr1.length; index++) { const item1 = arr1[index]; const item2 = arr2[index]; if (map.has(item1)) { map.set(item1, map.get(item1) + 1); } else { map.set(item1, 1); } if (map.has(item2)) { map.set(item2, map.get(item2) - 1); } else { map.set(item2, -1); } } for (const [key, value] of map.entries()) { const value = map.get(key); // console.log(`[${key}]`, value); if (value !== 0) { return false; } } return true; };
@ДокторЗойдберг-й4д
@ДокторЗойдберг-й4д 3 ай бұрын
``` function isSimular(arr1, arr2) { if (arr1.length !== arr2.length ){ return false; } for (current of arr1) { if (!arr2.includes(current)){ return false; } } return true; } ``` Не?
@ne_frontend
@ne_frontend 3 ай бұрын
если смотреть на тест-кейсы, которые изначально даны - то да возможно) Но, если начать накидывать дополнительные тест-кейсы, то код начнет отрабатывать некорректно. Например, [1, 1, 2] и [1, 2, 2] Если изначально дан ограниченный список, тест-кейсов от интервьюера, то это не значит, что он не захочет пополнить этот список, после того как напишешь подобное решение.
@ДокторЗойдберг-й4д
@ДокторЗойдберг-й4д 3 ай бұрын
@@ne_frontend эт понятно, дополнительные вопросы вроде - а что вы будете делать если в стандартной библиотеке нет метода includes - это классика, просто кажется нет смысла усложнять с самого начала. Есть простой вопрос и кажется разумным давать на него максимально короткий правильный ответ. А так это не критика ни в коем разе, просто я бы совсем не такое решение ожидал )
@dev_tsx
@dev_tsx 3 ай бұрын
@@ДокторЗойдберг-й4д к includes в цикле, скорее всего вопросы будут
@dididie158
@dididie158 3 ай бұрын
@@ДокторЗойдберг-й4д чел, тебе за короткий скажут молодец и сделай нам по-другому. Так всегда
@RdmHeroe
@RdmHeroe Ай бұрын
У такого решения высокая сложность O(n2)
@СергейМаркушин-я7б
@СергейМаркушин-я7б Ай бұрын
const isSimilar = (arr1, arr2) => { if (arr1.length !== arr2.length) return false; if (arr1.includes(...arr2)) { return true; } return false; }
@XTANCE
@XTANCE 10 күн бұрын
Боюсь .includes не примет в себя массив, пусть даже "развернутый" с ...
ТЮРЕМЩИК В БОКСЕ! #shorts
00:58
HARD_MMA
Рет қаралды 2,5 МЛН
FOREVER BUNNY
00:14
Natan por Aí
Рет қаралды 22 МЛН
They Chose Kindness Over Abuse in Their Team #shorts
00:20
I migliori trucchetti di Fabiosa
Рет қаралды 12 МЛН
SENIOR on JUNIOR Javascript Developer interview
26:35
BELOV
Рет қаралды 351 М.
СОБЕСЕДОВАНИЕ В ЯНДЕКС НА FRONTEND РАЗРАБОТЧИКА
11:48
Нестыдный Фронтенд
Рет қаралды 2,2 М.
Frontend Собеседование с разбором. Путь к трудоустройству 2024
41:18
Кто и почему убивает Фронтенд?
20:40
Миша Ларченко
Рет қаралды 26 М.
ТЮРЕМЩИК В БОКСЕ! #shorts
00:58
HARD_MMA
Рет қаралды 2,5 МЛН