7+ лет опыта во фронтенде | Собеседование frontend #10

Sdílet
Vložit
  • čas přidán 23. 08. 2024
  • Запись на индивидуальное менторсво: telegram.me/fr...
    🥷 Discord: / discord
    🐦 Telegram: t.me/frontendiya
    ⭐ TikTok: / frontendiya
    💡 Instagram: / frontendiya
    #войтивайти #dev #frontend #interview

Komentáře • 65

  • @frontendiya
    @frontendiya  Před 8 měsíci +1

    Мы занимаемся индвидуальным менторством для фронтов, подробнее можно узнать у нашего менеджера в тг @frontendiya_manager

    • @swiftuicoder8504
      @swiftuicoder8504 Před 7 měsíci +3

      😂😂😂😂😂 ребята не смешите

    • @frontendiya
      @frontendiya  Před 7 měsíci

      @@swiftuicoder8504 что случилось?)

  • @topsy_kreds
    @topsy_kreds Před 8 měsíci +48

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

  • @DrZlo19
    @DrZlo19 Před 8 měsíci +50

    Менторство от 14-летних сеньоров с 10 годами опыта

  • @makarov.1996
    @makarov.1996 Před 5 měsíci +2

    первая задача можно и лучше наверное но решил за минуты 3-4
    const foo = (str) => {
    let answer =''
    let count = 1;
    for(let i = 1; i

    • @vvindover
      @vvindover Před 5 měsíci

      С массивом будет за O(n) и O(n) по памяти, а с конкатенацией строк O(n ** 2) по времени и O(n ** 2) по памяти

    • @testovtest3881
      @testovtest3881 Před 5 měsíci

      @@vvindover объясни плз свой коммент, как у тебя вышло O(n ** 2) что по времени что по памяти?

    • @alexandrtaushkanov3813
      @alexandrtaushkanov3813 Před 13 dny

      @@vvindover полную хрень написал

  • @aleksandrchadaev6165
    @aleksandrchadaev6165 Před 8 měsíci +20

    Очень странное собеседование для уровня 7+ лет. 3 базовых вопроса, 2 задачки (1я уровня джун/трини) + разговор за ̶ж̶и̶з̶н̶ь̶ стек - ну такое. Собеседуемый про web workers упоминает, логично было бы туда капнуть, узнать про service workers (в конце конечно было, но уровень знаний собеседуемого в этой теме не раскрыт), например и тд. Ощущение после просмотра, как будто немного не дотянули собещедующие ребята. Не сочтите за токсичность, делюсь впечатлением после просмотра.

    • @raijinhasarrived
      @raijinhasarrived Před 8 měsíci +3

      Родной, всё в цвет нацарапал🤙

    • @inqvisitor3722
      @inqvisitor3722 Před 8 měsíci +1

      напиши плз какие должен сеньор решать и как решение этих задач поможет реальным бизнесовым задачам

    • @user-zm2bl8nv5d
      @user-zm2bl8nv5d Před 7 měsíci +2

      ты на этих "мамкиных менторов" посмотри )

    • @inqvisitor3722
      @inqvisitor3722 Před 7 měsíci +5

      @@artiomborisov6838 у сеньоров почти такие же вопросы на собесах, как у джунов, только ответ ожидается более развернутый с пониманием сути. Сеньор может не решить задачу "джуна" из-за того что совсем другими задачами на работе занимался, а не писал сортировки

  • @daviddavidov8274
    @daviddavidov8274 Před 2 měsíci

    Менторы)) во второй задаче условия перечитайте и поменяйте результат если условие "сохранив оригинальную сортировку" вам нужно)) а так вот вам два решения, и соблюдением первого условия и второго, учитесь менторы))
    const Todo = (arr) => {
    const result = arr.map((el) => {
    el *= el
    return el
    })
    return result
    }
    //[-4,-1,0,3,10]
    // result [16, 1, 0, 9, 100] сохранив оригинальную сортировку
    const Todo = (arr) => {
    const result = arr.map((el) => {
    el *= el
    return el
    })
    return result.sort((a,b) => a-b)
    }
    //[-4,-1,0,3,10]
    // result [0, 1, 9, 16, 100] по возрастанию

  • @miketunik7496
    @miketunik7496 Před 2 měsíci +2

    Не знал что дети из ясель в айтишке менторят кого-то

  • @user-nd7th3bv8v
    @user-nd7th3bv8v Před 7 měsíci +4

    задача убрать символы решается проще)
    var input = 'abbcdafec';
    var output = [...new Set('abbcdafec')].join('');
    console.log('input: ' + input);
    console.log('output: ' + output);
    ///
    input: abbcdafec
    output: abcdfe

    • @overmvp4593
      @overmvp4593 Před 7 měsíci +3

      Там нужно посчитать кол-во вхождений каждого элемента и выводить это число после символа.

  • @alexeydyackok2525
    @alexeydyackok2525 Před měsícem

    Что-то я потух на первом же тех. вопросе...
    Без обид, я бы не писал такой коммент, если бы вы не сказали ниже "Мы занимаемся индвидуальным менторством для фронтов"...
    Ну куда вам?
    Кандидат - молодчик. Все круто и он сам крут. Пусть убивает своего самозванца.
    По интервью:
    1. Long-Pooling? SSE? Где же вы это юзаете?
    2. Потом, прям мягко поехал в CORS. Это же прям фронт решать должен. Ведь если фронт это решает - это дно.
    3. Event Loop и ре-рендер - собеседующие понимающе кивают... Занавес...
    4. Отдельный поток - это не про Service Worker, а про Web Workers... Но собеседующие этого не знают...
    5. Все выше не интересно, давайте про Babel... И даже тему транспиляции не раскрыли...
    6. Окей, давайте поговорим про TS - классы и абстрактные классы... Тип рассказывает про абстракции - собеседующий едет в Enum и то, почему его не стоит использовать, ведь так на хабре сказали... Как он читал... И даже читал чушь... Кандидат даже сказал, что это обьект... Но нет, собеседующий читал)))
    7. Pick/Omit/Record - это интересно, Jenerics - это лишнее))) Поклон собеседующим...
    8. "По вашему взгляду, есть ли у вас Manual QA" - как на это отвечать?
    9. Давайте поговорим о сборщиках, ведь вы собеседуете настройщика билда.
    10. Как же сделать лучше? Собеседующий - я не знаю...
    11. Память/сложность - чуваки, ну реально, вы ничего об этом не знаете...
    12. unshift/push - нет понимания в чем разница? печалька...
    13. Куда дальше, "лиды/архитекторы"? - а вы что об этом знаете?
    14. Общая задачка, но при каких обстоятельствах это нужно на фронте? Какая цена такой оптимизации?
    15. ДА! Рассказывают, как запускают ракеты. Твитч - проще ракеты.

    • @user-nq7vi5io4m
      @user-nq7vi5io4m Před měsícem

      Тут роли можно спокойно менять. Вопросы не прорабатывались собесудующими, такое впечетление что они их выписали на листочек и ставят галочки, даже без понимания ответа. Да и уровень проверки - поверхностный.
      Для формошлепства и страничек по типу казино и подобных сайтиков по готовым апишкам пойдет, там как раз такие болванчики и нужны. Но для нормального проекта/стартапа уж извольте нет, тут максимум уровень вопросов это мидл. Тут нету даже разбора полетов о декораторах и их написания та даже конфигурации проекта. А это между прочим Ангуляр, огромная балда, с которой нужно хоть какое то понимание как оно работает ибо там избыточного функционала в коробке слишком много.

  • @dimitritarasenko9960
    @dimitritarasenko9960 Před 8 měsíci +5

    Это для школьного проекта кто-то интервью берёт? Ничего не понимаю.

    • @frontendiya
      @frontendiya  Před 8 měsíci

      Для ясельного

    • @dimitritarasenko9960
      @dimitritarasenko9960 Před 8 měsíci +1

      @@frontendiya Я не хотел оскорбить, но пригласите кого-то из взрослых на интервью. Это важно. Взрослый человек к вам приходит на собеседование, у него семья, ипотека, дача, у него совсем другая жизнь. О чём ему с вами говорить?
      Отвечать на заученные вопросы, а дальше то что?

    • @frontendiya
      @frontendiya  Před 8 měsíci +2

      @@dimitritarasenko9960 а причем здесь это к работе? И да, такие ребята тоже проходил у нас собеса, смотри другие видео

    • @user-ek9mp1nw5s
      @user-ek9mp1nw5s Před 7 měsíci

      Куда катится наш IT 😢

  • @overmvp4593
    @overmvp4593 Před 7 měsíci

    Покажу свое решение:
    const countDuplicates = (str) => {
    const hash = {};
    let res = "";
    for (let i = 0; i < str.length; i++) {
    const el = str[i];
    if (Object.hasOwn(hash, el)) {
    hash[el]++;
    } else {
    hash[el] = 1;
    }
    }
    for (let key in hash) {
    res += key;
    res += hash[key];
    }
    return res;
    };

    • @MassEffecn
      @MassEffecn Před 7 měsíci

      не оптимально как по памяти так и по скорости. Такое не собесах не принимают обычно

    • @overmvp4593
      @overmvp4593 Před 7 měsíci

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

  • @fuuuuuOo
    @fuuuuuOo Před 6 měsíci +1

    Странный фидбэк от задач.
    По первой, если проверяется знание языка, то почему интервьюер не спросил решение через методы, тот же Array.reduce.
    По второй. Для разработчика с 7летним опытом странно не знать, как работает unshift по технике, для интервьюера странно не знать, как работает unshift по памяти. У вас длина конечного массива уже известна, зачем каждый раз выделять память? Создали массив той же длины, что начальный и с конца по индексам заполняете.
    Так себе, собес, я бы чела взял на джун+/мидл-

    • @MsVolkan007
      @MsVolkan007 Před 6 měsíci +5

      Как часто вы используете unshift в своей работе? Я бы даже спросил когда последний раз это было, у меня например когда я изучал массивы в js то есть в прошлом десятилетии)
      А reduce сразу переводит разработчика на уровень синьора?
      Кстати из глубинных знаний, которые опять же на хер не кому не нужны - операция unshift более тяжёлая, так как перестраивает массив, а push легче потому что дописывает в конец.
      Я к тому что по таким вопросам, никого не разделить на джунов и сеньоров.

  • @inqvisitor3722
    @inqvisitor3722 Před 8 měsíci +1

    O(N), по памяти O(1)
    решил за 10 мин, при наблюдателях конечно сложнее сконцентрироваться
    function zip(str){
    let start = 0;
    let end = 0;
    let currentSymbol = str[0];
    let result = '';
    for(let i = 1; i < str.length+1; i++){
    if(str[i] === currentSymbol){
    end++;
    } else {
    const dif = end-start;
    if (dif

    • @codingjerk
      @codingjerk Před 7 měsíci

      Квадрат по времени у вас :)

    • @inqvisitor3722
      @inqvisitor3722 Před 7 měsíci

      @@codingjerk объясни, где внутри цикл видишь?

    • @user-zw7tl7ic4k
      @user-zw7tl7ic4k Před 6 měsíci

      const task = str => Object.entries(str.split('').reduce((acc, rec) => {
      if (acc[rec]) {
      acc[rec] += 1
      return acc
      } else {
      return {...acc, [rec] : 1}
      }
      },[])).flat().join('')
      как такое решение ?

    • @inqvisitor3722
      @inqvisitor3722 Před 6 měsíci

      @@user-zw7tl7ic4k неправильно работает. Попробуй DDDDAAAADDD. И лучше больше строк написать зато читабельность не пострадает

  • @IT-therapy
    @IT-therapy Před 8 měsíci +1

    Ребзя, ну отсобесьте меня, я джун, войтишник, с диким синдромом самозванца, начал изучать фронт с нуля 01.10.22, работаю с 1.05.2023

    • @IT-therapy
      @IT-therapy Před 8 měsíci +1

      Хочу понять, джун я или просто фартит… до конца не понимаю вообще соответствую ли уровню джуна , решаю ли задачи джуна. Дудьте бобры, отсобесьте

    • @robotiksillya8363
      @robotiksillya8363 Před 8 měsíci

      ​@@IT-therapyахахахах

    • @Nikita-po3sj
      @Nikita-po3sj Před 8 měsíci

      @@IT-therapyкакие пет-проекты ты делал, чтобы попасть на первую работу? и какие у тебя обязанности на работе?

    • @IT-therapy
      @IT-therapy Před 8 měsíci

      @@Nikita-po3sj Туду лист с беком, поисковик книг на апишке гугл букс, это реакт, на вью кастомный редактор текста, ну и все.
      Обязанности делать все что не касается бекенда. Это верстка, адаптив, кроссбраузерность, доступность, бизнес логика , интеграция сторонних сервисов, виртуализация данных, написание Кастомных плагинов для опенсорсных интеграций под наши задачи, работа с базой данных, создание граф кьюэль запросов, написание тестов, ну в основном вот

    • @IT-therapy
      @IT-therapy Před 8 měsíci

      @@Nikita-po3sj также на мне вся архитектура фронта той части приложения над которой я работаю

  • @alexandroppolus
    @alexandroppolus Před 8 měsíci +2

    Первый паззл решается в одну строку: const reduceStr = (str) => str.replace(/(.)\1+/g, (m, c) => c + m.length);
    Вторую можно решить за O(N), а чувак сделал O(N^2) на ровном месте из-за гребаных аншифтов.

    • @diggerdog001
      @diggerdog001 Před 8 měsíci +5

      Ух ти бозе мой, алгоритмы кому то в глаз попали. Не понятно ему видите ли, как можно чего то не знать

    • @inqvisitor3722
      @inqvisitor3722 Před 8 měsíci +1

      твоя 1 строчка, хуже по скорости чем его решение

    • @alexandroppolus
      @alexandroppolus Před 8 měsíci

      @@inqvisitor3722 этот вывод сделан на основе замеров, или на основе "богатого" опыта в js? Судя по всему, второе, потому что когда я стал сравнивать, выяснилось, что решение из видоса неправильное - рисует единицы после однократных символов (но это легко поправить).
      Запустил в консоли. В Хроме на mac os решение с регуляркой быстрее в 1.1-1.5 раза, а в Сафари - в 3 раза (Сафари славится своим движком регексов)

    • @inqvisitor3722
      @inqvisitor3722 Před 8 měsíci

      @@alexandroppolus запусти 100000 раз, посмотри на время выполнения

    • @inqvisitor3722
      @inqvisitor3722 Před 8 měsíci

      я скидывал пример в комментариях, мое решение примерно в 2 раза быстрее регулярки

  • @user-zq1zm5fy6w
    @user-zq1zm5fy6w Před 6 měsíci +3

    Собес на сеньора, но не собеседующий, не кандидат не помнят как работает unshift..... как минимум странно)

    • @user-ft9ei2yi3p
      @user-ft9ei2yi3p Před 5 měsíci +6

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

    • @user-zq1zm5fy6w
      @user-zq1zm5fy6w Před 5 měsíci

      @@user-ft9ei2yi3p сужу по себе, я почему-то более чем уверен, что такие методы как push и unshift, хоть 5 лет я не буду использовать, вспомню как они работают и что возвращают)

    • @glucus2274
      @glucus2274 Před 5 měsíci +4

      Вы в продакшене используете unshift? Серьезно? Если вас это так сильно удивляет, то это лишь означает, что изучать язык вы начали достаточно недавно.

  • @user-ek9mp1nw5s
    @user-ek9mp1nw5s Před 7 měsíci

    20 летние чуваки берут интервью у 30 летнего чувака с 10 летним опытом который решает задачи 3 урока JS и то еле справляется + невнимательность высшего уровня.
    Неужели за 10 лет, хорошо, за 7, нельзя было в начальники выбиться 😮
    Теперь понятно почему у нас сфера IT в таком состоянии

    • @ramach6552
      @ramach6552 Před 4 měsíci +3

      эмм о каком состоянии речь? у нас сфера ИТ в очень неплохом состоянии по сравнению с другими странами..

  • @user-zw7tl7ic4k
    @user-zw7tl7ic4k Před 6 měsíci

    const task = str => Object.entries(str.split('').reduce((acc, rec) => {
    if (acc[rec]) {
    acc[rec] += 1
    return acc
    } else {
    return {...acc, [rec] : 1}
    }
    },[])).flat().join('')