РЕАЛЬНОЕ СОБЕСЕДОВАНИЕ НА MIDDLE/SENIOR FRONTEND РАЗРАБОТЧИКА С ЗП 300К В ФИНТЕХ

Поделиться
HTML-код
  • Опубликовано: 7 фев 2025
  • 👉 Помощь в трудоустройстве - goo.su/xeDj
    👉 Подписывайся на ТГ канал с полезной инфой - t.me/m1sha_fro...
    👉 ТГ для связи со мной - t.me/m1sha_bbn
    JavaScript:
    00:00 - Вакансия
    01:00 - Тех часть
    06:30 - Неудачная задача
    08:10 - Тех часть
    1:23:00 - Результат собеса
    ==================== Теги
    #frontend #react #js #javascript #фронтенд #реакт #it #айти #программирование #webdevelopment #software #собеседование #собеседованиефронтенд #ulbitv #ульби #frontendсобеседование #реальноесобеседование #redux #reduxtoolkit #reactjs #антонназаров #middlefrontend #frontendразработчик #frontendразработчикснуля #frontendroadmap #seniorfrontend #войтивайти #войтивit #reactjs #typescript

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

  • @frontend-m0ney
    @frontend-m0ney  5 месяцев назад +64

    Помощь в трудоустройстве - goo.su/xeDj
    ТГ канал - t.me/m1sha_frontend
    ТГ для связи со мной - t.me/m1sha_bbn

  • @relecteve
    @relecteve 5 месяцев назад +6

    Крутое собеседование! Огромное спасибо за выпуск:)

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

    Спасибо за видео, хотелось бы конкретные временные метки на тех части.

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

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

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

    оч душный чел, с таким неприятно работать, провалить этот собес и не пересекаться с таким челом это благосклонность судьбы

  • @enjoymtx
    @enjoymtx 5 месяцев назад +8

    Поглядывал-поглядывал собеседования, работая на начальных уровнях мидла и думая, что умный, а потом попался этот собес и понял, что тупой)

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

    Собеседование интересное. Респект интервьюеру за доходчивое объяснение. Единственный на мой взгляд минус - какой смысл был спрашивать про книги в самом начале? Что бы что? Если кандидат ответил что читал, ты его будешь краткий пересказ глав спрашивать, а если не читал то закончишь интервью?

  • @LavandaKicK
    @LavandaKicK 5 месяцев назад +3

    Пушка!

  • @dada1990cleo
    @dada1990cleo 5 месяцев назад +14

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

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

      Компания ищет сотрудника высокого уровня, а не эникейщика, значит позиция предполагает серьезные задачи, а не джуниорские

    • @AndreyEricksonGame
      @AndreyEricksonGame 5 месяцев назад +2

      Я смог пройти. Узнал человека, кто собесил

    • @rogiawos8737
      @rogiawos8737 3 месяца назад +1

      ​@@AndreyEricksonGame скок офер дали?)

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

      @@rogiawos8737 300к

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

      @@rogiawos8737 300к

  • @AntinMak
    @AntinMak 5 месяцев назад +11

    Как у тебя хватило сил и терпения ЭТО слушать - моё уважение. Я бы уже попрощался и ливнул после вопроса о KISS, откуда пошёл этот принцип. Оказывается, от армии США в 70х годах. Абсолютный маразм и духота.

  • @DmitryKorovin-rr9hl
    @DmitryKorovin-rr9hl 5 месяцев назад

    Спасибо за собес, интересные вопросы были

  • @Юра-щ9п
    @Юра-щ9п 5 месяцев назад

    круто что ты дотерпел это до конца

  • @ДанилДмитриев-я5м
    @ДанилДмитриев-я5м Месяц назад +1

    Правильное решение первой задачи
    const flat = (arr, n) => {
    const res = [];
    if (!n) {
    return arr;
    }
    for (let item of arr) {
    if (typeof item === "number") {
    res.push(item);
    } else {
    res.push(...item);
    }
    }
    return flat(res, n - 1);
    };

  • @FF-gq3hm
    @FF-gq3hm 5 месяцев назад

    Было бы круто если бы подобные собесы, где мало практических задач ты выкладывал их в телегу в формате подкаста 😊

  • @inHague
    @inHague 4 месяца назад

    хорошие вопросы на самом деле. Если ищут уверенного в своих знаниях кандидата, то самое то. Про KISS и армию США конечно мем))

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

    Это было в Промсвязьбанк? Недавно у них собесился, похожие вопросы и задачки были)

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

    А разве реквест анимейшн подходит для тяжеловесных задач ? Он же как раз вызывается перед каждым
    рендером, а вот про айдл ты правильно сказал

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

    Интервьювер сам не понимает о чем говорит на 24:01, текучий интерфейс обязан возвращать селф-ссылку, то есть this, а это ссылка на экземеляр класса, на котором был вызван первый из методов всей цепочки, с промисами же другая история, каждый метод цепочки методов возвращает НОВЫЙ экземпляр

  • @ДанилДмитриев-я5м
    @ДанилДмитриев-я5м Месяц назад

    1:00:35 - так di основан на декораторах

  • @AMar4enko
    @AMar4enko 4 месяца назад

    На 1:23:18 речь идет о паттерне fluent interface. Хотя я бы его паттерном не назвал.

  • @kowkavn2356
    @kowkavn2356 5 месяцев назад +29

    А потом приходишь и кнопочки красишь

  • @ВладиславКравченко-б4ч
    @ВладиславКравченко-б4ч 5 месяцев назад +3

    Это собеседование на СЕО джаваскрипта?

  • @Вбелом-й3з
    @Вбелом-й3з 5 месяцев назад

    я вижу многие по-разному понимают что есть helper функция. обычно это функция, которая возвращает другую функцию с аргументами в замыкании. а некоторые понимают это как утилиту. где-то на 54:00 тут такое же недопонимание проскользнуло.

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

      Непонятно, откуда вы такое взяли. Helper-функция это вспомогательная функция, что нужно для основной функции, то она и возвращает

    • @maxzm1279
      @maxzm1279 4 месяца назад +1

      хелпер- утилита, а то что ты описал- это декоратор

    • @Вбелом-й3з
      @Вбелом-й3з 4 месяца назад

      @@maxzm1279 не согласен

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

    Про XXS атаки я вообще не понимаю, банк все дела но он кажется идет кнопочки красить а не взламывать безопасность банка.

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

    Интервьюер так занят своим эго, что не замечает, что интервьюируемый гуглит или что-то в таком духе. Но однозначно отвечает как-то неестественно. Более того, если речь идёт о теории, то отвечает практически на все вопросы, а на практике лажает.
    К примеру, я знаю о принципе yagni и если бы у меня за него спросили, то сходу бы ответил, что это за принцип (расшифровывать не обязательно). А там сразу видно, что опрашиваемый не знал.

  • @sd4545sdf
    @sd4545sdf 4 месяца назад +1

    Да норм интервью, че гоните в коментах. Бывали и хуже вопросы у меня в европе

  • @СуперМэн2005
    @СуперМэн2005 5 месяцев назад +24

    че за духота

  • @НиколайФомин-н1у
    @НиколайФомин-н1у 5 месяцев назад +3

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

  • @АртемБутенко-н7к
    @АртемБутенко-н7к 5 месяцев назад +4

    что то я не понял как сработает рекурсия в первой задаче, если n - 1 передается в push, а не в flat

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

      видимо опечатка, но смысл понятен, что нужно во flat

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

      @@art7653 Так написано же в задаче что flat нельзя использовать

  • @dossh429
    @dossh429 4 месяца назад

    Promise это разве не push. 21:30

  • @mr-pony
    @mr-pony 5 месяцев назад

    действительно сложный собес. По безопасности вообще ничего бы не ответил))

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

    ребят, сколько в среднем может пройти времени от момента, как тебя в лонг-лист занесли, до собеса (если, конечно, тебя просто не скипнут)?

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

      Максимум 2 недели

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

    Душновато, но вопросы реально на сеньора

  • @kawaikaino5277
    @kawaikaino5277 5 месяцев назад +24

    Очень душно, такое впечатление, словно цель собеса не найм, а потешить самолюбие главного разраба...
    Расскажите собеседующему, что на дворе 2024 год, есть интернет - все гуглится.

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

      300 к платят за знание, а не за гугление

    • @kawaikaino5277
      @kawaikaino5277 5 месяцев назад +2

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

    • @enoughfornow7310
      @enoughfornow7310 5 месяцев назад +3

      @@Todortodorov62 за опыт деньги платят, а не за знания

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

      ​@@kawaikaino5277 гуглить умеют все, а вот знания накапливаются годами таких гуглений. Вы пишете примерно следующее - я умею гуглить, я достоин 300к

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

      ​​@@enoughfornow7310 опыт разный бывает. Кто то джуниорские задачи решает всю жизнь в одной и той же конторе и удивляется, почему ему выше 150 никто не предалагает. Не предлагают потому что уровень знаний низкий, а опыт 10 лет...

  • @ENDRICO-uz8rk
    @ENDRICO-uz8rk 5 месяцев назад

    А нельщя чтоли linq использыать?

  • @ВладиславКолесник-з1л
    @ВладиславКолесник-з1л 5 месяцев назад

    Дали оффер по итогам ?

  • @scrpscrp
    @scrpscrp 5 месяцев назад +2

    Интересно, после такого собеседования, хоть один трезвый человек пойдёт туда работать

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

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

    • @АлександрТитов-о6я
      @АлександрТитов-о6я 5 месяцев назад

      Да ты бы и в рот взял судя по твоим комментариям

    • @rea1m_
      @rea1m_ 4 месяца назад

      На ангуляр 12)))

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

    Это шутка какая-то?) Первая задача решена неверно.
    У вебворкера нет своего стека, результат его выполнения- это макротаска (postMessage), которая помещается в очередь макротасок

    • @ДанилДмитриев-я5м
      @ДанилДмитриев-я5м Месяц назад

      const flat = (arr, n) => {
      const res = [];
      if (!n) {
      return arr;
      }
      for (let item of arr) {
      if (typeof item === "number") {
      res.push(item);
      } else {
      res.push(...item);
      }
      }
      return flat(res, n - 1);
      };

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

    жесть задушил

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

    В случае с промисами, клиент сам запрашивает данные у сервера, когда они готовы, но не получает их напрямую, а вместо этого получает callback-функцию, которая будет вызвана, когда данные будут готовы. Промис это же полл-система, а не пуш

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

      а RxJS использует push-систему для передачи данных от источника к подписчику.

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

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

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

      @@rusfungame Когда промис переходит в состояние выполнен (fulfilled) или отклонен (rejected), результаты автоматически не передаются в обработчики. Вместо этого, вы должны использовать методы, такие как then и catch, чтобы обработать результаты промиса.

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

      @@enoughfornow7310 а then это что не обработчик что ли? Или мы заставляем пользователей руками вызывать их?

    • @AMar4enko
      @AMar4enko 4 месяца назад

      @funfunfunnyfun8821 then и catch это фактически подписки на изменение состояния промиса, которые в момент изменения состояния запускаются рантаймом. Поэтому и пуш - они запускаются извне в некий момент времени.

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

    Скрипты с defer никогда не блокируют страницу.

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

      речь шла о выполнении скриптов после загрузки. Выполнение блокирует

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

      @@riman1132 Скрипт дождется когда отрендерится и только потом начет выполняться, поэтому никак не может заблокировать, тут речь шла про выполнение с атрибутом defer

  • @SP-hb6dd
    @SP-hb6dd 5 месяцев назад +1

    Не понятно что он хотел увидеть с классом очередей на двух стеках. Обычно реализуется кольцевая очередь на одном массиве. Или однонаправленный список с двумя указателями

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

      классическая задача просто не для js "очередь на двух стеках" гуглится легко

    • @SP-hb6dd
      @SP-hb6dd 5 месяцев назад

      @@xxxxPomaHxxxx ага нашел. можно и на js реализовать, конечно.

  • @frontend_mentors
    @frontend_mentors 5 месяцев назад +2

    паттерн чейнинг

  • @ДениИмагожев11
    @ДениИмагожев11 5 месяцев назад

    HTTP only защищает от csrf, а не от xss

    • @linalone156
      @linalone156 4 месяца назад

      Если допустить, что на инджект скрипта уже произошел, то чисто теоретически можно спиздить данные из куков, например, если токены авторизации хранятся не в хттп онли, а дальше, если на сайте есть что-то в духе комментариев, можно прям туда все это кидать

    • @Никита-е7ы8ж
      @Никита-е7ы8ж 2 месяца назад

      от csrf . samesite:strict

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

    Интервьюер глубоко в теме. Респект

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

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

    • @AllenDelon-t4v
      @AllenDelon-t4v 5 месяцев назад

      @@AntinMak ну не скажи норм мужик.

    • @Todortodorov62
      @Todortodorov62 4 месяца назад

      @@AntinMak ты болеешь? на видео не я. Стыдно стало за свой низкий уровень знаний и пытаешься тут утвердиться? Смешно

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

    Отложил 15к, чтобы сходить к тебе, если новую работу не найду, а ты уже до 20к и 50% поднял :(

  • @AmMa-w3r
    @AmMa-w3r 4 месяца назад

    ! Он не прав async script никогда не блокирует parsing HTML. Различие состаит в том что async script может начать работать не ждав когда DOM оканчетельно парсится а defer ждет когда дом оканчетельно парсится потом начинает работать !!!

  • @dossh429
    @dossh429 4 месяца назад

    Как решили эту задачу? @frontend-m0ney
    // Реализовать очередь с помощью 2-х стеков
    class Stack {
    constructor () {
    this.storage = []
    }
    push (data) {
    this.storage.push(data)
    }
    pop () {
    return this.storage.pop()
    }
    size () {
    return this.storage.length
    }
    }
    class Queue {
    constructor () {
    this.stack1 = new Stack()
    this.stack2 = new Stack()
    }
    // Добавить в очередь
    enqueue (data) {}
    // Вернуть следующего в очереди
    dequeue () {}
    // Сколько в очереди
    count () {}
    }
    const queue = new Queue()
    queue.enqueue(1)
    queue.enqueue(2)
    queue.dequeue() // 1
    queue.enqueue(3)
    queue.enqueue(4)
    queue.dequeue() // 2
    queue.dequeue() // 3

    • @izhmaglica
      @izhmaglica 24 дня назад

      Стек 1 - С1, стек 2 - С2. С1 будет хранить один элемент, означающий первый элемент очереди. С2 хранит все последующие элементы. Метод dequeue будет доставать элемент из С1, после чего нужно перевернуть С2 путём его перемещения в С1. По завершению переворота достаём один элемент из С1 (перевёрнутый С2), это будет следующий элемент очереди, запоминаем. Теперь можно вернуть элементы из С1 в С2 с переворотом без запомненного. В результате мы имеем первый элемент очереди, который нужно вернуть по завершению выполнения функции, второй элемент очереди, который теперь хранится в С1 и С2 без второго элемента очереди.
      enqueue 1
      С1 - [1]
      С2 - []
      enqueue 2, 3, 4
      C1 - [1]
      C2 - [2, 3, 4]
      dequeue
      result - 1
      C1 - []
      C2 - [2, 3, 4]
      + rotation 1
      C1 - [4, 3, 2] (while C2.length -> C1.push(C2.pop())
      C2 - []
      + запоминаем и rotation
      next = C1.pop() // 2
      C1 - [next]
      C2 - [3, 4]
      итог:
      C1 - [2]
      C2 - [3, 4]
      и результат выполнения 1
      Вроде так можно решить задачу

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

    Душновато, но вопросы реально на сеньора