РЕАЛЬНОЕ FRONTEND СОБЕСЕДОВАНИЕ В ОЗОН || ЗП ДО 300К || ЧАСТЬ 1 ТЕХ. СКРИНИНГ

Поделиться
HTML-код
  • Опубликовано: 23 дек 2024

Комментарии • 128

  • @ИльяЛогинов-у2в
    @ИльяЛогинов-у2в 5 месяцев назад +10

    "Фронтенд-собеседование" которое разрывает шаблоны. TCP/UDP, DNS, TSL и сертификаты, безопасность, refresh token, CORS, … Прикольно. Но весьма специфично ). Спасибо за видео!

  • @NN-jx8kb
    @NN-jx8kb 7 месяцев назад +9

    Привет! Спасибо за твой труд, смотрел твои прошлые видеоролики, приятно видеть прогресс в подаче материала. Успехов !

    • @karen_danielian
      @karen_danielian  7 месяцев назад +1

      привет! спасибо большое, мотивирует делать еще лучше!))

  • @sno-oze
    @sno-oze 7 месяцев назад +5

    Не, ну годно - годно. Прямо запасаемся попкорном, ожидается нормальный такой сериал

    • @karen_danielian
      @karen_danielian  7 месяцев назад

      хаха, спасибо большое! очень мотивирует)

  • @luckytima2315
    @luckytima2315 7 месяцев назад +3

    Братан хорош, давай дальше )

    • @karen_danielian
      @karen_danielian  7 месяцев назад

      Спасибо большое бро) буду стараться

  • @ferensbens5445
    @ferensbens5445 6 месяцев назад +1

    Спасибо , особенно как начинающему фронтендеру

    • @karen_danielian
      @karen_danielian  6 месяцев назад

      Спасибо тебе за просмотр, удачи в карьерном пути )

    • @DmitriiAmagkn
      @DmitriiAmagkn 2 месяца назад

      И удачи в курьерном пути, если не получится с фронтендом😁

  • @Boortwint
    @Boortwint 5 месяцев назад +1

    29:34 Лучше проверить от обратного и использовать метод some вместо every. Если какое-то из свойств объекта ненулевое, то возвращаем false. Будет быстрее.
    Я бы, наверное, добавил бы ещё одно условие на 25 строке. if (countMap[num] < 0) return false.
    Если условие выполнится, то в первом массиве каких-то цифр меньше, чем во втором, так как итерация по второму массиву сделала счётчик отрицательным. Массивы в таком случае не могут быть равны.

    • @CiganXam
      @CiganXam Месяц назад

      ой не песди умник сраный

  • @vitaly-
    @vitaly- 7 месяцев назад +3

    Отличный собес)
    Жду еще)

    • @karen_danielian
      @karen_danielian  7 месяцев назад

      Спасибо за обратную связь!) Скоро будет вторая часть)

  • @VhsGO
    @VhsGO 7 месяцев назад +1

    Сильно! Спасибо за контент

    • @karen_danielian
      @karen_danielian  7 месяцев назад

      спасибо за просмотр!)

  • @anastasiab9823
    @anastasiab9823 6 месяцев назад +1

    Спасибо большое за видос. По функции IsSimilar, в том решении, что на видео - какая в итоге получилась сложность алгоритма?

  • @chiefkanakana
    @chiefkanakana 7 месяцев назад +7

    Привет! Советую, вырезать часть с пояснениями по продукту из этических моментов, так как тот же Озон может держать конкретный продукт под "секретом" и если зайдет конкурент - общее понимание будет иметь по продукции этой фирмы. Нас интересует только то, что спрашивают на собесе

    • @karen_danielian
      @karen_danielian  7 месяцев назад +6

      Привет! Спасибо за коммент)
      Мне хотелось бы как можно меньше обрезать, т.к. собес это не только про вопросы на Event Loop. Важна атмосфера, то как ты общаешься, какие вопросы задаешь (по продукту/стеку/команде), как комментируешь тейки интервьвера. В любом случае они собесят человека, а не чат гпт, который тебе должен задачки решить и на вопросы ответить. В этом мой посыл, передать полностью как проходит интервью. Да и по большей части ничего секретного никогда не рассказывается. Думаю ничего такого если вайлдберриз узнает, что ребята работают по скраму двух недельными спринтами. Когда есть реальная конкурентная борьба за информацию, то обычно у компании конкурента уже изначально неплохая осведомленность. Не думаю, что им может помочь мой ролик с ютуба про собес на мидла)
      Обычно то, что рассказывают про команду/продукт есть в открытом доступе. Рассказ в основном по верхам и не затрагивает какие-то вещи, которые могут быть под НДА (интервьювер не имеет права такое делать).
      Я обрезал в прошлых видео, когда мне начали сильно глубоко рассказывать, с шерингом экрана, показывали как у них проект работает и все такое. Это я конечно буду всегда обрезать из этических соображений.

    • @brawlstarsbro5301
      @brawlstarsbro5301 7 месяцев назад

      Не говори за всех

    • @thepokemonedok
      @thepokemonedok 5 месяцев назад +4

      Что помешает конкуренту попасть на собеседование?

  • @Наталья-и2я7э
    @Наталья-и2я7э 7 месяцев назад +6

    тех скрининг уже как небольшое тех интервью, и после него еще одно тех.интервью)

    • @brawlstarsbro5301
      @brawlstarsbro5301 7 месяцев назад

      Что такое скрининг

    • @Наталья-и2я7э
      @Наталья-и2я7э 7 месяцев назад

      @@brawlstarsbro5301чаще всего предварительный короткий собес либо когда hr при первом звонке задает тех.вопросы, чтобы отсеять часть кандидатов либо небольшое собеседование перед основным (последнее бывает в основном только в больших крупных компаниях)

    • @ДмитрийСитников-ш2х
      @ДмитрийСитников-ш2х 6 месяцев назад

      Наверное, это когда быстро отбирают тех, кто слаб ​@@brawlstarsbro5301

  • @Наталья-и2я7э
    @Наталья-и2я7э 7 месяцев назад +1

    ждем следующих этапов)

  • @ozzzy9623
    @ozzzy9623 7 месяцев назад +2

    14 минута, вопрос про куки только в рефреш запросе - разве withCredentials не будет решением в таком кейсе?

    • @karen_danielian
      @karen_danielian  7 месяцев назад +1

      я думаю можно таким решением воспользоваться, но лучше детали погуглить

    • @astarta7772
      @astarta7772 7 месяцев назад +1

      он ко всем кукам применяется (access тоже не будет отправляться)

    • @ozzzy9623
      @ozzzy9623 7 месяцев назад

      @@astarta7772 точно) спс

  • @dog4ik
    @dog4ik 7 месяцев назад +4

    очень странно что это собес на фронтенд. Все вобросы были про бек

    • @karen_danielian
      @karen_danielian  7 месяцев назад +1

      ну не сказал бы что про бек, последняя только если) по сетке вопросы часто могут спросить у фронта

  • @psevdonim257
    @psevdonim257 5 месяцев назад

    спасибочки) интересно ты реально работу ищешь или таким образом контент делаешь? ну или еще как вариант просто тренируешься чтоб не заржаветь?

  • @yoshimitsu7723
    @yoshimitsu7723 7 месяцев назад +3

    в конце интервьвер полную хрень сказал по поводу под массива. В данном контексте присутствие под массива в принципе сломает код, так как ключом не может быть в объекте. И логика реализации задачи, тоже должна быть другая в этом случае.

    • @karen_danielian
      @karen_danielian  7 месяцев назад

      :D интервьювер всегда прав!

    • @ОлегЧудинов-щ2ю
      @ОлегЧудинов-щ2ю 7 месяцев назад

      там имелось ввиду что второй массив имеет те же значения что и первый кроме допустим одного. [0, 1, 2] и [0, 1]. Т е в данном случае второй массив является подмассивом первого, т к все значения пересекаются, но первый массив длиннее. Если в этом случае не проверить что ключ 2 имеет значение 0 то функция вернет неправильный ответ

    • @astarta7772
      @astarta7772 7 месяцев назад

      @@ОлегЧудинов-щ2ю в начале проверка на равенство длин

    • @AlexStr-h9t
      @AlexStr-h9t 7 месяцев назад

      @@ОлегЧудинов-щ2ю так вначале функции проверка на длину массивов. Или я не понял?) И обычно подмасивы называют которые внутри другого массива находятся

    • @AlexStr-h9t
      @AlexStr-h9t 7 месяцев назад

      @@ОлегЧудинов-щ2ю проверка на длину массивов есть вначале функции. Подмассивами обычно называют вложенные массивы в другие.

  • @salixar
    @salixar 7 месяцев назад +3

    Если нет ограничений по решениям, я бы просто сделал через every() :)
    function isSimilar(arr1, arr2) {
    return arr1.every((num, index) => num === arr2[index]);
    }

    • @shellbywalk2721
      @shellbywalk2721 7 месяцев назад

      Это собес наверное на middle/middle+. Такое решение не подразумевается изначально. После этого интервьюер скажет просто до свидания

    • @salixar
      @salixar 7 месяцев назад +2

      @@shellbywalk2721 а зачем что-то гадать, подразумевать, если в тз нет четкого ограничения? Я проходил собесы, где явно указано O(n), например, по памяти или по скорости. Тут можно было бы спросить у собеседующего какое решение ожидается, в противном случае можно писать "в лоб"

    • @shellbywalk2721
      @shellbywalk2721 7 месяцев назад

      @@salixar я думаю если предложить наивный алгоритм то попросят написать эффективнее. Но думаю достаточно включить логику, проанализировав рынок и формат собесов на такой грейд

    • @ATclassic
      @ATclassic 7 месяцев назад

      так твое решение не рабочее, только для некоторых частных случаев сработает

    • @firewatermoonsun
      @firewatermoonsun 7 месяцев назад

      Это если два отсортированных списка? Сложность будет O(n)?

  • @albertrain7093
    @albertrain7093 2 месяца назад

    не понял для чего slice() вызывать перед sort()

    • @katory17
      @katory17 Месяц назад +1

      slice() вызывается, чтобы создать поверхностную копию массива. sort() изменяет текущий массив, а не создает новый, поэтому копия необходима, чтобы передаваемые в аргументах массивы не изменились. Таким образом функция останется чистой и не будет вносить ненужных сайд-эффектов

    • @albertrain7093
      @albertrain7093 Месяц назад

      @@katory17 блин, вообще не очевидно )
      лучше бы деструктуризацию заюзать, или через new Array
      спасибо за ответ!

  • @DanilAzizov3
    @DanilAzizov3 6 месяцев назад +2

    Ничего себе скрининг, как будто собес😮😊

  • @MrUnderSan
    @MrUnderSan 7 месяцев назад +2

    А когда будет видео со след этапом ??? А то у меня во вторник как раз след этап и оч круто было бы посмотреть это видео до)
    К слову вопросы у тебя на скрининге не пересеклись с вопросами у меня...)

    • @danf24
      @danf24 7 месяцев назад

      а можешь написать какие у тебя были?)

    • @MrUnderSan
      @MrUnderSan 7 месяцев назад +1

      @@danf24простая классика: объявление переменных плюсы минусы подводные камни, объявления функций и про все нюансы, контекст, типы данных, ивентлуп, просимы и все что с ними связано, ну и одна задачка на преобразование данных, что то было еще по мелочи, но глобально эти вопросы 🤷

    • @karen_danielian
      @karen_danielian  7 месяцев назад

      В четверг выложу, там 4 задачки было

    • @easymoneydamnsniper
      @easymoneydamnsniper 7 месяцев назад

      @@karen_danielian дружище, напиши пожалуйста что были за задачи, без решений. хотелось бы разобрать их, заранее благодарю!

    • @karen_danielian
      @karen_danielian  7 месяцев назад +1

      ​@@easymoneydamnsniper Напиши в телегу, скину

  • @andrewkaliarovich6516
    @andrewkaliarovich6516 7 месяцев назад +1

    А почему нельзя было решить задачу при помощи двух циклов? Типа медленно?

    • @karen_danielian
      @karen_danielian  7 месяцев назад +1

      Да, типа того. Собеседущий хотел, чтобы я ручками написал оптимальный алгоритм

    • @andrewkaliarovich6516
      @andrewkaliarovich6516 7 месяцев назад

      @@karen_danielian а как ты определяешь, какой алгоритм нужно использовать и много ли их вообще нужно знать?

    • @karen_danielian
      @karen_danielian  7 месяцев назад

      @@andrewkaliarovich6516 ну просто пытаюсь самый быстрый написать

  • @BaNGBo0oM
    @BaNGBo0oM 7 месяцев назад +1

    А потом какой этап? Еще один технический собес?

    • @karen_danielian
      @karen_danielian  7 месяцев назад

      Ещё два этапа будет) один технический и еще софтовый+задача на реакт

  • @vladyslavfereira6931
    @vladyslavfereira6931 7 месяцев назад +1

    а значение редюсов сравнить беле бэ геле мэ гелебеле геле мэ уу

    • @jackshadows8073
      @jackshadows8073 7 месяцев назад +2

      волчок продает консультации и пишет что у него 10 лет опыта не забываем

    • @astarta7772
      @astarta7772 7 месяцев назад

      это на каком языке? каких редьюсов?

    • @karen_danielian
      @karen_danielian  7 месяцев назад

      ​@@jackshadows8073я свой реальный опыт вообще не скоываю)

    • @karen_danielian
      @karen_danielian  7 месяцев назад

      Тем более для того, чтобы проводить такие консультации не обязательно иметь огромный опыт в программировании)

    • @btctrade
      @btctrade 6 месяцев назад

      Там нужно сравнивать не общую сумму а идентичность массивов, поэтому два редьюса не прокатят

  • @psevdonim257
    @psevdonim257 5 месяцев назад

    побырику посмотрю все видео на канале пока не забанили ну и пока время не прошло, что мало ли что не актуально будет)

  • @vladyslavfereira6931
    @vladyslavfereira6931 7 месяцев назад +2

    да эта жоска

  • @abaahi
    @abaahi 5 месяцев назад

    Я бы сначала проверил длину массивов, потом сравнил суммы и только потом просто проверил каждый элемент одного массива на наличие в другом массиве. Так сработало бы?

  • @ОлегЧудинов-щ2ю
    @ОлегЧудинов-щ2ю 7 месяцев назад +2

    кмк более изящный способ был бы сделать через const countMap = new Map();
    Удобнее работать с такими вводными

  • @fifer-ht7rd
    @fifer-ht7rd 7 месяцев назад

    А собес на какой грейд был?)

  • @yoshimitsu7723
    @yoshimitsu7723 7 месяцев назад +4

    как работает http и сертификаты - на кой хуй это фронтендеру? Что именно они хотят задавая этот вопрос?

    • @true227
      @true227 7 месяцев назад +1

      скажи спасибо, что бинарное дерево не попросили раскидать

    • @karen_danielian
      @karen_danielian  7 месяцев назад

      если не глубоко спрашивают, то вроде окей)) бывает когда начинают спрашивать как именно данные передаются и в каком формате они там хранятся тыры пыры :D

    • @karen_danielian
      @karen_danielian  7 месяцев назад

      :D

    • @yoshimitsu7723
      @yoshimitsu7723 7 месяцев назад

      @@true227 бинарное дерево хоть как-то оправдать можно

    • @hangor3620
      @hangor3620 7 месяцев назад

      это должен знать каждый уважающий себя веб-программист

  • @true227
    @true227 7 месяцев назад +2

    ты забыл сказать, как ты вообще на собеседование попал

    • @danf24
      @danf24 7 месяцев назад

      отправляешь резюме - получаешь приглос

    • @true227
      @true227 7 месяцев назад

      @@danf24 а если по 500-700 откликов на вакансию?

    • @karen_danielian
      @karen_danielian  7 месяцев назад +2

      нужно резюме хорошее сделать, чтобы оно было у ХР в топе выдачи. 90% откликов это резюмешки "работал работу на работе"

  • @doomymax577
    @doomymax577 6 месяцев назад +1

    Типичный московский фронтэндер - никогда не настраивал инфраструктуру, за передалами браузера нету интересов, слышал словечки от бэкендеров. Главное чтобы реакт стэк знать и просить 300к
    Финтехи конечно раскормили этих бездарей

    • @karen_danielian
      @karen_danielian  6 месяцев назад

      не понимаю в чем тут бездарность) ты закрываешь контректную проблему рынка, просишь максимальную сумму за это
      я так понимаю, что нужно разбираться во всех технических аспектах и просить 30к рублей? По мимо программирования в жизни есть еще очень много занятий, в которых у человека может быть интерес)

    • @doomymax577
      @doomymax577 6 месяцев назад

      @@karen_danielian наверное это постоянная гонка будет с собесами. Лучше чтобы они потупее были, согласен

    • @karen_danielian
      @karen_danielian  6 месяцев назад

      @@doomymax577 ага, лучше пусть 1 чел с ником думимакс557 будет умнее всего рынка, единственным непризнанным гением

    • @doomymax577
      @doomymax577 6 месяцев назад

      @@karen_danielian ну я могу быть тимлидом этих дебилов

    • @karen_danielian
      @karen_danielian  6 месяцев назад

      @doomymax577 так стань им, че ты у меня в комментах забыл?))

  • @mrmokar62
    @mrmokar62 6 месяцев назад

    Это подло - выкладывать собесы. Пусть люди ходят сами, молодец какой, контент сделал, лучше бы работать пошел

    • @karen_danielian
      @karen_danielian  6 месяцев назад

      Не согласен с тобой
      Я предварительно спросил у HR нашли ли ребята кандидата, т.к. мне не ответили ничего, я подумал, что ребята закрыли процесс найма.
      Что такого в том, что люди посмотрят как проходит собес? Многим это будет полезно

    • @mrmokar62
      @mrmokar62 6 месяцев назад

      Пусть люди ходят сами и сами сталкиваются с вопросами собеса, набирая опыт в реальности. А из-за таких как ты хомяков наберется, которые пройдя собес ничего из себя не представляют, потому что знают ответы на вопросы.

    • @СергейЛисицын-и8п
      @СергейЛисицын-и8п 6 месяцев назад

      @@karen_danielianа ты не думал, что найм может быть в другие команды и процесс собеседования похож? Ты спалил процесс, спалил задачи, теперь процесс можно попробовать хакнуть и не будет честной конкуренции при найме.

    • @karen_danielian
      @karen_danielian  6 месяцев назад

      @@СергейЛисицын-и8п в процессе ничего необычного нет, классический многосерийные собесы в крупные компании
      По задачам - я спалил несколько вопросов, уверен, что у ребят есть база задач и вопросов, которые они задают и они не спрашивают ровно одно и тоже у каждого кандидата (иначе это и без моих видео можно абузить условно заслав друга на собес)

    • @СергейЛисицын-и8п
      @СергейЛисицын-и8п 6 месяцев назад

      @@karen_danielian а ты согласие брал от интервьюера, что будешь записывать собес?

  • @razvalnuy
    @razvalnuy 3 месяца назад

    годно, мое решение задачи решил за 15+-м
    function isSimilar(arr1, arr2) {
    arr1.sort((a, b) => a - b);
    arr2.sort((a, b) => a - b);
    const last = [];
    if (arr1.length !== arr2.length) return false;
    for (let key of arr1) if (arr2.includes(key)) last.push(arr2.includes(key));
    return last.length == arr1.length ? true : false;
    }
    console.log(isSimilar([1, 5, 2, 3], [3, 1, 2, 5]));

    • @AntonOtroshchenko
      @AntonOtroshchenko 3 месяца назад

      const isSimilar = (arr1, arr2) => {
      return new Set([...arr1,...arr2]).size === arr1.length
      }

    • @leliquell4227
      @leliquell4227 3 месяца назад

      @@AntonOtroshchenko делайте проверку на длину массивов, иначе ваше решение будет возвращать true, на допустим isSimilar([1,2,3] , []) или на isSimilar([1,2,3,4] , [1,2,3])

  • @ИльяКоротков-п6т
    @ИльяКоротков-п6т 4 месяца назад +1

    function isSimilar(arr1, arr2) {
    if (arr1.length !== arr2.length) {
    return false
    }
    arr1.sort()
    arr2.sort()
    for (let i = 0; i < arr1.length; i++) {
    if (arr1[i] !== arr2[i]) {
    return false
    }
    }
    return true
    };
    чет жесткие какие-то решения через Map (условный), складывать, вычитать. В жизни бы не додумался

    • @МихаилБронников-ш9х
      @МихаилБронников-ш9х 4 месяца назад

      На самом деле подход через мапу частый в алгоритмах в целом, просто тут излишен

    • @МихаилБронников-ш9х
      @МихаилБронников-ш9х 4 месяца назад

      return sortedArr1.every((value, index) => value === sortedArr2[index]);

    • @buc991
      @buc991 2 месяца назад

      твое решение O(nlogn) из-за сортировки, а через мапы меньше complexity - O(n)