JS interview tasks | FizzBuzz | Online platforms for training problem solving

Поділитися
Вставка
  • Опубліковано 19 гру 2024

КОМЕНТАРІ • 72

  • @smashno
    @smashno 5 років тому +16

    @Vasyl Romanchak вызов принят:
    63 c console.log:
    for(i=0;i

    • @demikill_2137
      @demikill_2137 Рік тому

      Це код виклику сатани?)

  • @frontendscience
    @frontendscience  5 років тому +3

    Друзья, пишите свои решения в комментариях! Чем больше будет таких решений и чем они будут разнообразнее, тем больше пользы они принесут всем, тем успешнее будут наши собеседования!
    Поделитесь, а на каких площадках тренируетесь вы?

  • @yaroslavoz
    @yaroslavoz 3 роки тому

    Классная музычка Сереж) Спасибо! Давно подписан

  • @СэмФишер-х4д
    @СэмФишер-х4д 4 роки тому +3

    спасибо за полезнейший видос!

    • @frontendscience
      @frontendscience  4 роки тому

      И Вам спасибо! Рады стараться!

  • @SerzhNesteruk
    @SerzhNesteruk Рік тому

    Спасибо за задачу!
    Условие i % 3 === 0 && i % 5 === 0 можно объединить в одно i % 15 === 0. А учитывая, что мы во всех ветках вызываем conslole.log, то здесь напрашивается тернарный оператор:
    const fizzBuzz = num => {
    for (var i = 1; i

  • @antheerny
    @antheerny 3 роки тому

    если добавить деление на семь, появляются паттерны на числовой прямой - горки от 48 до 57, от 153 до 162, от 258 до 267 etc. Как называется эта последовательность?

  • @loadmore
    @loadmore 4 роки тому +1

    красава!

  • @alexnikolskiy
    @alexnikolskiy 5 років тому

    Да, известная задача, но довольно простая, решил ещё также. Это на джуна? Может посложнее расмотреть задачки?

    • @smashno
      @smashno 5 років тому +1

      Будет и и! Если есть конкретные задачки, высылай!

    • @luckytima2315
      @luckytima2315 4 роки тому

      Джуна ? Это 8 класс с урока информатике ^^

    • @Екатерина-ч6ж7ъ
      @Екатерина-ч6ж7ъ 3 роки тому

      @@luckytima2315 ну в школе и интегралы учат, и матрицы начинают разбирать. А потом джуны не могут даже умножить два числа в уме)))
      Всякое бывает, нормальная задача. Хоть и легкая

    • @luckytima2315
      @luckytima2315 3 роки тому

      @@Екатерина-ч6ж7ъ Ну интегралы это 11 класс :)) А тут 8 :D В любом случае Сергей самый лучший в плане фронта , и вообще дает самую ценую информацию в плане фронта !)

  • @stephencurry8078
    @stephencurry8078 3 роки тому

    Хотя вы и объяснили, но все равно не понял почему нельзя написать !(num % 3 && num % 5) в конце проверок, можете объяснить или скинуть ссылку на ваш урок или сторонний ресурс

    • @frontendscience
      @frontendscience  3 роки тому +1

      например число 15 - оно делится одновременно и на 3 и на 5 - поэтому мы должны получить FizzBuzz. Если мы поставим проверку на делеение на 3 и на 5 в конец. То вначале у нас отработает проверка делится ли это число на 3 - оно делится, и просто выведется Fizz и все - выполнение перейдет к следующему числу. Поэтому проверку num % 3 && num % 5 мы ставим в начало

    • @stephencurry8078
      @stephencurry8078 3 роки тому +1

      @@frontendscience Спасибо большое, не знаю почему, но в видео объяснение не понял.
      Теперь все понятно!

  • @maksimmnatsakanov2853
    @maksimmnatsakanov2853 2 роки тому

    function fizzBuzz(num) {
    for (let i = 1; i

    • @МиРиК-с3т
      @МиРиК-с3т 2 роки тому

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

    • @sergey210195
      @sergey210195 Рік тому +1

      Только в консоль выводить не "num" , a "i" (str || i )

  • @demikill_2137
    @demikill_2137 Рік тому

    На код варс, на початку(далі хз) майже всі задачі, прямо таки просять тебе юзати регулярні вирази....а я не шарю регулярні вирази).
    Задача із відео була не складна(на щастя), але доки я не додав на кожен if, continue - в мене консолилось і фіз/баз/фізбаз і число, або взагалі все разом по черзі. Тобто наприклад число 15, консоль буде така: fizzbuzz; buzz; fizz; 15 - адже усі перевірки число проходить.
    Правда я це все пушив у массив і консолив його.

  • @olduniverse9270
    @olduniverse9270 4 роки тому +2

    Простая задача, ждал подвоха, но его не оказалось.

    • @frontendscience
      @frontendscience  4 роки тому +1

      Да, это начальный уровень. Если хотите посложнее, переходите дальше по плейлисту: ua-cam.com/play/PL0k-9Y7O1GwccXKHRzmvVj17yB7T9pjTo.html

  • @colorzebra5695
    @colorzebra5695 2 роки тому

    Можно упростить первое сложное условие. Если число делится без остатка на два взаимно простых числа, то оно будет делится и на их произведение. Таким образом для вывода fizzbuzz можно сразу проверять деление на 15!
    function fizzBuzz(number) {
    for (let i=1; i

    • @frontendscience
      @frontendscience  2 роки тому

      В таком случае при 6 и 12 Ваше решение даст неверный результат.

  • @Екатерина-ч6ж7ъ
    @Екатерина-ч6ж7ъ 3 роки тому

    Когда задача так проста, ждешь подвоха)))
    Ну ок:
    function fizzBuzz(myInput){
    let result = "";
    for(let i = 1; i

    • @frontendscience
      @frontendscience  3 роки тому

      Благодарю за решение!
      Это действительно очень простая задача для начинающих.
      Если хочется задач посложнее - у нас их есть на канале. (Плейлист - Задачи с собеседований)

  • @daniilafendulov7401
    @daniilafendulov7401 4 роки тому +1

    После видео соера, такое решение кажется совсем уж несерьезным

    • @frontendscience
      @frontendscience  4 роки тому +1

      А вы думаете на собеседовании от вас ожидают решение в ООП стиле? Это очень простая задача на junior позиции.

    • @useit1
      @useit1 4 роки тому +1

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

    • @frontendscience
      @frontendscience  4 роки тому

      ​@@useit1 Ну как бы да, для ООП дают другого уровня задачи на собеседованиях, а не Fizzbuzz - эта совсем для разминки и мудрить ее не надо.

  • @ОксанаХарченко-д9г

    function fizzBuzz(num) {
    for(let i=1; i

  • @vsromanc
    @vsromanc 5 років тому +5

    давайте хто напише цю задачу щоб було якнайменше коду, без ліб)
    у мене вийшло 77 - щоб отримати масив,
    [...Array(22).keys()].map(z=>z+1).map(z=>(z%3?"":"fizz")+(z%5?"":"buzz")||z)
    95 - щоб вивести в консоль)
    [...Array(22).keys()].map(i=>i+1).map(x=>console.log(((x%3?'':'fizz') + (x%5?'':'buzz')) || x))

    • @smashno
      @smashno 5 років тому +1

      Крутая идея!

    • @alexnikolskiy
      @alexnikolskiy 5 років тому +3

      Не вижу ничего крутого. Код вообще не читается. Более того лишние обходы массива, когда всё решается в один цикл, как показал Сергей.
      Мартин Фаулер сказал: "Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку."

    • @smashno
      @smashno 5 років тому

      Саша, за оскорбление жирный минус в карму и китайское предупреждение. Идея Vasyl Romanchak действительно крутая! Это челендж и это показывает уровень профессионализма, знания основы языка, а также недокументированных скрытых его особенностей. И понятно, что в продакшн такой код никто никогда не выкладывает, но тренировать такое умение супер круто!

    • @frontendscience
      @frontendscience  5 років тому

      ​@@alexnikolskiy, у нас на канале любые оскорбления, завуалированные или прямые, запрещены, даже если Вы не согласны с чьим-то решением. Любое решение расширяет кругозор и обогащает арсенал разработчика. Мы здесь за доброжелательную и уважительную среду!

    • @alexnikolskiy
      @alexnikolskiy 5 років тому +1

      Серёжа, причём здесь оскорбление? Я никого не оскорблял и не думал даже. Я процитировал известного программиста, автора кучи крутых книг, на одной из которых на обложке именно эта цитата. Хочешь сказать Мартин Фаулер всех оскорбил? А по поводу челенджа, ну это спорно. Мы же тут обсуждаем задачки на собеседованиях. А на собеседованиях ждут кода, который ты будешь писать на продакшн и максимально эффективно. Потому пользы от такого челенджа я не вижу. Ну это моё мнение. Могу ошибаться. Сорян если вдруг кого ненароком обидел

  • @temeralin.t
    @temeralin.t 2 роки тому

    godno

  • @stephencurry8078
    @stephencurry8078 3 роки тому

    Я оказывается не так понял задачу и решил так, и у меня вопрос
    const fizz =(num)=>{
    return !(num % 3) ? console.log('fizz') : !(num % 3 && num % 5) ? console.log('fizz buzz') : console.log(num)

    }
    Почему второе условие когда пишу !(num % 3 && num % 5) не работает, попробовал еще так
    !(num % 3 && 5)
    и так
    (num % 5 === 0 && num % 3 ===0)
    но, другое условие внутри скобки работает

    • @stephencurry8078
      @stephencurry8078 3 роки тому

      ааа, понял, только что посмотрел видео.
      У меня вообще какие то странности, раньше то и делал что теорию слушал, от прототипов, итераторов и генераторов, proxy, object define property до преобразование в бинарный код и как работает процессор.
      Раньше вообще не мог делает практику, то и делал что слушал теорию, теперь понял что не могу решить элементарные задачи с массивами, теперь навёрстываю упущенное и кажется перестарался)))

  • @Ramosok
    @Ramosok 9 місяців тому