[{"data":1,"prerenderedAt":1000},["ShallowReactive",2],{"$fR-7q7qj-7Tm5F6t4Pqy1kJuFfu81HLrkQJUQAYOqkl0":3,"$f-KhKwB8J0md5Q3U1oyqNCQbHxVpirjaanlJWCGo_ht4":89,"$fkVWEWXZHbLy86BhC78gDVDJ_00TY4k_DsdZD3Mz6ZO0":92,"$fqGwjmVbyPxmA5lnsLz9nF3m-ncS8WzLIlTsTA85cuZA":97,"$fVMSX_HWVzVkzv-u5ATHiOgClblPaIGZfXUn_Cq8LKn4":443,"$fw0tI3d-iV2W3zZtbRjyPNNRSgXGobrmwsMU7a1fynls":664,"mdc--8wka9u-key":684,"mdc-yquck7-key":734,"mdc-8eqlht-key":843,"mdc--apqcq4-key":856,"mdc--csrhb-key":976},{"content":4,"livecodingContent":37,"type":75,"pageMeta":76},[5,9,13,16,20,24,27,31,34],{"id":6,"value":7,"isTypeH1":8},"1986","  Вернуть массив от 1 до n, где числа, кратные 3, заменены на 'fizz', кратные 5 - на 'buzz', а кратные и 3, и 5 одновременно - на 'fizzbuzz'",true,{"id":10,"value":11,"anchor":12,"isTypeH2":8},"4625","Теория и разбор","theory-and-explanation",{"id":14,"value":15,"isTypeParagraph":8},"10648","Оператор `%` возвращает остаток от деления: выражение `a % b` показывает, сколько «останется» после деления `a` на `b`.\nКратность проверяется так: если `x % 3 === 0`, то число делится на 3 без остатка, значит оно кратно 3.\n\nДля FizzBuzz достаточно трёх проверок, но важно их расположение.\n- Сначала проверяется «кратно 3 и 5 одновременно»; это удобно записать как `x % 15 === 0`.\n- Затем проверяются отдельные случаи `x % 3 === 0` и `x % 5 === 0`.\n- В конце возвращается исходное число, если ни одно правило не подошло.\n\nПочему `15`: это число делится и на 3, и на 5, поэтому оно является короткой проверкой «одновременно кратно 3 и 5».",{"id":17,"value":18,"anchor":19,"isTypeH2":8},"4626","Схема и мини-таблица","scheme-and-mini-table",{"id":21,"value":22,"anchor":23,"isTypeH3":8},"4671","Схема принятия решения для одного элемента","decision-flow-for-one-element",{"id":25,"value":26,"isTypeParagraph":8},"10649","```\nполучено число x\nесли x % 15 === 0 → \"fizzbuzz\"\nиначе если x % 3 === 0 → \"fizz\"\nиначе если x % 5 === 0 → \"buzz\"\nиначе → x\n```",{"id":28,"value":29,"anchor":30,"isTypeH3":8},"4672","Таблица примеров для отдельных значений","examples-table",{"id":32,"value":33,"isTypeParagraph":8},"10650","| Значение | Проверка                 | Результат     |\n|---------:|--------------------------|---------------|\n| 3        | `3 % 3 === 0`            | \"fizz\"        |\n| 5        | `5 % 5 === 0`            | \"buzz\"        |\n| 15       | `15 % 15 === 0`          | \"fizzbuzz\"    |\n| 16       | не кратно 3 и не кратно 5| 16            |",{"id":35,"value":36,"isTypeParagraph":8},"10651","Кратко: по условию требуется преобразовать уже данный массив; для каждого элемента выполняется проверка остатка `%` (сначала на 15, потом на 3 и 5), а итог собирается в новый массив (чаще всего через `map`).",{"id":38,"functionTestData":39,"functionName":71,"functionTemplateCode":72,"solution":73,"description":74},"427",[40,51,59],[41,48],[42],[43,44,45,46,47],1,2,3,4,5,[43,44,49,46,50],"fizz","buzz",[52,58],[53],[43,44,45,46,47,54,55,56,57],6,7,8,9,[43,44,49,46,50,49,55,56,49],[60,69],[61],[43,44,45,46,47,54,55,56,57,62,63,64,65,66,67,68],10,11,12,13,14,15,16,[43,44,49,46,50,49,55,56,49,50,63,49,65,66,70,68],"fizzbuzz","fizzBuzz","function fizzBuzz(nums) {\n    // ваш код здесь\n}","**Вариант 1** — чистое преобразование через map\n\n```\nfunction fizzBuzz(arr) {\n  return arr.map((x) => {\n    if (x % 15 === 0) return \"fizzbuzz\";\n    if (x % 3 === 0) return \"fizz\";\n    if (x % 5 === 0) return \"buzz\";\n    return x;\n  });\n}\n```\n\nОсобенность данного варианта: исходный массив не изменяется, так как возвращается новый массив.\n\n**Вариант 2** — цикл for (явное заполнение результата)\n\n```\nfunction fizzBuzz(arr) {\n  const out = new Array(arr.length);\n\n  for (let i = 0; i \u003C arr.length; i += 1) {\n    const x = arr[i];\n\n    if (x % 15 === 0) out[i] = \"fizzbuzz\";\n    else if (x % 3 === 0) out[i] = \"fizz\";\n    else if (x % 5 === 0) out[i] = \"buzz\";\n    else out[i] = x;\n  }\n\n  return out;\n}\n```\n\nДанный вариант удобен, когда требуется полностью контролировать индексы и не создавать функцию-колбэк для `map`.\n\n**Вариант 3** — reduce (сборка нового массива)\n\n```\nfunction fizzBuzz(arr) {\n  return arr.reduce((acc, x) => {\n    if (x % 15 === 0) acc.push(\"fizzbuzz\");\n    else if (x % 3 === 0) acc.push(\"fizz\");\n    else if (x % 5 === 0) acc.push(\"buzz\");\n    else acc.push(x);\n    return acc;\n  }, []);\n}\n```\n\nДанный вариант подходит, когда требуется «накапливать» результат и одновременно выполнять дополнительные операции (например, фильтрацию), но для начинающих чаще понятнее `map` или `for`.\n\nЕсли сначала проверять кратность 3 или 5, то число 15 будет обработано раньше и \"fizzbuzz\" не появится; поэтому проверка `x % 15 === 0` должна выполняться первой.","Дан массив:\n\n```\nconst nums = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]\n```\n\nНапишите функцию, который возвращает массив чисел от 1 до n, \nгде n — целое число, которое функция принимает в качестве параметра, при этом:\n\nвыводит 'fizz' вместо чисел, кратных 3;\nвыводит 'buzz' вместо чисел, кратных 5;\nвыводит 'fizzbuzz' вместо чисел, кратных и 3, и 5.\n\nНапример:\n\n```\nfizzBuzz(nums) // [1,2,\"fizz\",4,\"buzz\",\"fizz\",7,8,\"fizz\",\"buzz\",11,\"fizz\",13,14,\"fizzbuzz\",16]\n","livecoding",{"title":77,"description":78,"ogTitle":79,"ogDescription":80,"ogImageUrl":81,"canonical":82,"ogLocale":83,"ogSiteName":84,"ogImageType":85,"ogImageWidth":86,"ogImageHeight":87,"ogType":88,"ogUrl":82},"Вернуть массив от 1 до n","function fizzBuzz(nums) {\n    //\n} \n// [1,2,\"fizz\",4,\"buzz\"]\n// [1,2,\"fizz\",4,\"buzz\",\"fizz\",7,8,\"fizz\"]","Вернуть массив от 1 до n, где числа, кратные 3, заменены на 'fizz', кратные 5 - на 'buzz', а кратные и 3, и 5 одновременно - на 'fizzbuzz'","function fizzBuzz(nums) {     // }  // [1,2,\"fizz\",4,\"buzz\"] // [1,2,\"fizz\",4,\"buzz\",\"fizz\",7,8,\"fizz\"]","/og-image.png",null,"ru_RU","goodwebjob.ru","image_jpeg","1200","630","article",{"siteName":90,"siteUrl":91},"GOOD WEB JOB!","https://goodwebjob.ru",[93],{"label":94,"slug":95,"to":96},"Подготовка к тех.интервью","technical-interview","/technical-interview/where-to-begin",{"navigationList":98,"navigationSublist":107},[99,103],{"path":96,"isActive":100,"name":101,"icon":102,"isNavbarMobileDisabled":8},false,"С чего начать?","material-symbols:visibility-outline-rounded",{"path":104,"isActive":8,"name":105,"icon":106,"isNavbarMobileDisabled":100},"/technical-interview/tasks","Сборник задач","material-symbols:task-outline",[108,117,144,156,162,302,326,335,341,404,425,431],{"title":109,"list":110,"isOpened":100},"Bash",[111,114],{"name":112,"path":113,"isActive":100},"Дан фрагмент bash-скрипта: cd ~; mkdir foo... Что в нем происходит?","/technical-interview/tasks/here-is-a-fragment-of-a-bash-script-cd-mkdir-foo-what-is-happening-in-this-script",{"name":115,"path":116,"isActive":100},"Дан фрагмент bash-скрипта: target=$(ps -Af | grep $1 | head -n 1)...","/technical-interview/tasks/here-is-a-fragment-of-a-bash-script-target-ps-af-grep-1-head-n-1",{"title":118,"list":119,"isOpened":100},"CSS",[120,123,126,129,132,135,138,141],{"name":121,"path":122,"isActive":100},"Дан HTML-код. Какой будет цвет у текста «Some dummy text»?","/technical-interview/tasks/the-html-code-is-given-what-will-be-the-color-of-the-some-dummy-text",{"name":124,"path":125,"isActive":100},"Есть шаблон HTML и CSS кода. Какой будет цвет у текста «Таким образом, постоянное»?","/technical-interview/tasks/there-is-a-template-for-html-and-css-code-what-color-will-the-text-thus-constant-have",{"name":127,"path":128,"isActive":100},"Есть шаблон вложенного HTML кода. Какой будет цвет у текста «One more dummy text»?","/technical-interview/tasks/there-is-a-template-for-embedded-html-code-what-will-be-the-color-of-the-one-more-dummy-text",{"name":130,"path":131,"isActive":100},"Есть шаблон вложенного HTML кода. Будет ли display:block у body влиять на span?","/technical-interview/tasks/there-is-a-template-for-embedded-html-code-will-there-be-a-display-does-bodys-block-affect-span",{"name":133,"path":134,"isActive":100},"Есть HTML код. Будет ли font-weight на span влиять?","/technical-interview/tasks/there-is-an-html-code-will-font-weight-affect-span",{"name":136,"path":137,"isActive":100},"Flexbox и Grid, чем отличаются друг от друга?","/technical-interview/tasks/what-are-the-differences-between-flexbox-and-grid",{"name":139,"path":140,"isActive":100},"Заменяют ли Flexbox и Grid друг друга?","/technical-interview/tasks/do-flexbox-and-grid-replace-each-other",{"name":142,"path":143,"isActive":100},"Есть CSS и JS анимация. Какая между ними разница, что быстрее, что более удобно?","/technical-interview/tasks/there-are-css-and-js-animations-what-is-the-difference-between-them-and-which-is-faster-and-more-convenient",{"title":145,"list":146,"isOpened":100},"Git",[147,150,153],{"name":148,"path":149,"isActive":100},"Разрабатывал, взял закоммитил, запушил. Оказалось, что запушил не в ту ветку, точнее, коммит не в ту ветку. Какие действия?","/technical-interview/tasks/developed-it-committed-it-and-launched-it-it-turned-out-that-i-had-pushed-it-to-the-wrong-branch-or-rather-the-commit-was-in-the-wrong-branch-what-actions",{"name":151,"path":152,"isActive":100},"В git есть несколько вариантов слияния веток, какие? Чем отличаются?","/technical-interview/tasks/git-has-several-options-for-merging-branches-which-ones-how-are-they-different",{"name":154,"path":155,"isActive":100},"Какие существуют стратегии ветвления для работы команды? Что это такое?","/technical-interview/tasks/what-are-the-branching-strategies-for-the-team-what-is-it",{"title":157,"list":158,"isOpened":100},"HTML",[159],{"name":160,"path":161,"isActive":100},"Что такое HTML?","/technical-interview/tasks/what-is-html",{"title":163,"list":164,"isOpened":100},"JavaScript",[165,168,171,174,177,180,183,186,189,192,195,198,201,204,207,210,213,216,219,222,225,228,231,234,237,240,243,246,249,251,254,257,260,263,266,269,272,275,278,281,284,287,290,293,296,299],{"name":166,"path":167,"isActive":100},"Какие логические значения в console.log будут получены?","/technical-interview/tasks/prototype-what-logical-values-will-be-received-in-console-log",{"name":169,"path":170,"isActive":100},"Почему опасно писать прямо в прототипы базовых типов?","/technical-interview/tasks/why-is-it-dangerous-to-write-directly-to-the-prototypes-of-basic-types",{"name":172,"path":173,"isActive":100},"Что вернёт следующий код? Object.create(null).hasOwnProperty('toString')","/technical-interview/tasks/what-will-the-following-code-return-object-create-null-has-own-property-to-string",{"name":175,"path":176,"isActive":100},"Какое значение выведет консоль с object.property?","/technical-interview/tasks/what-value-will-the-console-output-with-object-property",{"name":178,"path":179,"isActive":100},"Что выведется в console.log([arr[0](), arr[0]()])?","/technical-interview/tasks/what-will-be-displayed-in-console-log-arr-0-arr-0",{"name":181,"path":182,"isActive":100},"Что выведет console.log в результате выполнения цикла while?","/technical-interview/tasks/what-will-console-log-output-as-a-result-of-executing-the-while-loop",{"name":184,"path":185,"isActive":100},"Есть функция и объект. Напишите все известные вам способы, чтобы вывести в консоли значение x из объекта, используя функцию","/technical-interview/tasks/there-is-a-function-and-an-object-write-all-the-ways-you-know-to-output-the-value-of-x-from-an-object-in-the-console-using-the-function",{"name":187,"path":188,"isActive":100},"Что вернёт метод book.getUpperName()?","/technical-interview/tasks/what-will-the-book-get-upper-name-method-return",{"name":190,"path":191,"isActive":100},"Переменные объявлены следующим образом: a=3; b=«hello»;. Укажите правильное утверждение","/technical-interview/tasks/variables-are-declared-as-follows-specify-the-correct-statement",{"name":193,"path":194,"isActive":100},"Что выведет консоль в случае присвоения свойства массиву по строковому положительному индексу?","/technical-interview/tasks/what-will-the-console-display-if-a-property-is-assigned-to-an-array-using-a-positive-string-index",{"name":196,"path":197,"isActive":100},"Что выведет консоль в случае присвоения свойства массиву по строковому отрицательному индексу?","/technical-interview/tasks/what-will-the-console-display-if-a-property-is-assigned-to-an-array-using-a-negative-string-index",{"name":199,"path":200,"isActive":100},"Что выведет консоль в случае удаления элемента массива с помощью оператора delete?","/technical-interview/tasks/what-will-the-console-output-if-an-array-element-is-deleted-using-the-delete-operator",{"name":202,"path":203,"isActive":100},"Что вернёт этот код: typeof (function(){})()","/technical-interview/tasks/what-this-code-will-return-typeof-function",{"name":205,"path":206,"isActive":100},"Что получится в результате передачи объекта как аргумента в функцию и выполнения кода?","/technical-interview/tasks/what-will-happen-when-an-object-is-passed-as-an-argument-to-a-function-and-the-code-is-executed",{"name":208,"path":209,"isActive":100},"Какие способы объявления функции есть в JavaScript?","/technical-interview/tasks/what-are-the-ways-to-declare-a-function-in-javascript",{"name":211,"path":212,"isActive":100},"Что такое this в JavaScript?","/technical-interview/tasks/what-is-this-in-javascript",{"name":214,"path":215,"isActive":100},"Что такое Event Loop, как работает?","/technical-interview/tasks/what-is-an-event-loop-and-how-does-it-work",{"name":217,"path":218,"isActive":100},"Что будет, если вызвать typeof на необъявленной переменной?","/technical-interview/tasks/what-happens-if-you-call-typeof-on-an-undeclared-variable",{"name":220,"path":221,"isActive":100},"Что показывает оператор typeof в JavaScript?","/technical-interview/tasks/what-does-the-typeof-operator-show-in-javascript",{"name":223,"path":224,"isActive":100},"Какие типы данных существует в JavaScript?","/technical-interview/tasks/what-types-of-data-exist-in-javascript",{"name":226,"path":227,"isActive":100},"Какую структуру использовать для хранения упорядоченного списка строк в JavaScript?","/technical-interview/tasks/what-is-the-best-structure-to-use-for-storing-an-ordered-list-of-strings-in-javascript",{"name":229,"path":230,"isActive":100},"Что вернет typeof для массива?","/technical-interview/tasks/what-will-typeof-return-for-an-array",{"name":232,"path":233,"isActive":100},"Почему оператор typeof, применённый к массиву, возвращает объект?","/technical-interview/tasks/why-does-the-typeof-operator-applied-to-an-array-return-an-object",{"name":235,"path":236,"isActive":100},"Если нужно хранить список уникальных строк, какую структуру данных выбрать?","/technical-interview/tasks/if-you-need-to-store-a-list-of-unique-strings-which-data-structure-should-i-choose",{"name":238,"path":239,"isActive":100},"Что возвращает typeof для new Set в JavaScript?","/technical-interview/tasks/what-does-typeof-return-for-new-set-in-javascript",{"name":241,"path":242,"isActive":100},"Почему в JavaScript два объекта с одинаковым содержимым при сравнении возвращают false?","/technical-interview/tasks/why-do-two-objects-with-the-same-content-return-false-when-compared-in-javascript",{"name":244,"path":245,"isActive":100},"В чем разница между микро- и макро-тасками в JavaScript?","/technical-interview/tasks/what-is-the-difference-between-micro-and-macro-tasks-in-javascript",{"name":247,"path":248,"isActive":100},"arr.push(0) повлияет на массив так же, как если бы мы выполнили...","/technical-interview/tasks/arr-push-0-will-affect-the-array-in-the-same-way-as-if-we-performed",{"name":79,"path":250,"isActive":100},"/technical-interview/tasks/returns-an-array-from-1-to-n-replacing-numbers-that-are-multiples-of-3-with-fizz-numbers-that-are-multiples-of-5-with-buzz-and-numbers-that-are-multiples-of-both-3-and-5-with-fizzbuzz",{"name":252,"path":253,"isActive":100},"Дана строка: 'one.two.three.four.five'. Необходимо из строки сделать вложенный объект","/technical-interview/tasks/the-string-one-two-three-four-five-is-given-it-is-necessary-to-make-a-nested-object-out-of-the-string",{"name":255,"path":256,"isActive":100},"Дано дерево (вложенный объект), надо найти сумму всех вершин","/technical-interview/tasks/given-a-tree-nested-object-it-is-necessary-to-find-the-sum-of-all-vertices",{"name":258,"path":259,"isActive":100},"Для каждого вложенного объекта нужно добавить свойство level, которое равняется числу - номер вложенности","/technical-interview/tasks/for-each-nested-object-you-need-to-add-the-level-property-which-is-equal-to-a-number-the-nesting-number",{"name":261,"path":262,"isActive":100},"Для каждой ветви дерева записать номер вложенности данной ветви","/technical-interview/tasks/for-each-branch-of-the-tree-write-down-the-nesting-number-of-this-branch",{"name":264,"path":265,"isActive":100},"Есть массив, в котором лежат объекты с датами, необходимо отсортировать даты по возрастанию","/technical-interview/tasks/there-is-an-array-containing-objects-with-dates-that-need-to-be-sorted-by-date",{"name":267,"path":268,"isActive":100},"Есть слова в массиве, необходимо определить, состоят ли они из одних и тех же букв","/technical-interview/tasks/there-are-words-in-the-array-it-is-necessary-to-determine-whether-they-consist-of-the-same-letters",{"name":270,"path":271,"isActive":100},"Есть строка, состоящая из разных скобок, необходимо проверить, закрыты ли все","/technical-interview/tasks/there-is-a-string-consisting-of-different-brackets-it-is-necessary-to-check-whether-all-are-closed",{"name":273,"path":274,"isActive":100}," Найти в массиве неповторяющиеся числа","/technical-interview/tasks/find-non-repeating-numbers-in-an-array",{"name":276,"path":277,"isActive":100},"Напишите функцию, который сделает из массива объект","/technical-interview/tasks/write-a-function-that-will-make-an-object-out-of-an-array",{"name":279,"path":280,"isActive":100},"Необходимо проверить, являются ли две строки анаграммами друг друга","/technical-interview/tasks/checks-whether-two-strings-are-anagrams-of-each-other",{"name":282,"path":283,"isActive":100},"Нечётные числа должны отсортироваться по возрастанию, а чётные должны остаться на своих местах","/technical-interview/tasks/odd-numbers-should-be-sorted-in-ascending-order-and-even-numbers-should-remain-in-their-original-positions",{"name":285,"path":286,"isActive":100},"Определить, является ли слово палиндромом","/technical-interview/tasks/determines-whether-a-word-is-a-palindrome",{"name":288,"path":289,"isActive":100},"«Расплющивание» массива","/technical-interview/tasks/flattening-the-array",{"name":291,"path":292,"isActive":100},"Реализовать функцию, принимающую аргументы \"*\", \"1\", \"b\", \"1c\" и возвращающую строку \"1*b*1c\"","/technical-interview/tasks/implement-a-function-that-accepts-arguments-1-b-1c-and-the-return-string-1-b-1c",{"name":294,"path":295,"isActive":100},"Сжатие строк","/technical-interview/tasks/string-compression",{"name":297,"path":298,"isActive":100},"Уникализация значений в массиве","/technical-interview/tasks/unifying-values-in-an-array",{"name":300,"path":301,"isActive":100},"Числа от 1 до 100 находятся в массиве, они хаотично перемешанные, но в нём не хватает одного числа из этой последовательности. Необходимо найти его","/technical-interview/tasks/the-numbers-from-1-to-100-are-in-the-array-they-are-randomly-mixed-but-it-lacks-one-number-from-this-sequence-it-is-necessary-to-find-him",{"title":303,"list":304,"isOpened":100},"React",[305,308,311,314,317,320,323],{"name":306,"path":307,"isActive":100},"Для чего нужен React, какие он решает проблемы?","/technical-interview/tasks/what-is-react-used-for-and-what-problems-does-it-solve",{"name":309,"path":310,"isActive":100},"Какой механизм лежит в основе оптимизации обновлений DOM в React?","/technical-interview/tasks/what-is-the-underlying-mechanism-for-optimizing-dom-updates-in-react",{"name":312,"path":313,"isActive":100},"Если убрать в React VDOM/Fiber, и вручную изменять DOM, разве это не оптимально?","/technical-interview/tasks/if-you-remove-the-vdom-fiber-in-react-and-manually-change-the-dom-isn-t-that-optimal",{"name":315,"path":316,"isActive":100},"Есть блок кода. Что в реальном DOM изменится после нажатия на кнопку?","/technical-interview/tasks/there-is-a-block-of-code-what-changes-in-the-real-dom-after-clicking-the-button",{"name":318,"path":319,"isActive":100},"Есть код, в котором список и кнопка. Что в реальном DOM изменится после нажатия на кнопку?","/technical-interview/tasks/there-is-a-code-in-which-there-is-a-list-and-a-button-what-will-change-in-the-real-dom-after-clicking-on-the-button",{"name":321,"path":322,"isActive":100},"Зачем нужен Redux (Mobx/Effector)? Зачем нужен менеджер состояния? Какие проблемы решает?","/technical-interview/tasks/why-do-we-need-redux-mobx-effector-why-do-we-need-a-state-manager-what-problems-does-it-solve",{"name":324,"path":325,"isActive":100},"Что мешает организовать централизованное состояние без менеджера состояния? Если организовать состояние механизмами реакта: контекстом, стейтом, в чем проблема? Что менеджеры состояния привносят?","/technical-interview/tasks/what-prevents-you-from-organizing-a-centralized-state-without-a-state-manager-if-you-organize-the-state-using-react-context-and-state-mechanisms-what-is-the-problem-what-do-state-managers-add",{"title":327,"list":328,"isOpened":100},"Алгоритмы",[329,332],{"name":330,"path":331,"isActive":100},"Что такое алгоритмическая сложность?","/technical-interview/tasks/what-is-algorithmic-complexity",{"name":333,"path":334,"isActive":100},"Какая алгоритмическая сложность у \"быстрой сортировки\"?","/technical-interview/tasks/what-is-the-algorithmic-complexity-of-quick-sort",{"title":336,"list":337,"isOpened":100},"Дебаггинг",[338],{"name":339,"path":340,"isActive":100},"Как диагностировать и исправить нежелательное изменение цвета фона по клику на кнопку, если исходный код сайта запутан и недоступен для прямого чтения?","/technical-interview/tasks/how-can-diagnose-and-fix-unwanted-background-color-changes-when-clicking-on-a-button-if-the-source-code-of-the-site-is-confusing-and-inaccessible-to-direct-reading",{"title":342,"list":343,"isOpened":100},"Компьютерные сети",[344,347,350,353,356,359,362,365,368,371,374,377,380,383,386,389,392,395,398,401],{"name":345,"path":346,"isActive":100},"Как браузер после ввода домена понимает, откуда брать сайт?","/technical-interview/tasks/how-does-the-browser-know-where-to-get-the-website-after-entering-the-domain",{"name":348,"path":349,"isActive":100},"Что такое DNS, как DNS находит нужный IP-адрес?","/technical-interview/tasks/what-is-dns-and-how-does-dns-find-the-correct-ip-address",{"name":351,"path":352,"isActive":100},"Как домен попадает в DNS в таблицу соответствия: домен – ip","/technical-interview/tasks/how-does-a-domain-get-into-the-dns-mapping-table-domain-ip",{"name":354,"path":355,"isActive":100},"Как браузер решает, какое соединение ему открывать, TCP или UDP?","/technical-interview/tasks/how-does-a-browser-decide-whether-to-open-a-tcp-or-udp-connection",{"name":357,"path":358,"isActive":100},"Ключевые отличия TCP и UDP","/technical-interview/tasks/key-differences-between-tcp-and-udp",{"name":360,"path":361,"isActive":100},"\"TCP/IP\" - кем является TCP, а кем IP в данном случае?","/technical-interview/tasks/tcp-ip-who-is-tcp-and-who-is-ip-in-this-case",{"name":363,"path":364,"isActive":100},"Что такое HTTP и из чего состоит?","/technical-interview/tasks/what-is-http-and-what-does-it-consist-of",{"name":366,"path":367,"isActive":100},"Что такое заголовки в HTTP и зачем они нужны?","/technical-interview/tasks/what-are-http-headers-and-why-do-we-need-them",{"name":369,"path":370,"isActive":100},"Что такое параметры в HTTP?","/technical-interview/tasks/what-are-http-parameters",{"name":372,"path":373,"isActive":100},"Где находится HTML-код в структуре HTTP-ответа?","/technical-interview/tasks/where-is-the-html-code-located-in-the-http-response-structure",{"name":375,"path":376,"isActive":100},"Чем отличаются 1.0, 1.1, 2.0, 3.0 версии HTTP?","/technical-interview/tasks/what-are-the-differences-between-http-versions-1-0-1-1-2-0-and-3-0",{"name":378,"path":379,"isActive":100},"Пользователь авторизован на сайте. Как сервер узнает об этом с последующими другими заходами, что «я – авторизованный пользователь»?","/technical-interview/tasks/the-user-is-logged-in-on-the-website-how-does-the-server-know-that-i-am-an-authorized-user-when-the-user-logs-in-again",{"name":381,"path":382,"isActive":100},"Что такое cookie?","/technical-interview/tasks/what-is-a-cookie",{"name":384,"path":385,"isActive":100},"Кто является инициатором записи cookie в браузере?","/technical-interview/tasks/who-initiates-the-cookie-recording-in-the-browser",{"name":387,"path":388,"isActive":100},"Есть ли возможность с клиента (с браузера) управлять cookie?","/technical-interview/tasks/is-it-possible-to-manage-cookies-from-the-client-browser",{"name":390,"path":391,"isActive":100},"Верно ли утверждение, что злоумышленник, контролирующий роутер и прослушивающий трафик, может получить логины и пароли от сайтов, на которые заходит клиент?","/technical-interview/tasks/is-it-true-that-an-attacker-who-controls-a-router-and-listens-to-traffic-can-obtain-logins-and-passwords-from-websites-that-a-client-visits",{"name":393,"path":394,"isActive":100},"Всё, что идет по HTTPS – оно защищено?","/technical-interview/tasks/is-everything-that-goes-through-https-secure",{"name":396,"path":397,"isActive":100},"Все данные зашифрованы, используется https. Хакер взламывает dns и делает подмену одного ip на другой, на фишинговый сайт. В этом случае, злоумышленник может получить данные (логин \\ пароль)?","/technical-interview/tasks/all-data-is-encrypted-https-is-used-let-s-assume-a-hacker-hacks-the-dns-and-makes-a-substitution-of-one-ip-for-another-a-phishing-site",{"name":399,"path":400,"isActive":100},"Есть веб-приложение. Помимо HTTP, какие протоколы того же уровня (Application Layer) можно дополнительно использовать в веб-приложении в браузере?","/technical-interview/tasks/there-is-a-web-application-in-addition-to-http-what-other-protocols-of-the-same-level-application-layer-can-be-used-in-the-web-application-in-browser",{"name":402,"path":403,"isActive":100},"Каким способом может выполняться авторизация пользователя на сайте?","/technical-interview/tasks/how-can-a-user-be-authorized-on-a-website",{"title":405,"list":406,"isOpened":100},"Отрисовка в браузере",[407,410,413,416,419,422],{"name":408,"path":409,"isActive":100},"Что происходит, когда HTTP прислал HTML? Что браузер дальше делает c HTML с учетом того, что она валидная?","/technical-interview/tasks/what-happens-when-http-sends-html-what-does-the-browser-do-with-this-html-given-that-it-is-valid",{"name":411,"path":412,"isActive":100},"Как браузер парсит JavaScript и изображения при рендеринге?","/technical-interview/tasks/how-the-browser-parses-javascript-and-images-when-rendering",{"name":414,"path":415,"isActive":100},"Что в браузере блокирует рендеринг страницы?","/technical-interview/tasks/what-is-blocking-the-page-rendering-in-the-browser",{"name":417,"path":418,"isActive":100},"Что такое DOM в браузере? Что такое CSSOM?","/technical-interview/tasks/what-is-dom-in-a-browser-what-is-cssom",{"name":420,"path":421,"isActive":100},"Что является узлами в DOM?","/technical-interview/tasks/what-are-nodes-in-the-dom",{"name":423,"path":424,"isActive":100},"Из чего состоит CSSOM?","/technical-interview/tasks/what-does-cssom-consist-of",{"title":426,"list":427,"isOpened":100},"Ревью кода",[428],{"name":429,"path":430,"isActive":100},"По каким характеристикам, ревьюер понимает, что данный код - хороший, а этот код - плохой?","/technical-interview/tasks/how-does-a-reviewer-know-which-code-is-good-and-which-code-is-bad",{"title":432,"list":433,"isOpened":100},"Теория вероятности",[434,437,440],{"name":435,"path":436,"isActive":100},"В комнате три человека. Какова вероятность того, что хотя бы двое из них одного пола? То есть два и более.","/technical-interview/tasks/there-are-three-people-in-the-room-what-is-the-probability-that-at-least-two-of-them-are-of-the-same-sex-that-is-two-or-more",{"name":438,"path":439,"isActive":100},"Есть монета. Ее подбрасывают пять раз подряд. Каждый раз записывается, что выпало - орел или решка. Сколько разных последовательностей орлов и решек может при этом получиться?","/technical-interview/tasks/there-is-a-coin-it-is-tossed-five-times-in-a-row-each-time-it-is-recorded-whether-it-lands-on-heads-or-tails-how-many-different-sequences-of-heads-and-tails-can-be-obtained",{"name":441,"path":442,"isActive":100},"Как гарантированно найти лёгкую фальшивую монету среди 8 за минимальное число взвешиваний на чашечных весах?","/technical-interview/tasks/how-can-you-guarantee-to-find-an-easy-fake-coin-among-8-in-the-minimum-number-of-weighings-on-a-balance-scale",{"slugs":444},[445,448,450,452,454,457,460,462,464,466,468,470,473,475,477,479,481,483,485,487,489,491,493,495,497,499,501,503,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,563,565,567,569,571,573,575,577,579,581,583,585,587,589,591,593,595,597,599,601,603,605,607,609,611,613,615,617,619,621,623,625,627,629,631,633,635,637,639,641,643,645,647,649,651,653,654,656,658,660,662],{"name":446,"value":447},"Теоретические задания","theoretical-tasks",{"name":202,"value":449},"what-this-code-will-return-typeof-function",{"name":101,"value":451},"where-to-begin",{"name":169,"value":453},"why-is-it-dangerous-to-write-directly-to-the-prototypes-of-basic-types",{"name":455,"value":456},"Backend","backend",{"name":458,"value":459},"Frontend","frontend",{"name":166,"value":461},"prototype-what-logical-values-will-be-received-in-console-log",{"name":282,"value":463},"odd-numbers-should-be-sorted-in-ascending-order-and-even-numbers-should-remain-in-their-original-positions",{"name":273,"value":465},"find-non-repeating-numbers-in-an-array",{"name":247,"value":467},"arr-push-0-will-affect-the-array-in-the-same-way-as-if-we-performed",{"name":252,"value":469},"the-string-one-two-three-four-five-is-given-it-is-necessary-to-make-a-nested-object-out-of-the-string",{"name":471,"value":472},"Реализовать функцию, похоже как в Jquery","implement-a-function-similar-to-jquery",{"name":258,"value":474},"for-each-nested-object-you-need-to-add-the-level-property-which-is-equal-to-a-number-the-nesting-number",{"name":175,"value":476},"what-value-will-the-console-output-with-object-property",{"name":178,"value":478},"what-will-be-displayed-in-console-log-arr-0-arr-0",{"name":79,"value":480},"returns-an-array-from-1-to-n-replacing-numbers-that-are-multiples-of-3-with-fizz-numbers-that-are-multiples-of-5-with-buzz-and-numbers-that-are-multiples-of-both-3-and-5-with-fizzbuzz",{"name":279,"value":482},"checks-whether-two-strings-are-anagrams-of-each-other",{"name":285,"value":484},"determines-whether-a-word-is-a-palindrome",{"name":264,"value":486},"there-is-an-array-containing-objects-with-dates-that-need-to-be-sorted-by-date",{"name":291,"value":488},"implement-a-function-that-accepts-arguments-1-b-1c-and-the-return-string-1-b-1c",{"name":255,"value":490},"given-a-tree-nested-object-it-is-necessary-to-find-the-sum-of-all-vertices",{"name":261,"value":492},"for-each-branch-of-the-tree-write-down-the-nesting-number-of-this-branch",{"name":267,"value":494},"there-are-words-in-the-array-it-is-necessary-to-determine-whether-they-consist-of-the-same-letters",{"name":300,"value":496},"the-numbers-from-1-to-100-are-in-the-array-they-are-randomly-mixed-but-it-lacks-one-number-from-this-sequence-it-is-necessary-to-find-him",{"name":270,"value":498},"there-is-a-string-consisting-of-different-brackets-it-is-necessary-to-check-whether-all-are-closed",{"name":276,"value":500},"write-a-function-that-will-make-an-object-out-of-an-array",{"name":181,"value":502},"what-will-console-log-output-as-a-result-of-executing-the-while-loop",{"name":184,"value":504},"there-is-a-function-and-an-object-write-all-the-ways-you-know-to-output-the-value-of-x-from-an-object-in-the-console-using-the-function",{"name":196,"value":506},"what-will-the-console-display-if-a-property-is-assigned-to-an-array-using-a-negative-string-index",{"name":199,"value":508},"what-will-the-console-output-if-an-array-element-is-deleted-using-the-delete-operator",{"name":297,"value":510},"unifying-values-in-an-array",{"name":288,"value":512},"flattening-the-array",{"name":187,"value":514},"what-will-the-book-get-upper-name-method-return",{"name":294,"value":516},"string-compression",{"name":193,"value":518},"what-will-the-console-display-if-a-property-is-assigned-to-an-array-using-a-positive-string-index",{"name":205,"value":520},"what-will-happen-when-an-object-is-passed-as-an-argument-to-a-function-and-the-code-is-executed",{"name":345,"value":522},"how-does-the-browser-know-where-to-get-the-website-after-entering-the-domain",{"name":351,"value":524},"how-does-a-domain-get-into-the-dns-mapping-table-domain-ip",{"name":354,"value":526},"how-does-a-browser-decide-whether-to-open-a-tcp-or-udp-connection",{"name":357,"value":528},"key-differences-between-tcp-and-udp",{"name":360,"value":530},"tcp-ip-who-is-tcp-and-who-is-ip-in-this-case",{"name":363,"value":532},"what-is-http-and-what-does-it-consist-of",{"name":366,"value":534},"what-are-http-headers-and-why-do-we-need-them",{"name":369,"value":536},"what-are-http-parameters",{"name":372,"value":538},"where-is-the-html-code-located-in-the-http-response-structure",{"name":160,"value":540},"what-is-html",{"name":375,"value":542},"what-are-the-differences-between-http-versions-1-0-1-1-2-0-and-3-0",{"name":378,"value":544},"the-user-is-logged-in-on-the-website-how-does-the-server-know-that-i-am-an-authorized-user-when-the-user-logs-in-again",{"name":381,"value":546},"what-is-a-cookie",{"name":384,"value":548},"who-initiates-the-cookie-recording-in-the-browser",{"name":387,"value":550},"is-it-possible-to-manage-cookies-from-the-client-browser",{"name":552,"value":75},"Лайвкодинг",{"name":172,"value":554},"what-will-the-following-code-return-object-create-null-has-own-property-to-string",{"name":393,"value":556},"is-everything-that-goes-through-https-secure",{"name":396,"value":558},"all-data-is-encrypted-https-is-used-let-s-assume-a-hacker-hacks-the-dns-and-makes-a-substitution-of-one-ip-for-another-a-phishing-site",{"name":399,"value":560},"there-is-a-web-application-in-addition-to-http-what-other-protocols-of-the-same-level-application-layer-can-be-used-in-the-web-application-in-browser",{"name":411,"value":562},"how-the-browser-parses-javascript-and-images-when-rendering",{"name":408,"value":564},"what-happens-when-http-sends-html-what-does-the-browser-do-with-this-html-given-that-it-is-valid",{"name":414,"value":566},"what-is-blocking-the-page-rendering-in-the-browser",{"name":417,"value":568},"what-is-dom-in-a-browser-what-is-cssom",{"name":420,"value":570},"what-are-nodes-in-the-dom",{"name":423,"value":572},"what-does-cssom-consist-of",{"name":121,"value":574},"the-html-code-is-given-what-will-be-the-color-of-the-some-dummy-text",{"name":124,"value":576},"there-is-a-template-for-html-and-css-code-what-color-will-the-text-thus-constant-have",{"name":127,"value":578},"there-is-a-template-for-embedded-html-code-what-will-be-the-color-of-the-one-more-dummy-text",{"name":130,"value":580},"there-is-a-template-for-embedded-html-code-will-there-be-a-display-does-bodys-block-affect-span",{"name":133,"value":582},"there-is-an-html-code-will-font-weight-affect-span",{"name":136,"value":584},"what-are-the-differences-between-flexbox-and-grid",{"name":139,"value":586},"do-flexbox-and-grid-replace-each-other",{"name":142,"value":588},"there-are-css-and-js-animations-what-is-the-difference-between-them-and-which-is-faster-and-more-convenient",{"name":105,"value":590},"tasks",{"name":208,"value":592},"what-are-the-ways-to-declare-a-function-in-javascript",{"name":211,"value":594},"what-is-this-in-javascript",{"name":214,"value":596},"what-is-an-event-loop-and-how-does-it-work",{"name":217,"value":598},"what-happens-if-you-call-typeof-on-an-undeclared-variable",{"name":220,"value":600},"what-does-the-typeof-operator-show-in-javascript",{"name":223,"value":602},"what-types-of-data-exist-in-javascript",{"name":226,"value":604},"what-is-the-best-structure-to-use-for-storing-an-ordered-list-of-strings-in-javascript",{"name":229,"value":606},"what-will-typeof-return-for-an-array",{"name":232,"value":608},"why-does-the-typeof-operator-applied-to-an-array-return-an-object",{"name":235,"value":610},"if-you-need-to-store-a-list-of-unique-strings-which-data-structure-should-i-choose",{"name":238,"value":612},"what-does-typeof-return-for-new-set-in-javascript",{"name":306,"value":614},"what-is-react-used-for-and-what-problems-does-it-solve",{"name":312,"value":616},"if-you-remove-the-vdom-fiber-in-react-and-manually-change-the-dom-isn-t-that-optimal",{"name":315,"value":618},"there-is-a-block-of-code-what-changes-in-the-real-dom-after-clicking-the-button",{"name":318,"value":620},"there-is-a-code-in-which-there-is-a-list-and-a-button-what-will-change-in-the-real-dom-after-clicking-on-the-button",{"name":321,"value":622},"why-do-we-need-redux-mobx-effector-why-do-we-need-a-state-manager-what-problems-does-it-solve",{"name":339,"value":624},"how-can-diagnose-and-fix-unwanted-background-color-changes-when-clicking-on-a-button-if-the-source-code-of-the-site-is-confusing-and-inaccessible-to-direct-reading",{"name":148,"value":626},"developed-it-committed-it-and-launched-it-it-turned-out-that-i-had-pushed-it-to-the-wrong-branch-or-rather-the-commit-was-in-the-wrong-branch-what-actions",{"name":151,"value":628},"git-has-several-options-for-merging-branches-which-ones-how-are-they-different",{"name":154,"value":630},"what-are-the-branching-strategies-for-the-team-what-is-it",{"name":429,"value":632},"how-does-a-reviewer-know-which-code-is-good-and-which-code-is-bad",{"name":112,"value":634},"here-is-a-fragment-of-a-bash-script-cd-mkdir-foo-what-is-happening-in-this-script",{"name":115,"value":636},"here-is-a-fragment-of-a-bash-script-target-ps-af-grep-1-head-n-1",{"name":330,"value":638},"what-is-algorithmic-complexity",{"name":333,"value":640},"what-is-the-algorithmic-complexity-of-quick-sort",{"name":241,"value":642},"why-do-two-objects-with-the-same-content-return-false-when-compared-in-javascript",{"name":402,"value":644},"how-can-a-user-be-authorized-on-a-website",{"name":244,"value":646},"what-is-the-difference-between-micro-and-macro-tasks-in-javascript",{"name":435,"value":648},"there-are-three-people-in-the-room-what-is-the-probability-that-at-least-two-of-them-are-of-the-same-sex-that-is-two-or-more",{"name":438,"value":650},"there-is-a-coin-it-is-tossed-five-times-in-a-row-each-time-it-is-recorded-whether-it-lands-on-heads-or-tails-how-many-different-sequences-of-heads-and-tails-can-be-obtained",{"name":441,"value":652},"how-can-you-guarantee-to-find-an-easy-fake-coin-among-8-in-the-minimum-number-of-weighings-on-a-balance-scale",{"name":94,"value":95},{"name":390,"value":655},"is-it-true-that-an-attacker-who-controls-a-router-and-listens-to-traffic-can-obtain-logins-and-passwords-from-websites-that-a-client-visits",{"name":348,"value":657},"what-is-dns-and-how-does-dns-find-the-correct-ip-address",{"name":190,"value":659},"variables-are-declared-as-follows-specify-the-correct-statement",{"name":309,"value":661},"what-is-the-underlying-mechanism-for-optimizing-dom-updates-in-react",{"name":324,"value":663},"what-prevents-you-from-organizing-a-centralized-state-without-a-state-manager-if-you-organize-the-state-using-react-context-and-state-mechanisms-what-is-the-problem-what-do-state-managers-add",{"cooperation":665,"copyright":668,"reportError":669,"socialNetwork":671},{"link":666,"title":667},"https://t.me/baurinanton","Сотрудничество","© “GOOD WEB JOB!”",{"label":670,"link":666},"Сообщить об ошибке",{"label":672,"socialNetworkList":673},"Мы в соцсетях:",[674,677,680],{"icon":82,"link":675,"title":676},"https://max.ru/u/f9LHodD0cOKMaukdnnahTeL5pwvjrPfUaZ4S8_1rsNy9I9qsmc9Ar3kP_y8","Max",{"icon":678,"link":666,"title":679},"ic:baseline-telegram","Telegram",{"icon":681,"link":682,"title":683},"ri:vk-fill","https://vk.com/baurinanton","VK",{"data":685,"body":686},{},{"type":687,"children":688},"root",[689,697,710,715,720,725],{"type":690,"tag":691,"props":692,"children":693},"element","p",{},[694],{"type":695,"value":696},"text","Дан массив:",{"type":690,"tag":698,"props":699,"children":703},"pre",{"className":700,"code":702,"language":695},[701],"language-text","const nums = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]\n",[704],{"type":690,"tag":705,"props":706,"children":708},"code",{"__ignoreMap":707},"",[709],{"type":695,"value":702},{"type":690,"tag":691,"props":711,"children":712},{},[713],{"type":695,"value":714},"Напишите функцию, который возвращает массив чисел от 1 до n,\nгде n — целое число, которое функция принимает в качестве параметра, при этом:",{"type":690,"tag":691,"props":716,"children":717},{},[718],{"type":695,"value":719},"выводит 'fizz' вместо чисел, кратных 3;\nвыводит 'buzz' вместо чисел, кратных 5;\nвыводит 'fizzbuzz' вместо чисел, кратных и 3, и 5.",{"type":690,"tag":691,"props":721,"children":722},{},[723],{"type":695,"value":724},"Например:",{"type":690,"tag":698,"props":726,"children":729},{"className":727,"code":728,"language":695},[701],"fizzBuzz(nums) // [1,2,\"fizz\",4,\"buzz\",\"fizz\",7,8,\"fizz\",\"buzz\",11,\"fizz\",13,14,\"fizzbuzz\",16]\n",[730],{"type":690,"tag":705,"props":731,"children":732},{"__ignoreMap":707},[733],{"type":695,"value":728},{"data":735,"body":736},{},{"type":687,"children":737},[738,783,788,830],{"type":690,"tag":691,"props":739,"children":740},{},[741,743,749,751,757,759,765,767,773,775,781],{"type":695,"value":742},"Оператор ",{"type":690,"tag":705,"props":744,"children":746},{"className":745},[],[747],{"type":695,"value":748},"%",{"type":695,"value":750}," возвращает остаток от деления: выражение ",{"type":690,"tag":705,"props":752,"children":754},{"className":753},[],[755],{"type":695,"value":756},"a % b",{"type":695,"value":758}," показывает, сколько «останется» после деления ",{"type":690,"tag":705,"props":760,"children":762},{"className":761},[],[763],{"type":695,"value":764},"a",{"type":695,"value":766}," на ",{"type":690,"tag":705,"props":768,"children":770},{"className":769},[],[771],{"type":695,"value":772},"b",{"type":695,"value":774},".\nКратность проверяется так: если ",{"type":690,"tag":705,"props":776,"children":778},{"className":777},[],[779],{"type":695,"value":780},"x % 3 === 0",{"type":695,"value":782},", то число делится на 3 без остатка, значит оно кратно 3.",{"type":690,"tag":691,"props":784,"children":785},{},[786],{"type":695,"value":787},"Для FizzBuzz достаточно трёх проверок, но важно их расположение.",{"type":690,"tag":789,"props":790,"children":791},"ul",{},[792,806,825],{"type":690,"tag":793,"props":794,"children":795},"li",{},[796,798,804],{"type":695,"value":797},"Сначала проверяется «кратно 3 и 5 одновременно»; это удобно записать как ",{"type":690,"tag":705,"props":799,"children":801},{"className":800},[],[802],{"type":695,"value":803},"x % 15 === 0",{"type":695,"value":805},".",{"type":690,"tag":793,"props":807,"children":808},{},[809,811,816,818,824],{"type":695,"value":810},"Затем проверяются отдельные случаи ",{"type":690,"tag":705,"props":812,"children":814},{"className":813},[],[815],{"type":695,"value":780},{"type":695,"value":817}," и ",{"type":690,"tag":705,"props":819,"children":821},{"className":820},[],[822],{"type":695,"value":823},"x % 5 === 0",{"type":695,"value":805},{"type":690,"tag":793,"props":826,"children":827},{},[828],{"type":695,"value":829},"В конце возвращается исходное число, если ни одно правило не подошло.",{"type":690,"tag":691,"props":831,"children":832},{},[833,835,841],{"type":695,"value":834},"Почему ",{"type":690,"tag":705,"props":836,"children":838},{"className":837},[],[839],{"type":695,"value":840},"15",{"type":695,"value":842},": это число делится и на 3, и на 5, поэтому оно является короткой проверкой «одновременно кратно 3 и 5».",{"data":844,"body":845},{},{"type":687,"children":846},[847],{"type":690,"tag":698,"props":848,"children":851},{"className":849,"code":850,"language":695},[701],"получено число x\nесли x % 15 === 0 → \"fizzbuzz\"\nиначе если x % 3 === 0 → \"fizz\"\nиначе если x % 5 === 0 → \"buzz\"\nиначе → x\n",[852],{"type":690,"tag":705,"props":853,"children":854},{"__ignoreMap":707},[855],{"type":695,"value":850},{"data":857,"body":858},{},{"type":687,"children":859},[860],{"type":690,"tag":861,"props":862,"children":863},"table",{},[864,889],{"type":690,"tag":865,"props":866,"children":867},"thead",{},[868],{"type":690,"tag":869,"props":870,"children":871},"tr",{},[872,879,884],{"type":690,"tag":873,"props":874,"children":876},"th",{"align":875},"right",[877],{"type":695,"value":878},"Значение",{"type":690,"tag":873,"props":880,"children":881},{},[882],{"type":695,"value":883},"Проверка",{"type":690,"tag":873,"props":885,"children":886},{},[887],{"type":695,"value":888},"Результат",{"type":690,"tag":890,"props":891,"children":892},"tbody",{},[893,916,938,959],{"type":690,"tag":869,"props":894,"children":895},{},[896,902,911],{"type":690,"tag":897,"props":898,"children":899},"td",{"align":875},[900],{"type":695,"value":901},"3",{"type":690,"tag":897,"props":903,"children":904},{},[905],{"type":690,"tag":705,"props":906,"children":908},{"className":907},[],[909],{"type":695,"value":910},"3 % 3 === 0",{"type":690,"tag":897,"props":912,"children":913},{},[914],{"type":695,"value":915},"\"fizz\"",{"type":690,"tag":869,"props":917,"children":918},{},[919,924,933],{"type":690,"tag":897,"props":920,"children":921},{"align":875},[922],{"type":695,"value":923},"5",{"type":690,"tag":897,"props":925,"children":926},{},[927],{"type":690,"tag":705,"props":928,"children":930},{"className":929},[],[931],{"type":695,"value":932},"5 % 5 === 0",{"type":690,"tag":897,"props":934,"children":935},{},[936],{"type":695,"value":937},"\"buzz\"",{"type":690,"tag":869,"props":939,"children":940},{},[941,945,954],{"type":690,"tag":897,"props":942,"children":943},{"align":875},[944],{"type":695,"value":840},{"type":690,"tag":897,"props":946,"children":947},{},[948],{"type":690,"tag":705,"props":949,"children":951},{"className":950},[],[952],{"type":695,"value":953},"15 % 15 === 0",{"type":690,"tag":897,"props":955,"children":956},{},[957],{"type":695,"value":958},"\"fizzbuzz\"",{"type":690,"tag":869,"props":960,"children":961},{},[962,967,972],{"type":690,"tag":897,"props":963,"children":964},{"align":875},[965],{"type":695,"value":966},"16",{"type":690,"tag":897,"props":968,"children":969},{},[970],{"type":695,"value":971},"не кратно 3 и не кратно 5",{"type":690,"tag":897,"props":973,"children":974},{},[975],{"type":695,"value":966},{"data":977,"body":978},{},{"type":687,"children":979},[980],{"type":690,"tag":691,"props":981,"children":982},{},[983,985,990,992,998],{"type":695,"value":984},"Кратко: по условию требуется преобразовать уже данный массив; для каждого элемента выполняется проверка остатка ",{"type":690,"tag":705,"props":986,"children":988},{"className":987},[],[989],{"type":695,"value":748},{"type":695,"value":991}," (сначала на 15, потом на 3 и 5), а итог собирается в новый массив (чаще всего через ",{"type":690,"tag":705,"props":993,"children":995},{"className":994},[],[996],{"type":695,"value":997},"map",{"type":695,"value":999},").",1775575822666]