[{"data":1,"prerenderedAt":1334},["ShallowReactive",2],{"$f_vG7BNTeztUIcHwcaE4whvpsDX7vtdygFaQLDbhYW8E":3,"$fMMUdSFktwQFqMVGPrTtt3EC5yheBp7PzwIqznamFcMo":70,"$f1Prj1xEczHja_-L7FyIGgRHd5_cSWHo7r6AE5aheAik":73,"$fc0LoAJgqXDLbKKd2JS_NpM4SuzBK8EycUXINSg09CKU":398,"$fM3ea55k6lKMPOTM84llDB26VSQDVVbxiQuSBFQw9P_c":401,"$fI5fDmvm-5tr9wcH0eHaKZa1j3y_FQIQaHHPqbZxAHJE":645,"mdc-qy9xlh-key":665,"mdc--8c08kx-key":696,"mdc-f76l7r-key":704,"mdc-uxp2yx-key":712,"mdc--2jaza5-key":734,"mdc-p470g9-key":742,"mdc-4qnm1z-key":775,"mdc--hf235b-key":790,"mdc-erx54e-key":856,"mdc-vsi16m-key":898,"mdc-eetlpc-key":906,"mdc--4w2bfa-key":1051,"mdc-bcy48x-key":1290},{"content":4,"quizQuestionContent":43,"type":59,"pageMeta":60},[5,9,13,16,20,23,26,30,33,37,40],{"id":6,"value":7,"isTypeH1":8},"1881","Наследуется ли font-weight от body к span в HTML",true,{"id":10,"value":11,"anchor":12,"isTypeH2":8},"4289","Теория: наследование font-weight","theory-font-weight-inheritance",{"id":14,"value":15,"isTypeParagraph":8},"9876","Свойство `font-weight` является наследуемым: если для элемента не задано значение, оно берётся (наследуется) из вычисленного значения родителя.  \nСледовательно, `span`, находящийся внутри `body`, получит полужирное начертание, так как у `body` задано `font-weight: bold`, а у `span` в данном HTML не задано альтернативное значение `font-weight`.",{"id":17,"description":18,"titleAlert":19,"isTypeAlertInfo":8},"612","`font-weight` относится к оформлению текста, поэтому при отсутствии переопределений ожидается одинаковая жирность у текста всех потомков внутри элемента, где `font-weight` задан явно.",null,{"id":21,"value":22,"isTypeParagraph":8},"9877","Механика применения в CSS выглядит так: сначала для элемента ищется «заданное значение» свойства по каскаду (правила автора, пользователя, браузера), и только если значения нет — применяется наследование.  \nПоэтому наследование — это резервный механизм: если бы у `span` было собственное значение `font-weight` (например, `normal`), оно бы перекрыло унаследованное значение от `body`.",{"id":24,"description":25,"titleAlert":19,"isTypeAlertWarning":8},"669","Иногда создаётся ложное впечатление, что свойство «не наследуется», когда на потомке уже есть собственное значение из других правил каскада (например, из CSS-файла, встроенных стилей компонента или стилей браузера), и тогда наследование просто не используется.",{"id":27,"value":28,"anchor":29,"isTypeH2":8},"4290","Разбор исходного кода","walkthrough-of-the-original-code",{"id":31,"value":32,"isTypeParagraph":8},"9878","Имеется стиль на `body`: `color: red; font-weight: bold; display: block; background: url('bg.jpg');`.  \nИз этих свойств `color` и `font-weight` по умолчанию наследуются, а, например, `background` и `display` — обычно нет, поэтому они не «переезжают» на дочерние элементы через наследование.\n\nВнутри `body` находится `span`, и у него в разметке нет атрибута `style` и нет CSS-правил, задающих `font-weight`.  \nЗначит, для `span` будет использовано унаследованное значение `font-weight` от ближайшего предка (в итоге от `body` через цепочку `div`), то есть `bold`.\n\nСхема наследования в данном фрагменте (упрощённо):\n\n```\nhtml\n└─ body (font-weight: bold)\n   └─ div\n      └─ div\n         └─ span (font-weight: наследуется → bold)\n```\n",{"id":34,"value":35,"anchor":36,"isTypeH2":8},"4291","Примеры и таблица","code-examples-and-table",{"id":38,"value":39,"isTypeParagraph":8},"9879","Пример 1. Исходный фрагмент (ключевой эффект — `span` станет полужирным):\n\n```\n\u003Chtml>\n  \u003Chead>\n    \u003Ctitle>CSS test 2\u003C/title>\n  \u003C/head>\n  \u003Cbody style=\"color: red; font-weight: bold; display: block; background: url('bg.jpg');\">\n    \u003Cdiv>\n      Some test text\n      \u003Cdiv>\n        Lorem ipsum etc..\n        \u003Cspan>\n          One more dummy text\n        \u003C/span>\n      \u003C/div>\n    \u003C/div>\n  \u003C/body>\n\u003C/html>\n```\n\nПример 2. Явное переопределение на `span` (полужирность пропадёт, так как наследование не будет применяться):\n\n```\n\u003Chtml>\n  \u003Cbody style=\"font-weight: bold;\">\n    \u003Cspan style=\"font-weight: normal;\">\n      Этот текст станет обычным\n    \u003C/span>\n  \u003C/body>\n\u003C/html>\n```\n\nПример 3. Явное указание наследования (эффект совпадёт с исходным, но становится «самодокументируемым»):\n\n```\n\u003Chtml>\n  \u003Cbody style=\"font-weight: bold;\">\n    \u003Cspan style=\"font-weight: inherit;\">\n      Этот текст будет полужирным\n    \u003C/span>\n  \u003C/body>\n\u003C/html>\n```\n\nПример 4. Относительные значения `bolder`/`lighter` зависят от веса шрифта родителя, то есть тоже привязаны к родительскому значению `font-weight`:\n\n```\n\u003Chtml>\n  \u003Cbody style=\"font-weight: 700;\">\n    \u003Cspan style=\"font-weight: lighter;\">\n      Этот текст станет легче, чем родитель\n    \u003C/span>\n  \u003C/body>\n\u003C/html>\n```\n\n| Свойство | Что делает | Наследуется по умолчанию | Что будет со `span` в задаче |\n|---|---|---|---|\n| `font-weight` | Толщина/жирность шрифта | Да | Будет `bold` (унаследуется от `body`) |\n| `color` | Цвет текста | Да | Будет красным (унаследуется от `body`) |\n| `border` | Граница элемента | Нет | Не появится из-за родителя |",{"id":41,"value":42,"isTypeParagraph":8},"9880","Кратко: `font-weight: bold`, заданный на `body`, будет влиять на `span`, потому что `font-weight` наследуется, и у `span` нет собственного значения этого свойства.",{"id":44,"options":45,"hint":56,"solution":57,"description":58},"1123",[46,49,53],{"id":47,"label":48,"isCorrect":8},"4620","Будет",{"id":50,"label":51,"isCorrect":52},"4621","Не будет",false,{"id":54,"label":55,"isCorrect":52},"4622","CSS-ошибка","Если свойство относится к шрифтам или тексту (например, `color`, `font-*`), часто оно наследуется; проверка делается по описанию свойства, где явно указано `Inherited: yes/no`.","**Правильный ответ: 1** - Будет","Есть HTML код:\n\n```\n\u003Chtml>\n  \u003Chead>\n    \u003Ctitle>CSS test 2\u003C/title>\n  \u003C/head>\n  \u003Cbody style=\"color: red; font-weight: bold; display: block; background: url('bg.jpg');\">\n    \u003Cdiv>\n      Some test text\n      \u003Cdiv>\n        Lorem ipsum etc..\n        \u003Cspan>\n          One more dummy text\n        \u003C/span>\n      \u003C/div>\n    \u003C/div>\n  \u003C/body>\n\u003C/html>\n```\n\nБудет ли font-weight на span влиять?\n\n","quizQuestion",{"title":61,"description":62,"ogTitle":7,"ogDescription":62,"ogImageUrl":63,"canonical":19,"ogLocale":64,"ogSiteName":65,"ogImageType":66,"ogImageWidth":67,"ogImageHeight":68,"ogType":69,"ogUrl":19},"Есть HTML код. Будет ли font-weight на span влиять?","Разбор наследования CSS: повлияет ли font-weight на body на вложенный span, с примерами, таблицей и типичными ошибками","/og-image.png","ru_RU","goodwebjob.ru","image_jpeg","1200","630","article",{"siteName":71,"siteUrl":72},"GOOD WEB JOB!","https://goodwebjob.ru",{"slugs":74},[75,78,81,84,87,90,93,96,99,102,105,108,111,114,117,120,123,126,129,132,135,138,141,144,147,150,153,156,159,162,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,252,255,258,261,264,267,270,273,275,278,281,284,287,290,293,296,299,302,305,308,311,314,317,320,323,326,329,332,335,338,341,344,347,350,353,356,359,362,365,368,371,374,377,380,383,386,389,392,395],{"name":76,"value":77},"Теоретические задания","theoretical-tasks",{"name":79,"value":80},"Что вернёт этот код: typeof (function(){})()","what-this-code-will-return-typeof-function",{"name":82,"value":83},"С чего начать?","where-to-begin",{"name":85,"value":86},"Почему опасно писать прямо в прототипы базовых типов?","why-is-it-dangerous-to-write-directly-to-the-prototypes-of-basic-types",{"name":88,"value":89},"Backend","backend",{"name":91,"value":92},"Frontend","frontend",{"name":94,"value":95},"Какие логические значения в console.log будут получены?","prototype-what-logical-values-will-be-received-in-console-log",{"name":97,"value":98},"Нечётные числа должны отсортироваться по возрастанию, а чётные должны остаться на своих местах","odd-numbers-should-be-sorted-in-ascending-order-and-even-numbers-should-remain-in-their-original-positions",{"name":100,"value":101}," Найти в массиве неповторяющиеся числа","find-non-repeating-numbers-in-an-array",{"name":103,"value":104},"arr.push(0) повлияет на массив так же, как если бы мы выполнили...","arr-push-0-will-affect-the-array-in-the-same-way-as-if-we-performed",{"name":106,"value":107},"Дана строка: 'one.two.three.four.five'. Необходимо из строки сделать вложенный объект","the-string-one-two-three-four-five-is-given-it-is-necessary-to-make-a-nested-object-out-of-the-string",{"name":109,"value":110},"Реализовать функцию, похоже как в Jquery","implement-a-function-similar-to-jquery",{"name":112,"value":113},"Для каждого вложенного объекта нужно добавить свойство level, которое равняется числу - номер вложенности","for-each-nested-object-you-need-to-add-the-level-property-which-is-equal-to-a-number-the-nesting-number",{"name":115,"value":116},"Какое значение выведет консоль с object.property?","what-value-will-the-console-output-with-object-property",{"name":118,"value":119},"Что выведется в console.log([arr[0](), arr[0]()])?","what-will-be-displayed-in-console-log-arr-0-arr-0",{"name":121,"value":122},"Вернуть массив от 1 до n, где числа, кратные 3, заменены на 'fizz', кратные 5 - на 'buzz', а кратные и 3, и 5 одновременно - на 'fizzbuzz'","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":124,"value":125},"Необходимо проверить, являются ли две строки анаграммами друг друга","checks-whether-two-strings-are-anagrams-of-each-other",{"name":127,"value":128},"Определить, является ли слово палиндромом","determines-whether-a-word-is-a-palindrome",{"name":130,"value":131},"Есть массив, в котором лежат объекты с датами, необходимо отсортировать даты по возрастанию","there-is-an-array-containing-objects-with-dates-that-need-to-be-sorted-by-date",{"name":133,"value":134},"Реализовать функцию, принимающую аргументы \"*\", \"1\", \"b\", \"1c\" и возвращающую строку \"1*b*1c\"","implement-a-function-that-accepts-arguments-1-b-1c-and-the-return-string-1-b-1c",{"name":136,"value":137},"Дано дерево (вложенный объект), надо найти сумму всех вершин","given-a-tree-nested-object-it-is-necessary-to-find-the-sum-of-all-vertices",{"name":139,"value":140},"Для каждой ветви дерева записать номер вложенности данной ветви","for-each-branch-of-the-tree-write-down-the-nesting-number-of-this-branch",{"name":142,"value":143},"Есть слова в массиве, необходимо определить, состоят ли они из одних и тех же букв","there-are-words-in-the-array-it-is-necessary-to-determine-whether-they-consist-of-the-same-letters",{"name":145,"value":146},"Числа от 1 до 100 находятся в массиве, они хаотично перемешанные, но в нём не хватает одного числа из этой последовательности. Необходимо найти его","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":148,"value":149},"Есть строка, состоящая из разных скобок, необходимо проверить, закрыты ли все","there-is-a-string-consisting-of-different-brackets-it-is-necessary-to-check-whether-all-are-closed",{"name":151,"value":152},"Напишите функцию, который сделает из массива объект","write-a-function-that-will-make-an-object-out-of-an-array",{"name":154,"value":155},"Что выведет console.log в результате выполнения цикла while?","what-will-console-log-output-as-a-result-of-executing-the-while-loop",{"name":157,"value":158},"Есть функция и объект. Напишите все известные вам способы, чтобы вывести в консоли значение x из объекта, используя функцию","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":160,"value":161},"Что выведет консоль в случае присвоения свойства массиву по строковому отрицательному индексу?","what-will-the-console-display-if-a-property-is-assigned-to-an-array-using-a-negative-string-index",{"name":163,"value":164},"Что выведет консоль в случае удаления элемента массива с помощью оператора delete?","what-will-the-console-output-if-an-array-element-is-deleted-using-the-delete-operator",{"name":166,"value":167},"Уникализация значений в массиве","unifying-values-in-an-array",{"name":169,"value":170},"«Расплющивание» массива","flattening-the-array",{"name":172,"value":173},"Что вернёт метод book.getUpperName()?","what-will-the-book-get-upper-name-method-return",{"name":175,"value":176},"Сжатие строк","string-compression",{"name":178,"value":179},"Что выведет консоль в случае присвоения свойства массиву по строковому положительному индексу?","what-will-the-console-display-if-a-property-is-assigned-to-an-array-using-a-positive-string-index",{"name":181,"value":182},"Что получится в результате передачи объекта как аргумента в функцию и выполнения кода?","what-will-happen-when-an-object-is-passed-as-an-argument-to-a-function-and-the-code-is-executed",{"name":184,"value":185},"Как браузер после ввода домена понимает, откуда брать сайт?","how-does-the-browser-know-where-to-get-the-website-after-entering-the-domain",{"name":187,"value":188},"Как домен попадает в DNS в таблицу соответствия: домен – ip","how-does-a-domain-get-into-the-dns-mapping-table-domain-ip",{"name":190,"value":191},"Как браузер решает, какое соединение ему открывать, TCP или UDP?","how-does-a-browser-decide-whether-to-open-a-tcp-or-udp-connection",{"name":193,"value":194},"Ключевые отличия TCP и UDP","key-differences-between-tcp-and-udp",{"name":196,"value":197},"\"TCP/IP\" - кем является TCP, а кем IP в данном случае?","tcp-ip-who-is-tcp-and-who-is-ip-in-this-case",{"name":199,"value":200},"Что такое HTTP и из чего состоит?","what-is-http-and-what-does-it-consist-of",{"name":202,"value":203},"Что такое заголовки в HTTP и зачем они нужны?","what-are-http-headers-and-why-do-we-need-them",{"name":205,"value":206},"Что такое параметры в HTTP?","what-are-http-parameters",{"name":208,"value":209},"Где находится HTML-код в структуре HTTP-ответа?","where-is-the-html-code-located-in-the-http-response-structure",{"name":211,"value":212},"Что такое HTML?","what-is-html",{"name":214,"value":215},"Чем отличаются 1.0, 1.1, 2.0, 3.0 версии HTTP?","what-are-the-differences-between-http-versions-1-0-1-1-2-0-and-3-0",{"name":217,"value":218},"Пользователь авторизован на сайте. Как сервер узнает об этом с последующими другими заходами, что «я – авторизованный пользователь»?","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":220,"value":221},"Что такое cookie?","what-is-a-cookie",{"name":223,"value":224},"Кто является инициатором записи cookie в браузере?","who-initiates-the-cookie-recording-in-the-browser",{"name":226,"value":227},"Есть ли возможность с клиента (с браузера) управлять cookie?","is-it-possible-to-manage-cookies-from-the-client-browser",{"name":229,"value":230},"Лайвкодинг","livecoding",{"name":232,"value":233},"Что вернёт следующий код? Object.create(null).hasOwnProperty('toString')","what-will-the-following-code-return-object-create-null-has-own-property-to-string",{"name":235,"value":236},"Всё, что идет по HTTPS – оно защищено?","is-everything-that-goes-through-https-secure",{"name":238,"value":239},"Все данные зашифрованы, используется https. Хакер взламывает dns и делает подмену одного ip на другой, на фишинговый сайт. В этом случае, злоумышленник может получить данные (логин \\ пароль)?","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":241,"value":242},"Есть веб-приложение. Помимо HTTP, какие протоколы того же уровня (Application Layer) можно дополнительно использовать в веб-приложении в браузере?","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":244,"value":245},"Как браузер парсит JavaScript и изображения при рендеринге?","how-the-browser-parses-javascript-and-images-when-rendering",{"name":247,"value":248},"Что происходит, когда HTTP прислал HTML? Что браузер дальше делает c HTML с учетом того, что она валидная?","what-happens-when-http-sends-html-what-does-the-browser-do-with-this-html-given-that-it-is-valid",{"name":250,"value":251},"Что в браузере блокирует рендеринг страницы?","what-is-blocking-the-page-rendering-in-the-browser",{"name":253,"value":254},"Что такое DOM в браузере? Что такое CSSOM?","what-is-dom-in-a-browser-what-is-cssom",{"name":256,"value":257},"Что является узлами в DOM?","what-are-nodes-in-the-dom",{"name":259,"value":260},"Из чего состоит CSSOM?","what-does-cssom-consist-of",{"name":262,"value":263},"Дан HTML-код. Какой будет цвет у текста «Some dummy text»?","the-html-code-is-given-what-will-be-the-color-of-the-some-dummy-text",{"name":265,"value":266},"Есть шаблон HTML и CSS кода. Какой будет цвет у текста «Таким образом, постоянное»?","there-is-a-template-for-html-and-css-code-what-color-will-the-text-thus-constant-have",{"name":268,"value":269},"Есть шаблон вложенного HTML кода. Какой будет цвет у текста «One more dummy text»?","there-is-a-template-for-embedded-html-code-what-will-be-the-color-of-the-one-more-dummy-text",{"name":271,"value":272},"Есть шаблон вложенного HTML кода. Будет ли display:block у body влиять на span?","there-is-a-template-for-embedded-html-code-will-there-be-a-display-does-bodys-block-affect-span",{"name":61,"value":274},"there-is-an-html-code-will-font-weight-affect-span",{"name":276,"value":277},"Flexbox и Grid, чем отличаются друг от друга?","what-are-the-differences-between-flexbox-and-grid",{"name":279,"value":280},"Заменяют ли Flexbox и Grid друг друга?","do-flexbox-and-grid-replace-each-other",{"name":282,"value":283},"Есть CSS и JS анимация. Какая между ними разница, что быстрее, что более удобно?","there-are-css-and-js-animations-what-is-the-difference-between-them-and-which-is-faster-and-more-convenient",{"name":285,"value":286},"Сборник задач","tasks",{"name":288,"value":289},"Какие способы объявления функции есть в JavaScript?","what-are-the-ways-to-declare-a-function-in-javascript",{"name":291,"value":292},"Что такое this в JavaScript?","what-is-this-in-javascript",{"name":294,"value":295},"Что такое Event Loop, как работает?","what-is-an-event-loop-and-how-does-it-work",{"name":297,"value":298},"Что будет, если вызвать typeof на необъявленной переменной?","what-happens-if-you-call-typeof-on-an-undeclared-variable",{"name":300,"value":301},"Что показывает оператор typeof в JavaScript?","what-does-the-typeof-operator-show-in-javascript",{"name":303,"value":304},"Какие типы данных существует в JavaScript?","what-types-of-data-exist-in-javascript",{"name":306,"value":307},"Какую структуру использовать для хранения упорядоченного списка строк в JavaScript?","what-is-the-best-structure-to-use-for-storing-an-ordered-list-of-strings-in-javascript",{"name":309,"value":310},"Что вернет typeof для массива?","what-will-typeof-return-for-an-array",{"name":312,"value":313},"Почему оператор typeof, применённый к массиву, возвращает объект?","why-does-the-typeof-operator-applied-to-an-array-return-an-object",{"name":315,"value":316},"Если нужно хранить список уникальных строк, какую структуру данных выбрать?","if-you-need-to-store-a-list-of-unique-strings-which-data-structure-should-i-choose",{"name":318,"value":319},"Что возвращает typeof для new Set в JavaScript?","what-does-typeof-return-for-new-set-in-javascript",{"name":321,"value":322},"Для чего нужен React, какие он решает проблемы?","what-is-react-used-for-and-what-problems-does-it-solve",{"name":324,"value":325},"Если убрать в React VDOM/Fiber, и вручную изменять DOM, разве это не оптимально?","if-you-remove-the-vdom-fiber-in-react-and-manually-change-the-dom-isn-t-that-optimal",{"name":327,"value":328},"Есть блок кода. Что в реальном DOM изменится после нажатия на кнопку?","there-is-a-block-of-code-what-changes-in-the-real-dom-after-clicking-the-button",{"name":330,"value":331},"Есть код, в котором список и кнопка. Что в реальном DOM изменится после нажатия на кнопку?","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":333,"value":334},"Зачем нужен Redux (Mobx/Effector)? Зачем нужен менеджер состояния? Какие проблемы решает?","why-do-we-need-redux-mobx-effector-why-do-we-need-a-state-manager-what-problems-does-it-solve",{"name":336,"value":337},"Как диагностировать и исправить нежелательное изменение цвета фона по клику на кнопку, если исходный код сайта запутан и недоступен для прямого чтения?","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":339,"value":340},"Разрабатывал, взял закоммитил, запушил. Оказалось, что запушил не в ту ветку, точнее, коммит не в ту ветку. Какие действия?","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":342,"value":343},"В git есть несколько вариантов слияния веток, какие? Чем отличаются?","git-has-several-options-for-merging-branches-which-ones-how-are-they-different",{"name":345,"value":346},"Какие существуют стратегии ветвления для работы команды? Что это такое?","what-are-the-branching-strategies-for-the-team-what-is-it",{"name":348,"value":349},"По каким характеристикам, ревьюер понимает, что данный код - хороший, а этот код - плохой?","how-does-a-reviewer-know-which-code-is-good-and-which-code-is-bad",{"name":351,"value":352},"Дан фрагмент bash-скрипта: cd ~; mkdir foo... Что в нем происходит?","here-is-a-fragment-of-a-bash-script-cd-mkdir-foo-what-is-happening-in-this-script",{"name":354,"value":355},"Дан фрагмент bash-скрипта: target=$(ps -Af | grep $1 | head -n 1)...","here-is-a-fragment-of-a-bash-script-target-ps-af-grep-1-head-n-1",{"name":357,"value":358},"Что такое алгоритмическая сложность?","what-is-algorithmic-complexity",{"name":360,"value":361},"Какая алгоритмическая сложность у \"быстрой сортировки\"?","what-is-the-algorithmic-complexity-of-quick-sort",{"name":363,"value":364},"Почему в JavaScript два объекта с одинаковым содержимым при сравнении возвращают false?","why-do-two-objects-with-the-same-content-return-false-when-compared-in-javascript",{"name":366,"value":367},"Каким способом может выполняться авторизация пользователя на сайте?","how-can-a-user-be-authorized-on-a-website",{"name":369,"value":370},"В чем разница между микро- и макро-тасками в JavaScript?","what-is-the-difference-between-micro-and-macro-tasks-in-javascript",{"name":372,"value":373},"В комнате три человека. Какова вероятность того, что хотя бы двое из них одного пола? То есть два и более.","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":375,"value":376},"Есть монета. Ее подбрасывают пять раз подряд. Каждый раз записывается, что выпало - орел или решка. Сколько разных последовательностей орлов и решек может при этом получиться?","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":378,"value":379},"Как гарантированно найти лёгкую фальшивую монету среди 8 за минимальное число взвешиваний на чашечных весах?","how-can-you-guarantee-to-find-an-easy-fake-coin-among-8-in-the-minimum-number-of-weighings-on-a-balance-scale",{"name":381,"value":382},"Подготовка к тех.интервью","technical-interview",{"name":384,"value":385},"Верно ли утверждение, что злоумышленник, контролирующий роутер и прослушивающий трафик, может получить логины и пароли от сайтов, на которые заходит клиент?","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":387,"value":388},"Что такое DNS, как DNS находит нужный IP-адрес?","what-is-dns-and-how-does-dns-find-the-correct-ip-address",{"name":390,"value":391},"Переменные объявлены следующим образом: a=3; b=«hello»;. Укажите правильное утверждение","variables-are-declared-as-follows-specify-the-correct-statement",{"name":393,"value":394},"Какой механизм лежит в основе оптимизации обновлений DOM в React?","what-is-the-underlying-mechanism-for-optimizing-dom-updates-in-react",{"name":396,"value":397},"Что мешает организовать централизованное состояние без менеджера состояния? Если организовать состояние механизмами реакта: контекстом, стейтом, в чем проблема? Что менеджеры состояния привносят?","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",[399],{"label":381,"slug":382,"to":400},"/technical-interview/where-to-begin",{"navigationList":402,"navigationSublist":408},[403,405],{"path":400,"isActive":52,"name":82,"icon":404,"isNavbarMobileDisabled":8},"material-symbols:visibility-outline-rounded",{"path":406,"isActive":8,"name":285,"icon":407,"isNavbarMobileDisabled":52},"/technical-interview/tasks","material-symbols:task-outline",[409,416,435,444,449,544,561,568,573,616,631,636],{"title":410,"list":411,"isOpened":52},"Bash",[412,414],{"name":351,"path":413,"isActive":52},"/technical-interview/tasks/here-is-a-fragment-of-a-bash-script-cd-mkdir-foo-what-is-happening-in-this-script",{"name":354,"path":415,"isActive":52},"/technical-interview/tasks/here-is-a-fragment-of-a-bash-script-target-ps-af-grep-1-head-n-1",{"title":417,"list":418,"isOpened":52},"CSS",[419,421,423,425,427,429,431,433],{"name":262,"path":420,"isActive":52},"/technical-interview/tasks/the-html-code-is-given-what-will-be-the-color-of-the-some-dummy-text",{"name":265,"path":422,"isActive":52},"/technical-interview/tasks/there-is-a-template-for-html-and-css-code-what-color-will-the-text-thus-constant-have",{"name":268,"path":424,"isActive":52},"/technical-interview/tasks/there-is-a-template-for-embedded-html-code-what-will-be-the-color-of-the-one-more-dummy-text",{"name":271,"path":426,"isActive":52},"/technical-interview/tasks/there-is-a-template-for-embedded-html-code-will-there-be-a-display-does-bodys-block-affect-span",{"name":61,"path":428,"isActive":52},"/technical-interview/tasks/there-is-an-html-code-will-font-weight-affect-span",{"name":276,"path":430,"isActive":52},"/technical-interview/tasks/what-are-the-differences-between-flexbox-and-grid",{"name":279,"path":432,"isActive":52},"/technical-interview/tasks/do-flexbox-and-grid-replace-each-other",{"name":282,"path":434,"isActive":52},"/technical-interview/tasks/there-are-css-and-js-animations-what-is-the-difference-between-them-and-which-is-faster-and-more-convenient",{"title":436,"list":437,"isOpened":52},"Git",[438,440,442],{"name":339,"path":439,"isActive":52},"/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":342,"path":441,"isActive":52},"/technical-interview/tasks/git-has-several-options-for-merging-branches-which-ones-how-are-they-different",{"name":345,"path":443,"isActive":52},"/technical-interview/tasks/what-are-the-branching-strategies-for-the-team-what-is-it",{"title":445,"list":446,"isOpened":52},"HTML",[447],{"name":211,"path":448,"isActive":52},"/technical-interview/tasks/what-is-html",{"title":450,"list":451,"isOpened":52},"JavaScript",[452,454,456,458,460,462,464,466,468,470,472,474,476,478,480,482,484,486,488,490,492,494,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542],{"name":94,"path":453,"isActive":52},"/technical-interview/tasks/prototype-what-logical-values-will-be-received-in-console-log",{"name":85,"path":455,"isActive":52},"/technical-interview/tasks/why-is-it-dangerous-to-write-directly-to-the-prototypes-of-basic-types",{"name":232,"path":457,"isActive":52},"/technical-interview/tasks/what-will-the-following-code-return-object-create-null-has-own-property-to-string",{"name":115,"path":459,"isActive":52},"/technical-interview/tasks/what-value-will-the-console-output-with-object-property",{"name":118,"path":461,"isActive":52},"/technical-interview/tasks/what-will-be-displayed-in-console-log-arr-0-arr-0",{"name":154,"path":463,"isActive":52},"/technical-interview/tasks/what-will-console-log-output-as-a-result-of-executing-the-while-loop",{"name":157,"path":465,"isActive":52},"/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":172,"path":467,"isActive":52},"/technical-interview/tasks/what-will-the-book-get-upper-name-method-return",{"name":390,"path":469,"isActive":52},"/technical-interview/tasks/variables-are-declared-as-follows-specify-the-correct-statement",{"name":178,"path":471,"isActive":52},"/technical-interview/tasks/what-will-the-console-display-if-a-property-is-assigned-to-an-array-using-a-positive-string-index",{"name":160,"path":473,"isActive":52},"/technical-interview/tasks/what-will-the-console-display-if-a-property-is-assigned-to-an-array-using-a-negative-string-index",{"name":163,"path":475,"isActive":52},"/technical-interview/tasks/what-will-the-console-output-if-an-array-element-is-deleted-using-the-delete-operator",{"name":79,"path":477,"isActive":52},"/technical-interview/tasks/what-this-code-will-return-typeof-function",{"name":181,"path":479,"isActive":52},"/technical-interview/tasks/what-will-happen-when-an-object-is-passed-as-an-argument-to-a-function-and-the-code-is-executed",{"name":288,"path":481,"isActive":52},"/technical-interview/tasks/what-are-the-ways-to-declare-a-function-in-javascript",{"name":291,"path":483,"isActive":52},"/technical-interview/tasks/what-is-this-in-javascript",{"name":294,"path":485,"isActive":52},"/technical-interview/tasks/what-is-an-event-loop-and-how-does-it-work",{"name":297,"path":487,"isActive":52},"/technical-interview/tasks/what-happens-if-you-call-typeof-on-an-undeclared-variable",{"name":300,"path":489,"isActive":52},"/technical-interview/tasks/what-does-the-typeof-operator-show-in-javascript",{"name":303,"path":491,"isActive":52},"/technical-interview/tasks/what-types-of-data-exist-in-javascript",{"name":306,"path":493,"isActive":52},"/technical-interview/tasks/what-is-the-best-structure-to-use-for-storing-an-ordered-list-of-strings-in-javascript",{"name":309,"path":495,"isActive":52},"/technical-interview/tasks/what-will-typeof-return-for-an-array",{"name":312,"path":497,"isActive":52},"/technical-interview/tasks/why-does-the-typeof-operator-applied-to-an-array-return-an-object",{"name":315,"path":499,"isActive":52},"/technical-interview/tasks/if-you-need-to-store-a-list-of-unique-strings-which-data-structure-should-i-choose",{"name":318,"path":501,"isActive":52},"/technical-interview/tasks/what-does-typeof-return-for-new-set-in-javascript",{"name":363,"path":503,"isActive":52},"/technical-interview/tasks/why-do-two-objects-with-the-same-content-return-false-when-compared-in-javascript",{"name":369,"path":505,"isActive":52},"/technical-interview/tasks/what-is-the-difference-between-micro-and-macro-tasks-in-javascript",{"name":103,"path":507,"isActive":52},"/technical-interview/tasks/arr-push-0-will-affect-the-array-in-the-same-way-as-if-we-performed",{"name":121,"path":509,"isActive":52},"/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":106,"path":511,"isActive":52},"/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":136,"path":513,"isActive":52},"/technical-interview/tasks/given-a-tree-nested-object-it-is-necessary-to-find-the-sum-of-all-vertices",{"name":112,"path":515,"isActive":52},"/technical-interview/tasks/for-each-nested-object-you-need-to-add-the-level-property-which-is-equal-to-a-number-the-nesting-number",{"name":139,"path":517,"isActive":52},"/technical-interview/tasks/for-each-branch-of-the-tree-write-down-the-nesting-number-of-this-branch",{"name":130,"path":519,"isActive":52},"/technical-interview/tasks/there-is-an-array-containing-objects-with-dates-that-need-to-be-sorted-by-date",{"name":142,"path":521,"isActive":52},"/technical-interview/tasks/there-are-words-in-the-array-it-is-necessary-to-determine-whether-they-consist-of-the-same-letters",{"name":148,"path":523,"isActive":52},"/technical-interview/tasks/there-is-a-string-consisting-of-different-brackets-it-is-necessary-to-check-whether-all-are-closed",{"name":100,"path":525,"isActive":52},"/technical-interview/tasks/find-non-repeating-numbers-in-an-array",{"name":151,"path":527,"isActive":52},"/technical-interview/tasks/write-a-function-that-will-make-an-object-out-of-an-array",{"name":124,"path":529,"isActive":52},"/technical-interview/tasks/checks-whether-two-strings-are-anagrams-of-each-other",{"name":97,"path":531,"isActive":52},"/technical-interview/tasks/odd-numbers-should-be-sorted-in-ascending-order-and-even-numbers-should-remain-in-their-original-positions",{"name":127,"path":533,"isActive":52},"/technical-interview/tasks/determines-whether-a-word-is-a-palindrome",{"name":169,"path":535,"isActive":52},"/technical-interview/tasks/flattening-the-array",{"name":133,"path":537,"isActive":52},"/technical-interview/tasks/implement-a-function-that-accepts-arguments-1-b-1c-and-the-return-string-1-b-1c",{"name":175,"path":539,"isActive":52},"/technical-interview/tasks/string-compression",{"name":166,"path":541,"isActive":52},"/technical-interview/tasks/unifying-values-in-an-array",{"name":145,"path":543,"isActive":52},"/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":545,"list":546,"isOpened":52},"React",[547,549,551,553,555,557,559],{"name":321,"path":548,"isActive":52},"/technical-interview/tasks/what-is-react-used-for-and-what-problems-does-it-solve",{"name":393,"path":550,"isActive":52},"/technical-interview/tasks/what-is-the-underlying-mechanism-for-optimizing-dom-updates-in-react",{"name":324,"path":552,"isActive":52},"/technical-interview/tasks/if-you-remove-the-vdom-fiber-in-react-and-manually-change-the-dom-isn-t-that-optimal",{"name":327,"path":554,"isActive":52},"/technical-interview/tasks/there-is-a-block-of-code-what-changes-in-the-real-dom-after-clicking-the-button",{"name":330,"path":556,"isActive":52},"/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":333,"path":558,"isActive":52},"/technical-interview/tasks/why-do-we-need-redux-mobx-effector-why-do-we-need-a-state-manager-what-problems-does-it-solve",{"name":396,"path":560,"isActive":52},"/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":562,"list":563,"isOpened":52},"Алгоритмы",[564,566],{"name":357,"path":565,"isActive":52},"/technical-interview/tasks/what-is-algorithmic-complexity",{"name":360,"path":567,"isActive":52},"/technical-interview/tasks/what-is-the-algorithmic-complexity-of-quick-sort",{"title":569,"list":570,"isOpened":52},"Дебаггинг",[571],{"name":336,"path":572,"isActive":52},"/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":574,"list":575,"isOpened":52},"Компьютерные сети",[576,578,580,582,584,586,588,590,592,594,596,598,600,602,604,606,608,610,612,614],{"name":184,"path":577,"isActive":52},"/technical-interview/tasks/how-does-the-browser-know-where-to-get-the-website-after-entering-the-domain",{"name":387,"path":579,"isActive":52},"/technical-interview/tasks/what-is-dns-and-how-does-dns-find-the-correct-ip-address",{"name":187,"path":581,"isActive":52},"/technical-interview/tasks/how-does-a-domain-get-into-the-dns-mapping-table-domain-ip",{"name":190,"path":583,"isActive":52},"/technical-interview/tasks/how-does-a-browser-decide-whether-to-open-a-tcp-or-udp-connection",{"name":193,"path":585,"isActive":52},"/technical-interview/tasks/key-differences-between-tcp-and-udp",{"name":196,"path":587,"isActive":52},"/technical-interview/tasks/tcp-ip-who-is-tcp-and-who-is-ip-in-this-case",{"name":199,"path":589,"isActive":52},"/technical-interview/tasks/what-is-http-and-what-does-it-consist-of",{"name":202,"path":591,"isActive":52},"/technical-interview/tasks/what-are-http-headers-and-why-do-we-need-them",{"name":205,"path":593,"isActive":52},"/technical-interview/tasks/what-are-http-parameters",{"name":208,"path":595,"isActive":52},"/technical-interview/tasks/where-is-the-html-code-located-in-the-http-response-structure",{"name":214,"path":597,"isActive":52},"/technical-interview/tasks/what-are-the-differences-between-http-versions-1-0-1-1-2-0-and-3-0",{"name":217,"path":599,"isActive":52},"/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":220,"path":601,"isActive":52},"/technical-interview/tasks/what-is-a-cookie",{"name":223,"path":603,"isActive":52},"/technical-interview/tasks/who-initiates-the-cookie-recording-in-the-browser",{"name":226,"path":605,"isActive":52},"/technical-interview/tasks/is-it-possible-to-manage-cookies-from-the-client-browser",{"name":384,"path":607,"isActive":52},"/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":235,"path":609,"isActive":52},"/technical-interview/tasks/is-everything-that-goes-through-https-secure",{"name":238,"path":611,"isActive":52},"/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":241,"path":613,"isActive":52},"/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":366,"path":615,"isActive":52},"/technical-interview/tasks/how-can-a-user-be-authorized-on-a-website",{"title":617,"list":618,"isOpened":52},"Отрисовка в браузере",[619,621,623,625,627,629],{"name":247,"path":620,"isActive":52},"/technical-interview/tasks/what-happens-when-http-sends-html-what-does-the-browser-do-with-this-html-given-that-it-is-valid",{"name":244,"path":622,"isActive":52},"/technical-interview/tasks/how-the-browser-parses-javascript-and-images-when-rendering",{"name":250,"path":624,"isActive":52},"/technical-interview/tasks/what-is-blocking-the-page-rendering-in-the-browser",{"name":253,"path":626,"isActive":52},"/technical-interview/tasks/what-is-dom-in-a-browser-what-is-cssom",{"name":256,"path":628,"isActive":52},"/technical-interview/tasks/what-are-nodes-in-the-dom",{"name":259,"path":630,"isActive":52},"/technical-interview/tasks/what-does-cssom-consist-of",{"title":632,"list":633,"isOpened":52},"Ревью кода",[634],{"name":348,"path":635,"isActive":52},"/technical-interview/tasks/how-does-a-reviewer-know-which-code-is-good-and-which-code-is-bad",{"title":637,"list":638,"isOpened":52},"Теория вероятности",[639,641,643],{"name":372,"path":640,"isActive":52},"/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":375,"path":642,"isActive":52},"/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":378,"path":644,"isActive":52},"/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",{"cooperation":646,"copyright":649,"reportError":650,"socialNetwork":652},{"link":647,"title":648},"https://t.me/baurinanton","Сотрудничество","© “GOOD WEB JOB!”",{"label":651,"link":647},"Сообщить об ошибке",{"label":653,"socialNetworkList":654},"Мы в соцсетях:",[655,658,661],{"icon":19,"link":656,"title":657},"https://max.ru/u/f9LHodD0cOKMaukdnnahTeL5pwvjrPfUaZ4S8_1rsNy9I9qsmc9Ar3kP_y8","Max",{"icon":659,"link":647,"title":660},"ic:baseline-telegram","Telegram",{"icon":662,"link":663,"title":664},"ri:vk-fill","https://vk.com/baurinanton","VK",{"data":666,"body":667},{},{"type":668,"children":669},"root",[670,678,691],{"type":671,"tag":672,"props":673,"children":674},"element","p",{},[675],{"type":676,"value":677},"text","Есть HTML код:",{"type":671,"tag":679,"props":680,"children":684},"pre",{"className":681,"code":683,"language":676},[682],"language-text","\u003Chtml>\n  \u003Chead>\n    \u003Ctitle>CSS test 2\u003C/title>\n  \u003C/head>\n  \u003Cbody style=\"color: red; font-weight: bold; display: block; background: url('bg.jpg');\">\n    \u003Cdiv>\n      Some test text\n      \u003Cdiv>\n        Lorem ipsum etc..\n        \u003Cspan>\n          One more dummy text\n        \u003C/span>\n      \u003C/div>\n    \u003C/div>\n  \u003C/body>\n\u003C/html>\n",[685],{"type":671,"tag":686,"props":687,"children":689},"code",{"__ignoreMap":688},"",[690],{"type":676,"value":683},{"type":671,"tag":672,"props":692,"children":693},{},[694],{"type":676,"value":695},"Будет ли font-weight на span влиять?",{"data":697,"body":698},{},{"type":668,"children":699},[700],{"type":671,"tag":672,"props":701,"children":702},{},[703],{"type":676,"value":48},{"data":705,"body":706},{},{"type":668,"children":707},[708],{"type":671,"tag":672,"props":709,"children":710},{},[711],{"type":676,"value":51},{"data":713,"body":714},{},{"type":668,"children":715},[716],{"type":671,"tag":672,"props":717,"children":718},{},[719,725,727,732],{"type":671,"tag":686,"props":720,"children":722},{"className":721},[],[723],{"type":676,"value":724},"font-weight",{"type":676,"value":726}," относится к оформлению текста, поэтому при отсутствии переопределений ожидается одинаковая жирность у текста всех потомков внутри элемента, где ",{"type":671,"tag":686,"props":728,"children":730},{"className":729},[],[731],{"type":676,"value":724},{"type":676,"value":733}," задан явно.",{"data":735,"body":736},{},{"type":668,"children":737},[738],{"type":671,"tag":672,"props":739,"children":740},{},[741],{"type":676,"value":55},{"data":743,"body":744},{},{"type":668,"children":745},[746],{"type":671,"tag":672,"props":747,"children":748},{},[749,751,757,759,765,767,773],{"type":676,"value":750},"Если свойство относится к шрифтам или тексту (например, ",{"type":671,"tag":686,"props":752,"children":754},{"className":753},[],[755],{"type":676,"value":756},"color",{"type":676,"value":758},", ",{"type":671,"tag":686,"props":760,"children":762},{"className":761},[],[763],{"type":676,"value":764},"font-*",{"type":676,"value":766},"), часто оно наследуется; проверка делается по описанию свойства, где явно указано ",{"type":671,"tag":686,"props":768,"children":770},{"className":769},[],[771],{"type":676,"value":772},"Inherited: yes/no",{"type":676,"value":774},".",{"data":776,"body":777},{},{"type":668,"children":778},[779],{"type":671,"tag":672,"props":780,"children":781},{},[782,788],{"type":671,"tag":783,"props":784,"children":785},"strong",{},[786],{"type":676,"value":787},"Правильный ответ: 1",{"type":676,"value":789}," - Будет",{"data":791,"body":792},{},{"type":668,"children":793},[794],{"type":671,"tag":672,"props":795,"children":796},{},[797,799,804,806,810,812,818,820,826,828,833,835,841,843,848,850,855],{"type":676,"value":798},"Свойство ",{"type":671,"tag":686,"props":800,"children":802},{"className":801},[],[803],{"type":676,"value":724},{"type":676,"value":805}," является наследуемым: если для элемента не задано значение, оно берётся (наследуется) из вычисленного значения родителя.",{"type":671,"tag":807,"props":808,"children":809},"br",{},[],{"type":676,"value":811},"\nСледовательно, ",{"type":671,"tag":686,"props":813,"children":815},{"className":814},[],[816],{"type":676,"value":817},"span",{"type":676,"value":819},", находящийся внутри ",{"type":671,"tag":686,"props":821,"children":823},{"className":822},[],[824],{"type":676,"value":825},"body",{"type":676,"value":827},", получит полужирное начертание, так как у ",{"type":671,"tag":686,"props":829,"children":831},{"className":830},[],[832],{"type":676,"value":825},{"type":676,"value":834}," задано ",{"type":671,"tag":686,"props":836,"children":838},{"className":837},[],[839],{"type":676,"value":840},"font-weight: bold",{"type":676,"value":842},", а у ",{"type":671,"tag":686,"props":844,"children":846},{"className":845},[],[847],{"type":676,"value":817},{"type":676,"value":849}," в данном HTML не задано альтернативное значение ",{"type":671,"tag":686,"props":851,"children":853},{"className":852},[],[854],{"type":676,"value":724},{"type":676,"value":774},{"data":857,"body":858},{},{"type":668,"children":859},[860],{"type":671,"tag":672,"props":861,"children":862},{},[863,865,868,870,875,877,882,884,890,892,897],{"type":676,"value":864},"Механика применения в CSS выглядит так: сначала для элемента ищется «заданное значение» свойства по каскаду (правила автора, пользователя, браузера), и только если значения нет — применяется наследование.",{"type":671,"tag":807,"props":866,"children":867},{},[],{"type":676,"value":869},"\nПоэтому наследование — это резервный механизм: если бы у ",{"type":671,"tag":686,"props":871,"children":873},{"className":872},[],[874],{"type":676,"value":817},{"type":676,"value":876}," было собственное значение ",{"type":671,"tag":686,"props":878,"children":880},{"className":879},[],[881],{"type":676,"value":724},{"type":676,"value":883}," (например, ",{"type":671,"tag":686,"props":885,"children":887},{"className":886},[],[888],{"type":676,"value":889},"normal",{"type":676,"value":891},"), оно бы перекрыло унаследованное значение от ",{"type":671,"tag":686,"props":893,"children":895},{"className":894},[],[896],{"type":676,"value":825},{"type":676,"value":774},{"data":899,"body":900},{},{"type":668,"children":901},[902],{"type":671,"tag":672,"props":903,"children":904},{},[905],{"type":676,"value":25},{"data":907,"body":908},{},{"type":668,"children":909},[910,963,1037,1042],{"type":671,"tag":672,"props":911,"children":912},{},[913,915,920,922,928,929,932,934,939,941,946,948,954,955,961],{"type":676,"value":914},"Имеется стиль на ",{"type":671,"tag":686,"props":916,"children":918},{"className":917},[],[919],{"type":676,"value":825},{"type":676,"value":921},": ",{"type":671,"tag":686,"props":923,"children":925},{"className":924},[],[926],{"type":676,"value":927},"color: red; font-weight: bold; display: block; background: url('bg.jpg');",{"type":676,"value":774},{"type":671,"tag":807,"props":930,"children":931},{},[],{"type":676,"value":933},"\nИз этих свойств ",{"type":671,"tag":686,"props":935,"children":937},{"className":936},[],[938],{"type":676,"value":756},{"type":676,"value":940}," и ",{"type":671,"tag":686,"props":942,"children":944},{"className":943},[],[945],{"type":676,"value":724},{"type":676,"value":947}," по умолчанию наследуются, а, например, ",{"type":671,"tag":686,"props":949,"children":951},{"className":950},[],[952],{"type":676,"value":953},"background",{"type":676,"value":940},{"type":671,"tag":686,"props":956,"children":958},{"className":957},[],[959],{"type":676,"value":960},"display",{"type":676,"value":962}," — обычно нет, поэтому они не «переезжают» на дочерние элементы через наследование.",{"type":671,"tag":672,"props":964,"children":965},{},[966,968,973,975,980,982,988,990,995,996,999,1001,1006,1008,1013,1015,1020,1022,1028,1030,1036],{"type":676,"value":967},"Внутри ",{"type":671,"tag":686,"props":969,"children":971},{"className":970},[],[972],{"type":676,"value":825},{"type":676,"value":974}," находится ",{"type":671,"tag":686,"props":976,"children":978},{"className":977},[],[979],{"type":676,"value":817},{"type":676,"value":981},", и у него в разметке нет атрибута ",{"type":671,"tag":686,"props":983,"children":985},{"className":984},[],[986],{"type":676,"value":987},"style",{"type":676,"value":989}," и нет CSS-правил, задающих ",{"type":671,"tag":686,"props":991,"children":993},{"className":992},[],[994],{"type":676,"value":724},{"type":676,"value":774},{"type":671,"tag":807,"props":997,"children":998},{},[],{"type":676,"value":1000},"\nЗначит, для ",{"type":671,"tag":686,"props":1002,"children":1004},{"className":1003},[],[1005],{"type":676,"value":817},{"type":676,"value":1007}," будет использовано унаследованное значение ",{"type":671,"tag":686,"props":1009,"children":1011},{"className":1010},[],[1012],{"type":676,"value":724},{"type":676,"value":1014}," от ближайшего предка (в итоге от ",{"type":671,"tag":686,"props":1016,"children":1018},{"className":1017},[],[1019],{"type":676,"value":825},{"type":676,"value":1021}," через цепочку ",{"type":671,"tag":686,"props":1023,"children":1025},{"className":1024},[],[1026],{"type":676,"value":1027},"div",{"type":676,"value":1029},"), то есть ",{"type":671,"tag":686,"props":1031,"children":1033},{"className":1032},[],[1034],{"type":676,"value":1035},"bold",{"type":676,"value":774},{"type":671,"tag":672,"props":1038,"children":1039},{},[1040],{"type":676,"value":1041},"Схема наследования в данном фрагменте (упрощённо):",{"type":671,"tag":679,"props":1043,"children":1046},{"className":1044,"code":1045,"language":676},[682],"html\n└─ body (font-weight: bold)\n   └─ div\n      └─ div\n         └─ span (font-weight: наследуется → bold)\n",[1047],{"type":671,"tag":686,"props":1048,"children":1049},{"__ignoreMap":688},[1050],{"type":676,"value":1045},{"data":1052,"body":1053},{},{"type":668,"children":1054},[1055,1067,1075,1087,1096,1101,1110,1138,1147],{"type":671,"tag":672,"props":1056,"children":1057},{},[1058,1060,1065],{"type":676,"value":1059},"Пример 1. Исходный фрагмент (ключевой эффект — ",{"type":671,"tag":686,"props":1061,"children":1063},{"className":1062},[],[1064],{"type":676,"value":817},{"type":676,"value":1066}," станет полужирным):",{"type":671,"tag":679,"props":1068,"children":1070},{"className":1069,"code":683,"language":676},[682],[1071],{"type":671,"tag":686,"props":1072,"children":1073},{"__ignoreMap":688},[1074],{"type":676,"value":683},{"type":671,"tag":672,"props":1076,"children":1077},{},[1078,1080,1085],{"type":676,"value":1079},"Пример 2. Явное переопределение на ",{"type":671,"tag":686,"props":1081,"children":1083},{"className":1082},[],[1084],{"type":676,"value":817},{"type":676,"value":1086}," (полужирность пропадёт, так как наследование не будет применяться):",{"type":671,"tag":679,"props":1088,"children":1091},{"className":1089,"code":1090,"language":676},[682],"\u003Chtml>\n  \u003Cbody style=\"font-weight: bold;\">\n    \u003Cspan style=\"font-weight: normal;\">\n      Этот текст станет обычным\n    \u003C/span>\n  \u003C/body>\n\u003C/html>\n",[1092],{"type":671,"tag":686,"props":1093,"children":1094},{"__ignoreMap":688},[1095],{"type":676,"value":1090},{"type":671,"tag":672,"props":1097,"children":1098},{},[1099],{"type":676,"value":1100},"Пример 3. Явное указание наследования (эффект совпадёт с исходным, но становится «самодокументируемым»):",{"type":671,"tag":679,"props":1102,"children":1105},{"className":1103,"code":1104,"language":676},[682],"\u003Chtml>\n  \u003Cbody style=\"font-weight: bold;\">\n    \u003Cspan style=\"font-weight: inherit;\">\n      Этот текст будет полужирным\n    \u003C/span>\n  \u003C/body>\n\u003C/html>\n",[1106],{"type":671,"tag":686,"props":1107,"children":1108},{"__ignoreMap":688},[1109],{"type":676,"value":1104},{"type":671,"tag":672,"props":1111,"children":1112},{},[1113,1115,1121,1123,1129,1131,1136],{"type":676,"value":1114},"Пример 4. Относительные значения ",{"type":671,"tag":686,"props":1116,"children":1118},{"className":1117},[],[1119],{"type":676,"value":1120},"bolder",{"type":676,"value":1122},"/",{"type":671,"tag":686,"props":1124,"children":1126},{"className":1125},[],[1127],{"type":676,"value":1128},"lighter",{"type":676,"value":1130}," зависят от веса шрифта родителя, то есть тоже привязаны к родительскому значению ",{"type":671,"tag":686,"props":1132,"children":1134},{"className":1133},[],[1135],{"type":676,"value":724},{"type":676,"value":1137},":",{"type":671,"tag":679,"props":1139,"children":1142},{"className":1140,"code":1141,"language":676},[682],"\u003Chtml>\n  \u003Cbody style=\"font-weight: 700;\">\n    \u003Cspan style=\"font-weight: lighter;\">\n      Этот текст станет легче, чем родитель\n    \u003C/span>\n  \u003C/body>\n\u003C/html>\n",[1143],{"type":671,"tag":686,"props":1144,"children":1145},{"__ignoreMap":688},[1146],{"type":676,"value":1141},{"type":671,"tag":1148,"props":1149,"children":1150},"table",{},[1151,1187],{"type":671,"tag":1152,"props":1153,"children":1154},"thead",{},[1155],{"type":671,"tag":1156,"props":1157,"children":1158},"tr",{},[1159,1165,1170,1175],{"type":671,"tag":1160,"props":1161,"children":1162},"th",{},[1163],{"type":676,"value":1164},"Свойство",{"type":671,"tag":1160,"props":1166,"children":1167},{},[1168],{"type":676,"value":1169},"Что делает",{"type":671,"tag":1160,"props":1171,"children":1172},{},[1173],{"type":676,"value":1174},"Наследуется по умолчанию",{"type":671,"tag":1160,"props":1176,"children":1177},{},[1178,1180,1185],{"type":676,"value":1179},"Что будет со ",{"type":671,"tag":686,"props":1181,"children":1183},{"className":1182},[],[1184],{"type":676,"value":817},{"type":676,"value":1186}," в задаче",{"type":671,"tag":1188,"props":1189,"children":1190},"tbody",{},[1191,1232,1263],{"type":671,"tag":1156,"props":1192,"children":1193},{},[1194,1203,1208,1213],{"type":671,"tag":1195,"props":1196,"children":1197},"td",{},[1198],{"type":671,"tag":686,"props":1199,"children":1201},{"className":1200},[],[1202],{"type":676,"value":724},{"type":671,"tag":1195,"props":1204,"children":1205},{},[1206],{"type":676,"value":1207},"Толщина/жирность шрифта",{"type":671,"tag":1195,"props":1209,"children":1210},{},[1211],{"type":676,"value":1212},"Да",{"type":671,"tag":1195,"props":1214,"children":1215},{},[1216,1218,1223,1225,1230],{"type":676,"value":1217},"Будет ",{"type":671,"tag":686,"props":1219,"children":1221},{"className":1220},[],[1222],{"type":676,"value":1035},{"type":676,"value":1224}," (унаследуется от ",{"type":671,"tag":686,"props":1226,"children":1228},{"className":1227},[],[1229],{"type":676,"value":825},{"type":676,"value":1231},")",{"type":671,"tag":1156,"props":1233,"children":1234},{},[1235,1243,1248,1252],{"type":671,"tag":1195,"props":1236,"children":1237},{},[1238],{"type":671,"tag":686,"props":1239,"children":1241},{"className":1240},[],[1242],{"type":676,"value":756},{"type":671,"tag":1195,"props":1244,"children":1245},{},[1246],{"type":676,"value":1247},"Цвет текста",{"type":671,"tag":1195,"props":1249,"children":1250},{},[1251],{"type":676,"value":1212},{"type":671,"tag":1195,"props":1253,"children":1254},{},[1255,1257,1262],{"type":676,"value":1256},"Будет красным (унаследуется от ",{"type":671,"tag":686,"props":1258,"children":1260},{"className":1259},[],[1261],{"type":676,"value":825},{"type":676,"value":1231},{"type":671,"tag":1156,"props":1264,"children":1265},{},[1266,1275,1280,1285],{"type":671,"tag":1195,"props":1267,"children":1268},{},[1269],{"type":671,"tag":686,"props":1270,"children":1272},{"className":1271},[],[1273],{"type":676,"value":1274},"border",{"type":671,"tag":1195,"props":1276,"children":1277},{},[1278],{"type":676,"value":1279},"Граница элемента",{"type":671,"tag":1195,"props":1281,"children":1282},{},[1283],{"type":676,"value":1284},"Нет",{"type":671,"tag":1195,"props":1286,"children":1287},{},[1288],{"type":676,"value":1289},"Не появится из-за родителя",{"data":1291,"body":1292},{},{"type":668,"children":1293},[1294],{"type":671,"tag":672,"props":1295,"children":1296},{},[1297,1299,1304,1306,1311,1313,1318,1320,1325,1327,1332],{"type":676,"value":1298},"Кратко: ",{"type":671,"tag":686,"props":1300,"children":1302},{"className":1301},[],[1303],{"type":676,"value":840},{"type":676,"value":1305},", заданный на ",{"type":671,"tag":686,"props":1307,"children":1309},{"className":1308},[],[1310],{"type":676,"value":825},{"type":676,"value":1312},", будет влиять на ",{"type":671,"tag":686,"props":1314,"children":1316},{"className":1315},[],[1317],{"type":676,"value":817},{"type":676,"value":1319},", потому что ",{"type":671,"tag":686,"props":1321,"children":1323},{"className":1322},[],[1324],{"type":676,"value":724},{"type":676,"value":1326}," наследуется, и у ",{"type":671,"tag":686,"props":1328,"children":1330},{"className":1329},[],[1331],{"type":676,"value":817},{"type":676,"value":1333}," нет собственного значения этого свойства.",1775735655417]