JavaScript – перспективный современный язык программирования. С его помощью пишут разнообразный контент. Исходя из названия, можно понять, что в основе работы лежат скрипты. Подходит для того, чтобы разрабатывать приложения и расширения веб-характера. На JS также пишут всевозможные игры и плагины.
Для того, чтобы устроиться на работу программером или разрабом, человеку необходимо пройти собеседование. Во время него будут задавать различные вопросы по JS. А еще – давать практические задания. Ведь мало знать теорию – практика и программирование две неотъемлемые вещи.
Как правильно подготовиться
Хороший разработчик – человек, который не только решает сложные вопросы, но и умеет мыслить нестандартно. Он должен обладать определенными качествами. О них нередко судят во время собеседования. И не обязательно, задавая вопросы.
Для того, чтобы интервью при трудоустройстве прошло успешно, рекомендуется запомнить следующие советы:
- Готовиться к беседе с потенциальным работодателем заранее. Стоит освежить в памяти алгоритмы, структуры информации, а также пробежаться по «слабым» сторонам JS для себя.
- Не забывать о понятиях. Даже опытных разработчиков могут начать опрашивать относительно ключевых понятий программирования. Вспомнить терминологию будет не лишним.
- Говорить то или иное решение вслух. Потенциальный работодатель хочет увидеть, как мыслит человек. Хотя это может показаться странным, но проговаривание нередко помогает не только сосредоточиться на задаче, но и показать себя как хорошего разработчика/программиста. Правильный ход решения способен увеличить шансы на итоговый успех.
- Давать время на осмысление. Перед тем, как браться за испытание, его необходимо осмыслить. Поверхностное понятие способно повести разработчика по неверному пути.
- Ручные тренировки. Используйте тренировки по написанию кодов вручную, а не на компьютере. Во время интервью иногда нет ни специальных досок, ни разнообразных подсказок, ни автоформатирования. Код, прописанный на бумаге, поможет лучше ориентироваться и не запутаться.
Чем больше практики по JavaScript будет у соискателя, тем лучше. А еще он должен уметь осуществлять поиск решений для любых задач, независимо от их запутанности. Сложные крупные проекты – это не шаблоны, а креативный подход и запутанные задачки.
Типовые задания и их разбор
JavaScript – язык, который позволяет решать разного рода проблемы. Здесь нет места большим элементам кода – синтаксис позволяет работать с небольшими, но функциональными фрагментами.
Компании нередко дают своим соискателям ряд шаблонных задач, которые необходимо решить при трудоустройстве. Далее будут рассмотрены некоторые варианты и ответы. Все это поможет не волноваться, показав себя с лучшей стороны.
Дела палиндромные
Палиндром – последовательность символов (предложение, слово, фраза), которая будет в обе стороны читаться одинаково. Пример: «оно», Анна. Данный момент нередко проскальзывает в задачах по программированию. И на JS в том числе.
Вопрос
Потенциальному разработчику предоставляется строка. Напишите функцию, которая:
- вернет значение истины, если string – это палиндром;
- в противном случае на экран будет выведен результат false;
- делать все это с учетом пробелов и имеющихся знаков препинания.
Пример – при наличии строки, содержащей только слово cat, значение функции должно быть false. А если работать с лексемой racecar – true.
Ответ
Для того, чтобы решить данную задачу на JavaScript, необходимо прописать следующий код:
Работа будет осуществляться в два этапа:
- Преобразование символов данной строки в нижний регистр. Так получится добиться, чтобы утилита точно сравнивала все символьные элементы, а не другие компоненты.
- Реверс строчки. Для этого она преобразовывается в массив через метод split библиотеки String. После потребуется перевернуть массив посредством reverse. Завершающий этап – обратный массив переделывается в строчку через join() библиотеки Array.
Этого будет достаточно в JavaScript, чтобы произвести сравнение «обратной» строки с первоначально предоставленной. В итоге осуществляется возврат того или иного значения, соответствующий условиям задания.
FizzBuzz
Следующая задача не имеет как такового названия, но она во время собеседований встречается довольно часто.
Пользователя просят написать функцию, которая вывод на дисплей устройства цифру от 1 до n, где n – это число, которое эта самая функция воспринимает параметром с условиями:
- fizz показывается на экране вместо чисел, кратных 3-ке;
- buzz – надпись, выводимая JavaScript, когда число кратко 5;
- fizzbuzz – указывается, когда число кратко одновременно 3 и 5.
В остальных случаях на экране появится обычная цифра. Это – элементарная задачка, но она может достав��ть немало хлопот даже опытным разработчикам.
Разбор и решение
Обратите внимание на то, что в основе лежит метод поиска кратных чисел через Java Script. Он может реализовываться несколькими способами:
- оператором модуля;
- через оператор остатка от деления.
В последнем случае удается понять – если остаток вследствие деления – 0, это значит, что первая цифра кратна второй.
Выше – оптимальный код, который позволяет решить поставленную задачу. Здесь функция будет выполнять проверки через условные операторы. После этого результат предоставляется пользователю.
Отдельное внимание необходимо уделить оператору if…else и порядку постановки подобных элементов. Начало – это двойное условия. Конец представляет собой ситуацию, при которой кратные числа не обнаружены. Это поможет задействовать все существующие вариации.
Анаграммные беседы
Практические задания при трудоустройстве в качестве разраба на JavaScript могут быть совершенно разными. Они делятся по уровню сложности. Но нередко студии предлагают решать простые, только весьма каверзные задачки.
Еще один пример будет называться «Анаграмма». В русском языке это слово, которое содержит в себе все буквы другой лексемы. Еще и в аналогичном количестве. Разница заключается лишь в порядке расположения оных.
Вопрос
Требуется составить функцию, которая будет осуществлять проверку на анаграммность. Работать предстоит непосредственно со строками – сравнивать две из них. Регистр не учитывается. Во внимание брать только символы. Знаки препинания и пробелы тоже не рассматриваются при решении соответствующего вопроса.
Ответ
Для того, чтобы выполнять подобные практические задания, требуется:
- осуществлять проверку каждой буквы в первоначальных строчках;
- проверять количество букв в каждой из данных строк.
Хранение анаграммы производится при помощи специальной структуры. Она носит название объектного литерала в Java Script. Ключом будут служить символы букв, значениями – то, сколько раз они повторяются в соответствующей строчке.
Дополнительно необходимо соблюсти следующие моменты:
- удостовериться в том, что регистр букв не будет приниматься во внимание – для этого возникает необходимость преобразование обеих строчек в один регистр;
- исключить из имеющегося сравнения все элементы, которые не выступают в качестве символов.
Вот так будет код, который поможет справиться с поставленной задачей:
Стоит обратить внимание на то, как используется Object.keys(), который содержит скрипт, расположенный выше. Соответствующий метод включает в себя массив, где есть имена/ключи в том же порядке, в каком они присутствуют непосредственно в объекте.
Результатом окажутся свойства object, которые избавят от необходимости выполнения таких операций как объемные циклы. При решении задачи можно воспользоваться соответствующим способом со свойством .leight. Это поможет проверить, содержат ли обе строчки одинаковое количество символьных записей.
Найти гласную
Название задачи говорит само за себя. Испытание никак не помогает при создании сайтов, но позволяет студиям понимать, на что способен потенциальный работник. Довольно распространенная практика – это отыскать гласную/согласную в предложенных строчках.
Описание
Требуется создать функцию, которая принимает строчку в виде аргумента. Результатом должен быть возврат значения – количества гласных в string. Работать предстоит с английской раскладкой. Гласными здесь являются буквы:
Пример – cat и look. В первом случае результатом станет 1, во втором – 2.
Решение проблемы
Существуют несколько вариантов решения поставленной задачи. Первый – это самый простой подход:
Особое внимание уделяется методу .includes(). Он может быть считан:
Применяется данный метод для того, чтобы определить, есть ли в массиве то или иное значение. Метод возвращает значение истины, когда соответствующее значение имеется в массивах. В противном случае выводится результат false.
А вот второй вариант решения задачи:
Особое внимание уделяется методу .match(). Он предоставляет шанс реализации эффективного поиска. Так, если выражение регулярного типа в виде аргумента метода обнаружено внутри предоставленной строчки, возвращаемым значением выступает массив совпадающих символов. Когда описанное условие отсутствует, возвращается null.
Непревзойденная классика
JavaScript – язык программирования, в котором можно реализовывать различные решения: от самых простых до сложных. Нередко на собеседовании предлагают поработать с рядом Фибоначчи. Такой вариант предусматривается и для новичков, и для опытных разрабов.
Последовательность Фибоначчи – числовой ряд, где каждый последующий элемент представлен суммой двух предыдущих. Пример: 0, 1, 1, 2, 3, 5, 8,13, 21, 34.
Звучание задачи
В JavaScript написать функцию, возвращающую n-ную запись в той или иной последовательности. N здесь – это число, передаваемое в виде аргумента функции.
По мере подбора решения предстоит рассматривать циклы. По ним «проходят» столько раз, сколько прописано в аргументе. Далее осуществляется возврат значения на той или иной позиции.
Для того, чтобы быстро разобраться с вопросом, нужно задействовать циклы. Рекурсия тоже подойдет. Такой прием поможет продемонстрировать навыки профессионала.
Ответы
Вот первый вариант решения. Он предусматривает манипулирование циклами:
В JavaScript соответствующий код функционирует следующим способом:
- В массиве итогов – первые два числа будут в ряду. Связано это с тем, что каждая запись в строчке – это сумма предыдущих элементов.
- Начало ряда Фибоначчи не имеет чисел, которые берутся для получения последующего. Это приводит к невозможности цикла осуществлять автоматическую генерацию.
- Инициализация первых двух элементов производится вручную пользователем. Речь идет о 0 и 1.
В подобной форме код будет работать. Если пренебречь последним шагом, провал обеспечен. Но есть и вариант в JavaScript с рекурсией:
Тут ситуация обстоит таким образом, что требуется производить вызов fibonacci(), чтобы передавать меньшие числа в виде аргументов имеющейся функции. Остановка – когда передаваемая информация будет равна 0 или 1.
Где набраться практики
Задачи на JavaScript бывают разной сложности. И все их могут использовать успешные компании на интервью с соискателями. Некоторые студии даже самостоятельно придумывают испытания – это позволяет максимально точно понять, насколько человек подойдет фирме.
Только данный момент не означает, что не стоит набираться практики. Чем больше задачек решит разработчик, тем проще ему будет в конечном итоге. Возникает логичный вопрос относительно того, где набираться практики.
Вариантов развития событий достаточно много:
- участвовать в конкурсах;
- олимпиады (особенно если речь идет о разрабе школьного возраста);
- методички;
- работа стажером в выбранном направлении.
Можно перейти по ссылке, чтобы посмотреть подборку лучших источников практических испытаний. А еще – открыть данную страницу. Здесь тоже имеются достаточно интересные и простые варианты, которые встречаются на интервью.
Для того, чтобы еще более уверенно чувствовать себя, а также «сделать имя» в качестве программера/разраба, стоит посетить специальные обучающие курсы. Они проводятся дистанционно. По выпуску пользователь получает сертификат. Здесь – не только «голая» теория, но и множество практики, которая обязательно будет оценена по существу на интервью.
<!DOCTYPE html>
<html dir="ltr" lang="ru-RU">
<head>
<meta charset="UTF-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="profile" href="http://gmpg.org/xfn/11" />
<title>JavaScript: где взять практику, задания, подготовка OTUS</title>
<!-- All in One SEO 4.5.2.1 - aioseo.com -->
<meta name="description" content="JavaScript – перспективный современный язык программирования. С его помощью пишут разнообразный контент. Исходя из названия, можно понять, что в основе работы лежат скрипты. Подходит для того, чтобы разрабатывать приложения и расширения веб-характера. На JS также пишут всевозможные игры и плагины. Для того, чтобы устроиться на работу программером или разрабом, человеку необходимо пройти собеседование. Во время" />
<meta name="robots" content="max-image-preview:large" />
<link rel="canonical" href="https://otus.ru/journal/javascript-gde-vzyat-praktiku-zadaniya-podgotovka/" />
<meta name="generator" content="All in One SEO (AIOSEO) 4.5.2.1" />
<script type="application/ld+json" class="aioseo-schema">
{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/otus.ru\/journal\/javascript-gde-vzyat-praktiku-zadaniya-podgotovka\/#article","name":"JavaScript: \u0433\u0434\u0435 \u0432\u0437\u044f\u0442\u044c \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0443, \u0437\u0430\u0434\u0430\u043d\u0438\u044f, \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 OTUS","headline":"JavaScript: \u0433\u0434\u0435 \u0432\u0437\u044f\u0442\u044c \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0443, \u0437\u0430\u0434\u0430\u043d\u0438\u044f, \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430","author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2022\/01\/oj-1080x720-13.png","width":1080,"height":720},"datePublished":"2022-01-11T17:51:24+00:00","dateModified":"2022-01-11T17:51:25+00:00","inLanguage":"ru-RU","mainEntityOfPage":{"@id":"https:\/\/otus.ru\/journal\/javascript-gde-vzyat-praktiku-zadaniya-podgotovka\/#webpage"},"isPartOf":{"@id":"https:\/\/otus.ru\/journal\/javascript-gde-vzyat-praktiku-zadaniya-podgotovka\/#webpage"},"articleSection":"\u041f\u043e\u043b\u0435\u0437\u043d\u043e\u0435, JavaScript"},{"@type":"BreadcrumbList","@id":"https:\/\/otus.ru\/journal\/javascript-gde-vzyat-praktiku-zadaniya-podgotovka\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/#listItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/otus.ru\/journal\/","nextItem":"https:\/\/otus.ru\/journal\/javascript-gde-vzyat-praktiku-zadaniya-podgotovka\/#listItem"},{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/javascript-gde-vzyat-praktiku-zadaniya-podgotovka\/#listItem","position":2,"name":"JavaScript: \u0433\u0434\u0435 \u0432\u0437\u044f\u0442\u044c \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0443, \u0437\u0430\u0434\u0430\u043d\u0438\u044f, \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430","previousItem":"https:\/\/otus.ru\/journal\/#listItem"}]},{"@type":"Organization","@id":"https:\/\/otus.ru\/journal\/#organization","name":"\u041e\u0442\u0443\u0441 \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435","url":"https:\/\/otus.ru\/journal\/","sameAs":["https:\/\/www.youtube.com\/channel\/UCetgtvy93o3i3CvyGXKFU3g"],"contactPoint":{"@type":"ContactPoint","telephone":"+74999389202","contactType":"Customer Support"}},{"@type":"Person","@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author","url":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/","name":"A. Pavlenko","image":{"@type":"ImageObject","@id":"https:\/\/otus.ru\/journal\/javascript-gde-vzyat-praktiku-zadaniya-podgotovka\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/d4c499a104d7c2522fa41f89e6819499?s=96&d=mm&r=g","width":96,"height":96,"caption":"A. Pavlenko"}},{"@type":"WebPage","@id":"https:\/\/otus.ru\/journal\/javascript-gde-vzyat-praktiku-zadaniya-podgotovka\/#webpage","url":"https:\/\/otus.ru\/journal\/javascript-gde-vzyat-praktiku-zadaniya-podgotovka\/","name":"JavaScript: \u0433\u0434\u0435 \u0432\u0437\u044f\u0442\u044c \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0443, \u0437\u0430\u0434\u0430\u043d\u0438\u044f, \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 OTUS","description":"JavaScript \u2013 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u0421 \u0435\u0433\u043e \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0438\u0448\u0443\u0442 \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043d\u0442. \u0418\u0441\u0445\u043e\u0434\u044f \u0438\u0437 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u044c, \u0447\u0442\u043e \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u043b\u0435\u0436\u0430\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u044b. \u041f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0432\u0435\u0431-\u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0430. \u041d\u0430 JS \u0442\u0430\u043a\u0436\u0435 \u043f\u0438\u0448\u0443\u0442 \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0438\u0433\u0440\u044b \u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u044b. \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0440\u043e\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435\u0440\u043e\u043c \u0438\u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u043c, \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0439\u0442\u0438 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435. \u0412\u043e \u0432\u0440\u0435\u043c\u044f","inLanguage":"ru-RU","isPartOf":{"@id":"https:\/\/otus.ru\/journal\/#website"},"breadcrumb":{"@id":"https:\/\/otus.ru\/journal\/javascript-gde-vzyat-praktiku-zadaniya-podgotovka\/#breadcrumblist"},"author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"creator":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2022\/01\/oj-1080x720-13.png","@id":"https:\/\/otus.ru\/journal\/javascript-gde-vzyat-praktiku-zadaniya-podgotovka\/#mainImage","width":1080,"height":720},"primaryImageOfPage":{"@id":"https:\/\/otus.ru\/journal\/javascript-gde-vzyat-praktiku-zadaniya-podgotovka\/#mainImage"},"datePublished":"2022-01-11T17:51:24+00:00","dateModified":"2022-01-11T17:51:25+00:00"},{"@type":"WebSite","@id":"https:\/\/otus.ru\/journal\/#website","url":"https:\/\/otus.ru\/journal\/","name":"OTUS JOURNAL","description":"Blog about IT","inLanguage":"ru-RU","publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"}}]}
</script>
<!-- All in One SEO -->
<link rel='dns-prefetch' href='//otus.ru' />
<link rel='dns-prefetch' href='//fonts.googleapis.com' />
<link rel='stylesheet' id='wp-block-library-css' href='https://otus.ru/journal/wp-includes/css/dist/block-library/style.min.css?ver=6.4.7' type='text/css' media='all' />
<style id='classic-theme-styles-inline-css' type='text/css'>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
</style>
<style id='global-styles-inline-css' type='text/css'>
body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
</style>
<link rel='stylesheet' id='wbcr-comments-plus-url-span-css' href='https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/css/url-span.css?ver=2.2.0' type='text/css' media='all' />
<link rel='stylesheet' id='wpel-style-css' href='https://otus.ru/journal/wp-content/plugins/wp-external-links/public/css/wpel.css?ver=2.59' type='text/css' media='all' />
<link rel='stylesheet' id='ez-toc-css' href='https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/css/screen.min.css?ver=2.0.61' type='text/css' media='all' />
<style id='ez-toc-inline-css' type='text/css'>
div#ez-toc-container .ez-toc-title {font-size: 120%;}div#ez-toc-container .ez-toc-title {font-weight: 500;}div#ez-toc-container ul li {font-size: 95%;}div#ez-toc-container nav ul ul li {font-size: 90%;}
.ez-toc-container-direction {direction: ltr;}.ez-toc-counter ul{counter-reset: item ;}.ez-toc-counter nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }.ez-toc-widget-direction {direction: ltr;}.ez-toc-widget-container ul{counter-reset: item ;}.ez-toc-widget-container nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }
</style>
<link rel='stylesheet' id='contentberg-fonts-css' href='https://fonts.googleapis.com/css?family=Roboto%3A400%2C500%2C700%7CPT+Serif%3A400%2C400i%2C600%7CIBM+Plex+Serif%3A500' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-core-css' href='https://otus.ru/journal/wp-content/themes/contentberg/style.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-lightbox-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/lightbox.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='font-awesome-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/fontawesome/css/font-awesome.min.css?ver=1.8.3' type='text/css' media='all' />
<script type="text/javascript" id="breeze-prefetch-js-extra">
/* <![CDATA[ */
var breeze_prefetch = {"local_url":"https:\/\/otus.ru\/journal","ignore_remote_prefetch":"1","ignore_list":["\/wp-admin\/"]};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js" id="breeze-prefetch-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/lazysizes.js" id="lazysizes-js"></script>
<link rel="https://api.w.org/" href="https://otus.ru/journal/wp-json/" /><link rel="alternate" type="application/json" href="https://otus.ru/journal/wp-json/wp/v2/posts/2689" /><link rel='shortlink' href='https://otus.ru/journal/?p=2689' />
<link rel="alternate" type="application/json+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fjavascript-gde-vzyat-praktiku-zadaniya-podgotovka%2F" />
<link rel="alternate" type="text/xml+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fjavascript-gde-vzyat-praktiku-zadaniya-podgotovka%2F&format=xml" />
<script>var Sphere_Plugin = {"ajaxurl":"https:\/\/otus.ru\/journal\/wp-admin\/admin-ajax.php"};</script><link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-32x32.png" sizes="32x32" />
<link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-180x180.png" />
<meta name="msapplication-TileImage" content="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-270x270.png" />
<style type="text/css" id="wp-custom-css">
#menu-item-10406 .wpel-icon {
display: none;
}
#menu-item-10407 .wpel-icon {
display: none;
}
.otus-login-site a .wpel-icon {
display: none;
}
.menu-menju-navykov-container a .wpel-icon {
display: none;
}
.otus-login-site a
{
background: #ffd709;
border-radius: 12px;
color: #0f0f10;
font-size: 14px;
font-weight: 700;
line-height: 20px;
display: block;
text-align: center;
padding: 8px 25px;
}
.main-footer.dark {
background: linear-gradient(90deg, #a64fc5, #4f54e6);
border-color: transparent;
}
.main-footer.bold .copyright {
color: #fff;
}
.main-footer.bold .to-top i {
color: #fff;
}
.main-footer.bold .back-to-top {
color: #fff;
}
.nav__scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.scrollable-menu .menu {
display: flex;
}
.nav__scroll
{
background: linear-gradient(90deg, #a64fc5, #4f54e6);
}
.scrollable-menu .menu .menu-item {
flex: 0 0 auto;
padding: 15px 15px;
}
.scrollable-menu .menu .menu-item a {
color: #fff;
}
.nav__scroll::-webkit-scrollbar{background-color:#fff;height:5px;}
.nav__scroll::-webkit-scrollbar-thumb{background-color:#dcdcdc;}
.nav__scroll::-webkit-scrollbar-track{-webkit-border-radius:0;border-radius:0;background-color:#fff;}/
body {
min-width: 320px;
}
.banner-click img {
margin: 0 auto;
display: block;
}
.banner-click {
cursor: pointer;
}
.banner-footer-area {
margin-bottom: 20px;
}
.banner-left-area {
margin-top: 40px;
} </style>
<!--Start VDZ Yandex Metrika Plugin-->
<!-- Yandex.Metrika counter --><script type="text/javascript" >(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");ym(34531570, "init", {clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true, trackHash:true, ecommerce:"dataLayer"});</script>
<noscript><div><img src="https://mc.yandex.ru/watch/34531570" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter --><!--START ADD EVENTS FROM CF7--><script type='text/javascript'>document.addEventListener( 'wpcf7submit', function( event ) {
//event.detail.contactFormId;
if(ym){
//console.log(event.detail);
ym(34531570, 'reachGoal', 'VDZ_SEND_CONTACT_FORM_7');
ym(34531570, 'params', {
page_url: window.location.href,
status: event.detail.status,
locale: event.detail.contactFormLocale,
form_id: event.detail.contactFormId,
});
}
}, false );
</script><!--END ADD EVENTS FROM CF7-->
<!--End VDZ Yandex Metrika Plugin-->
</head>
<body class="post-template-default single single-post postid-2689 single-format-standard right-sidebar lazy-normal has-lb">
<div class="main-wrap">
<header id="main-head" class="main-head head-nav-below has-search-modal simple simple-boxed">
<div class="inner inner-head" data-sticky-bar="0">
<div class="wrap cf wrap-head">
<div class="left-contain">
<span class="mobile-nav"><i class="fa fa-bars"></i></span>
<div class="title">
<a href="https://otus.ru/journal/" title="OTUS JOURNAL" rel="home" data-wpel-link="internal">
<span class="text-logo"><img src="/journal/wp-content/themes/contentberg/img/logo_site.svg" alt="OTUS JOURNAL"></span>
</a>
</div>
</div>
<div class="navigation-wrap inline">
<nav class="navigation inline simple light" data-sticky-bar="0">
<div class="menu-rubriki-container"><ul id="menu-rubriki" class="menu"><li id="menu-item-109" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-1 menu-item-109"><a href="https://otus.ru/journal/category/pro-it/" data-wpel-link="internal"><span>Про IT</span></a></li>
<li id="menu-item-113" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-cat-4 menu-item-113"><a href="https://otus.ru/journal/category/polza/" data-wpel-link="internal"><span>Полезное</span></a></li>
<li id="menu-item-114" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-3 menu-item-114"><a href="https://otus.ru/journal/category/lifestyle/" data-wpel-link="internal"><span>Лайфстайл</span></a></li>
<li id="menu-item-10406" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10406"><a href="https://otus.ru/catalog/courses" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Обучение</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10407" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10407"><a href="https://otus.ru/about" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Информация</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </nav>
</div>
<div class="actions">
<div class="otus-login-site">
<a href="https://otus.ru/login/" target="_blank" data-wpel-link="external" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Войти<span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
<a href="#" title="Search" class="search-link"><i class="fa fa-search"></i></a>
</div>
</div>
</div>
</header> <!-- .main-head -->
<div class="nav nav_disable nav_colored nav_transparent course-categories__nav nav__scroll ">
<div class="container wrap">
<div class="links inline simple light scrollable-menu">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov" class="menu"><li id="menu-item-10413" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10414" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10415" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10416" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10417" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10418" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10419" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10420" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10421" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
</div>
</div>
<div class="main wrap">
<div class="ts-row cf">
<div class="col-8 main-content cf">
<article id="post-2689" class="the-post post-2689 post type-post status-publish format-standard has-post-thumbnail category-polza tag-javascript">
<header class="post-header the-post-header cf">
<div class="post-meta the-post-meta">
<span class="post-cat">
<a href="https://otus.ru/journal/category/polza/" class="category" data-wpel-link="internal">Полезное</a>
</span>
<h1 class="post-title">
JavaScript: где взять практику, задания, подготовка
</h1>
<a href="https://otus.ru/journal/javascript-gde-vzyat-praktiku-zadaniya-podgotovka/" class="date-link" data-wpel-link="internal"><time class="post-date">11 января, 2022</time></a>
</div>
<div class="featured">
<a href="https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-13.png" class="image-link" data-wpel-link="internal"><img width="770" height="515" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20770%20515%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-contentberg-main size-contentberg-main lazyload wp-post-image" alt="JavaScript: где взять практику, задания, подготовка" title="JavaScript: где взять практику, задания, подготовка" decoding="async" fetchpriority="high" data-srcset="https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-13-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-13-300x200.png 300w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-13-1024x683.png 1024w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-13-150x100.png 150w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-13-270x180.png 270w" data-src="https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-13-770x515.png" data-sizes="(max-width: 770px) 100vw, 770px" /> </a>
</div>
</header><!-- .post-header -->
<div class="post-content description cf entry-content content-normal">
<div id="ez-toc-container" class="ez-toc-v2_0_61 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title " >Содержание</p>
<span class="ez-toc-title-toggle"><a href="#" class="ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle" aria-label="Toggle Table of Content"><span class="ez-toc-js-icon-con"><span class=""><span class="eztoc-hide" style="display:none;">Toggle</span><span class="ez-toc-icon-toggle-span"><svg style="fill: #999;color:#999" xmlns="http://www.w3.org/2000/svg" class="list-377408" width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path d="M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z" fill="currentColor"></path></svg><svg style="fill: #999;color:#999" class="arrow-unsorted-368013" xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny"><path d="M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z"/></svg></span></span></span></a></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="#%D0%9A%D0%B0%D0%BA_%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE_%D0%BF%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%D1%81%D1%8F" title="Как правильно подготовиться">Как правильно подготовиться</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="#%D0%A2%D0%B8%D0%BF%D0%BE%D0%B2%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B8_%D0%B8%D1%85_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80" title="Типовые задания и их разбор">Типовые задания и их разбор</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-3" href="#%D0%94%D0%B5%D0%BB%D0%B0_%D0%BF%D0%B0%D0%BB%D0%B8%D0%BD%D0%B4%D1%80%D0%BE%D0%BC%D0%BD%D1%8B%D0%B5" title="Дела палиндромные">Дела палиндромные</a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-4" href="#%D0%92%D0%BE%D0%BF%D1%80%D0%BE%D1%81" title="Вопрос">Вопрос</a></li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-5" href="#%D0%9E%D1%82%D0%B2%D0%B5%D1%82" title="Ответ">Ответ</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-6" href="#FizzBuzz" title="FizzBuzz">FizzBuzz</a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-7" href="#%D0%A0%D0%B0%D0%B7%D0%B1%D0%BE%D1%80_%D0%B8_%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5" title="Разбор и решение">Разбор и решение</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-8" href="#%D0%90%D0%BD%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D1%8B%D0%B5_%D0%B1%D0%B5%D1%81%D0%B5%D0%B4%D1%8B" title="Анаграммные беседы">Анаграммные беседы</a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-9" href="#%D0%92%D0%BE%D0%BF%D1%80%D0%BE%D1%81-2" title="Вопрос">Вопрос</a></li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-10" href="#%D0%9E%D1%82%D0%B2%D0%B5%D1%82-2" title="Ответ">Ответ</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-11" href="#%D0%9D%D0%B0%D0%B9%D1%82%D0%B8_%D0%B3%D0%BB%D0%B0%D1%81%D0%BD%D1%83%D1%8E" title="Найти гласную">Найти гласную</a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-12" href="#%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5" title="Описание">Описание</a></li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-13" href="#%D0%A0%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B" title="Решение проблемы">Решение проблемы</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-14" href="#%D0%9D%D0%B5%D0%BF%D1%80%D0%B5%D0%B2%D0%B7%D0%BE%D0%B9%D0%B4%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D0%BA%D0%B0" title="Непревзойденная классика">Непревзойденная классика</a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-15" href="#%D0%97%D0%B2%D1%83%D1%87%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8" title="Звучание задачи">Звучание задачи</a></li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class="ez-toc-link ez-toc-heading-16" href="#%D0%9E%D1%82%D0%B2%D0%B5%D1%82%D1%8B" title="Ответы">Ответы</a></li></ul></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-17" href="#%D0%93%D0%B4%D0%B5_%D0%BD%D0%B0%D0%B1%D1%80%D0%B0%D1%82%D1%8C%D1%81%D1%8F_%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8" title="Где набраться практики">Где набраться практики</a></li></ul></nav></div>
<p>JavaScript – перспективный современный язык программирования. С его помощью пишут разнообразный контент. Исходя из названия, можно понять, что в основе работы лежат скрипты. Подходит для того, чтобы разрабатывать приложения и расширения веб-характера. На JS также пишут всевозможные игры и плагины.</p>
<p>Для того, чтобы устроиться на работу программером или разрабом, человеку необходимо пройти собеседование. Во время него будут задавать различные вопросы по JS. А еще – давать практические задания. Ведь мало знать теорию – практика и программирование две неотъемлемые вещи.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9A%D0%B0%D0%BA_%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE_%D0%BF%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%D1%81%D1%8F"></span>Как правильно подготовиться<span class="ez-toc-section-end"></span></h2>
<p>Хороший разработчик – человек, который не только решает сложные вопросы, но и умеет мыслить нестандартно. Он должен обладать определенными качествами. О них нередко судят во время собеседования. И не обязательно, задавая вопросы.</p>
<p>Для того, чтобы интервью при трудоустройстве прошло успешно, рекомендуется запомнить следующие советы:</p>
<ol type="1"><li>Готовиться к беседе с потенциальным работодателем заранее. Стоит освежить в памяти алгоритмы, структуры информации, а также пробежаться по «слабым» сторонам JS для себя.</li><li>Не забывать о понятиях. Даже опытных разработчиков могут начать опрашивать относительно ключевых понятий программирования. Вспомнить терминологию будет не лишним.</li><li>Говорить то или иное решение вслух. Потенциальный работодатель хочет увидеть, как мыслит человек. Хотя это может показаться странным, но проговаривание нередко помогает не только сосредоточиться на задаче, но и показать себя как хорошего разработчика/программиста. Правильный ход решения способен увеличить шансы на итоговый успех.</li><li>Давать время на осмысление. Перед тем, как браться за испытание, его необходимо осмыслить. Поверхностное понятие способно повести разработчика по неверному пути.</li><li>Ручные тренировки. Используйте тренировки по написанию кодов вручную, а не на компьютере. Во время интервью иногда нет ни специальных досок, ни разнообразных подсказок, ни автоформатирования. Код, прописанный на бумаге, поможет лучше ориентироваться и не запутаться.</li></ol>
<p>Чем больше практики по JavaScript будет у соискателя, тем лучше. А еще он должен уметь осуществлять поиск решений для любых задач, независимо от их запутанности. Сложные крупные проекты – это не шаблоны, а креативный подход и запутанные задачки.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A2%D0%B8%D0%BF%D0%BE%D0%B2%D1%8B%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F_%D0%B8_%D0%B8%D1%85_%D1%80%D0%B0%D0%B7%D0%B1%D0%BE%D1%80"></span>Типовые задания и их разбор<span class="ez-toc-section-end"></span></h2>
<p>JavaScript – язык, который позволяет решать разного рода проблемы. Здесь нет места большим элементам кода – синтаксис позволяет работать с небольшими, но функциональными фрагментами.</p>
<p>Компании нередко дают своим соискателям ряд шаблонных задач, которые необходимо решить при трудоустройстве. Далее будут рассмотрены некоторые варианты и ответы. Все это поможет не волноваться, показав себя с лучшей стороны.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%94%D0%B5%D0%BB%D0%B0_%D0%BF%D0%B0%D0%BB%D0%B8%D0%BD%D0%B4%D1%80%D0%BE%D0%BC%D0%BD%D1%8B%D0%B5"></span>Дела палиндромные<span class="ez-toc-section-end"></span></h3>
<p>Палиндром – последовательность символов (предложение, слово, фраза), которая будет в обе стороны читаться одинаково. Пример: «оно», Анна. Данный момент нередко проскальзывает в задачах по программированию. И на JS в том числе.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%92%D0%BE%D0%BF%D1%80%D0%BE%D1%81"></span>Вопрос<span class="ez-toc-section-end"></span></h4>
<p>Потенциальному разработчику предоставляется строка. Напишите функцию, которая:</p>
<ul><li>вернет значение истины, если string – это палиндром;</li><li>в противном случае на экран будет выведен результат false;</li><li>делать все это с учетом пробелов и имеющихся знаков препинания.</li></ul>
<p>Пример – при наличии строки, содержащей только слово cat, значение функции должно быть false. А если работать с лексемой racecar – true.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D1%82%D0%B2%D0%B5%D1%82"></span>Ответ<span class="ez-toc-section-end"></span></h4>
<p>Для того, чтобы решить данную задачу на JavaScript, необходимо прописать следующий код:</p>
<figure class="wp-block-image size-large"><img decoding="async" width="470" height="185" src="https://otus.ru/journal/wp-content/uploads/2022/01/1-8.jpg" alt="JavaScript: где взять практику, задания, подготовка" class="wp-image-2692" srcset="https://otus.ru/journal/wp-content/uploads/2022/01/1-8.jpg 470w, https://otus.ru/journal/wp-content/uploads/2022/01/1-8-300x118.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/01/1-8-150x59.jpg 150w" sizes="(max-width: 470px) 100vw, 470px" /></figure>
<p>Работа будет осуществляться в два этапа:</p>
<ol type="1"><li>Преобразование символов данной строки в нижний регистр. Так получится добиться, чтобы утилита точно сравнивала все символьные элементы, а не другие компоненты.</li><li>Реверс строчки. Для этого она преобразовывается в массив через метод split библиотеки String. После потребуется перевернуть массив посредством reverse. Завершающий этап – обратный массив переделывается в строчку через join() библиотеки Array.</li></ol>
<p>Этого будет достаточно в JavaScript, чтобы произвести сравнение «обратной» строки с первоначально предоставленной. В итоге осуществляется возврат того или иного значения, соответствующий условиям задания.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="FizzBuzz"></span>FizzBuzz<span class="ez-toc-section-end"></span></h3>
<p>Следующая задача не имеет как такового названия, но она во время собеседований встречается довольно часто.</p>
<p>Пользователя просят написать функцию, которая вывод на дисплей устройства цифру от 1 до n, где n – это число, которое эта самая функция воспринимает параметром с условиями:</p>
<ul><li>fizz показывается на экране вместо чисел, кратных 3-ке;</li><li>buzz – надпись, выводимая JavaScript, когда число кратко 5;</li><li>fizzbuzz – указывается, когда число кратко одновременно 3 и 5.</li></ul>
<p>В остальных случаях на экране появится обычная цифра. Это – элементарная задачка, но она может доставить немало хлопот даже опытным разработчикам.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A0%D0%B0%D0%B7%D0%B1%D0%BE%D1%80_%D0%B8_%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5"></span>Разбор и решение<span class="ez-toc-section-end"></span></h4>
<p>Обратите внимание на то, что в основе лежит метод поиска кратных чисел через Java Script. Он может реализовываться несколькими способами:</p>
<ul><li>оператором модуля;</li><li>через оператор остатка от деления.</li></ul>
<p>В последнем случае удается понять – если остаток вследствие деления – 0, это значит, что первая цифра кратна второй.</p>
<figure class="wp-block-image size-large"><img decoding="async" width="497" height="391" src="https://otus.ru/journal/wp-content/uploads/2022/01/2-6.jpg" alt="JavaScript: где взять практику, задания, подготовка" class="wp-image-2693" srcset="https://otus.ru/journal/wp-content/uploads/2022/01/2-6.jpg 497w, https://otus.ru/journal/wp-content/uploads/2022/01/2-6-300x236.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/01/2-6-150x118.jpg 150w, https://otus.ru/journal/wp-content/uploads/2022/01/2-6-87x67.jpg 87w" sizes="(max-width: 497px) 100vw, 497px" /></figure>
<p>Выше – оптимальный код, который позволяет решить поставленную задачу. Здесь функция будет выполнять проверки через условные операторы. После этого результат предоставляется пользователю.</p>
<p>Отдельное внимание необходимо уделить оператору if…else и порядку постановки подобных элементов. Начало – это двойное условия. Конец представляет собой ситуацию, при которой кратные числа не обнаружены. Это поможет задействовать все существующие вариации.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%90%D0%BD%D0%B0%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D1%8B%D0%B5_%D0%B1%D0%B5%D1%81%D0%B5%D0%B4%D1%8B"></span>Анаграммные беседы<span class="ez-toc-section-end"></span></h3>
<p>Практические задания при трудоустройстве в качестве разраба на JavaScript могут быть совершенно разными. Они делятся по уровню сложности. Но нередко студии предлагают решать простые, только весьма каверзные задачки.</p>
<p>Еще один пример будет называться «Анаграмма». В русском языке это слово, которое содержит в себе все буквы другой лексемы. Еще и в аналогичном количестве. Разница заключается лишь в порядке расположения оных.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%92%D0%BE%D0%BF%D1%80%D0%BE%D1%81-2"></span>Вопрос<span class="ez-toc-section-end"></span></h4>
<p>Требуется составить функцию, которая будет осуществлять проверку на анаграммность. Работать предстоит непосредственно со строками – сравнивать две из них. Регистр не учитывается. Во внимание брать только символы. Знаки препинания и пробелы тоже не рассматриваются при решении соответствующего вопроса.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D1%82%D0%B2%D0%B5%D1%82-2"></span>Ответ<span class="ez-toc-section-end"></span></h4>
<p>Для того, чтобы выполнять подобные практические задания, требуется:</p>
<ul><li>осуществлять проверку каждой буквы в первоначальных строчках;</li><li>проверять количество букв в каждой из данных строк.</li></ul>
<p>Хранение анаграммы производится при помощи специальной структуры. Она носит название объектного литерала в Java Script. Ключом будут служить символы букв, значениями – то, сколько раз они повторяются в соответствующей строчке.</p>
<p>Дополнительно необходимо соблюсти следующие моменты:</p>
<ul><li>удостовериться в том, что регистр букв не будет приниматься во внимание – для этого возникает необходимость преобразование обеих строчек в один регистр;</li><li>исключить из имеющегося сравнения все элементы, которые не выступают в качестве символов.</li></ul>
<p>Вот так будет код, который поможет справиться с поставленной задачей:</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="576" height="481" src="https://otus.ru/journal/wp-content/uploads/2022/01/3-4.jpg" alt="JavaScript: где взять практику, задания, подготовка" class="wp-image-2694" srcset="https://otus.ru/journal/wp-content/uploads/2022/01/3-4.jpg 576w, https://otus.ru/journal/wp-content/uploads/2022/01/3-4-300x251.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/01/3-4-150x125.jpg 150w" sizes="(max-width: 576px) 100vw, 576px" /></figure>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="566" height="263" src="https://otus.ru/journal/wp-content/uploads/2022/01/4-3.jpg" alt="JavaScript: где взять практику, задания, подготовка" class="wp-image-2695" srcset="https://otus.ru/journal/wp-content/uploads/2022/01/4-3.jpg 566w, https://otus.ru/journal/wp-content/uploads/2022/01/4-3-300x139.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/01/4-3-150x70.jpg 150w" sizes="(max-width: 566px) 100vw, 566px" /></figure>
<p>Стоит обратить внимание на то, как используется Object.keys(), который содержит скрипт, расположенный выше. Соответствующий метод включает в себя массив, где есть имена/ключи в том же порядке, в каком они присутствуют непосредственно в объекте.</p>
<p>Результатом окажутся свойства object, которые избавят от необходимости выполнения таких операций как объемные циклы. При решении задачи можно воспользоваться соответствующим способом со свойством .leight. Это поможет проверить, содержат ли обе строчки одинаковое количество символьных записей.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9D%D0%B0%D0%B9%D1%82%D0%B8_%D0%B3%D0%BB%D0%B0%D1%81%D0%BD%D1%83%D1%8E"></span>Найти гласную<span class="ez-toc-section-end"></span></h3>
<p>Название задачи говорит само за себя. Испытание никак не помогает при создании сайтов, но позволяет студиям понимать, на что способен потенциальный работник. Довольно распространенная практика – это отыскать гласную/согласную в предложенных строчках.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5"></span>Описание<span class="ez-toc-section-end"></span></h4>
<p>Требуется создать функцию, которая принимает строчку в виде аргумента. Результатом должен быть возврат значения – количества гласных в string. Работать предстоит с английской раскладкой. Гласными здесь являются буквы:</p>
<ul><li>a;</li><li>e;</li><li>I;</li><li>u;</li><li>o.</li></ul>
<p>Пример – cat и look. В первом случае результатом станет 1, во втором – 2.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A0%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D1%8B"></span>Решение проблемы<span class="ez-toc-section-end"></span></h4>
<p>Существуют несколько вариантов решения поставленной задачи. Первый – это самый простой подход:</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="356" height="219" src="https://otus.ru/journal/wp-content/uploads/2022/01/5-3.jpg" alt="JavaScript: где взять практику, задания, подготовка" class="wp-image-2696" srcset="https://otus.ru/journal/wp-content/uploads/2022/01/5-3.jpg 356w, https://otus.ru/journal/wp-content/uploads/2022/01/5-3-300x185.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/01/5-3-150x92.jpg 150w" sizes="(max-width: 356px) 100vw, 356px" /></figure>
<p>Особое внимание уделяется методу .includes(). Он может быть считан:</p>
<ul><li>строчками;</li><li>массивами.</li></ul>
<p>Применяется данный метод для того, чтобы определить, есть ли в массиве то или иное значение. Метод возвращает значение истины, когда соответствующее значение имеется в массивах. В противном случае выводится результат false.</p>
<p>А вот второй вариант решения задачи:</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="324" height="95" src="https://otus.ru/journal/wp-content/uploads/2022/01/6-3.jpg" alt="JavaScript: где взять практику, задания, подготовка" class="wp-image-2697" srcset="https://otus.ru/journal/wp-content/uploads/2022/01/6-3.jpg 324w, https://otus.ru/journal/wp-content/uploads/2022/01/6-3-300x88.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/01/6-3-150x44.jpg 150w" sizes="(max-width: 324px) 100vw, 324px" /></figure>
<p>Особое внимание уделяется методу .match(). Он предоставляет шанс реализации эффективного поиска. Так, если выражение регулярного типа в виде аргумента метода обнаружено внутри предоставленной строчки, возвращаемым значением выступает массив совпадающих символов. Когда описанное условие отсутствует, возвращается null.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9D%D0%B5%D0%BF%D1%80%D0%B5%D0%B2%D0%B7%D0%BE%D0%B9%D0%B4%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D0%BA%D0%B0"></span>Непревзойденная классика<span class="ez-toc-section-end"></span></h3>
<p>JavaScript – язык программирования, в котором можно реализовывать различные решения: от самых простых до сложных. Нередко на собеседовании предлагают поработать с рядом Фибоначчи. Такой вариант предусматривается и для новичков, и для опытных разрабов.</p>
<p>Последовательность Фибоначчи – числовой ряд, где каждый последующий элемент представлен суммой двух предыдущих. Пример: 0, 1, 1, 2, 3, 5, 8,13, 21, 34.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%97%D0%B2%D1%83%D1%87%D0%B0%D0%BD%D0%B8%D0%B5_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8"></span>Звучание задачи<span class="ez-toc-section-end"></span></h4>
<p>В JavaScript написать функцию, возвращающую n-ную запись в той или иной последовательности. N здесь – это число, передаваемое в виде аргумента функции.</p>
<p>По мере подбора решения предстоит рассматривать циклы. По ним «проходят» столько раз, сколько прописано в аргументе. Далее осуществляется возврат значения на той или иной позиции.</p>
<p>Для того, чтобы быстро разобраться с вопросом, нужно задействовать циклы. Рекурсия тоже подойдет. Такой прием поможет продемонстрировать навыки профессионала.</p>
<h4 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D1%82%D0%B2%D0%B5%D1%82%D1%8B"></span>Ответы<span class="ez-toc-section-end"></span></h4>
<p>Вот первый вариант решения. Он предусматривает манипулирование циклами:</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="430" height="387" src="https://otus.ru/journal/wp-content/uploads/2022/01/7-2.jpg" alt="JavaScript: где взять практику, задания, подготовка" class="wp-image-2698" srcset="https://otus.ru/journal/wp-content/uploads/2022/01/7-2.jpg 430w, https://otus.ru/journal/wp-content/uploads/2022/01/7-2-300x270.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/01/7-2-150x135.jpg 150w" sizes="(max-width: 430px) 100vw, 430px" /></figure>
<p>В JavaScript соответствующий код функционирует следующим способом:</p>
<ol type="1"><li>В массиве итогов – первые два числа будут в ряду. Связано это с тем, что каждая запись в строчке – это сумма предыдущих элементов.</li><li>Начало ряда Фибоначчи не имеет чисел, которые берутся для получения последующего. Это приводит к невозможности цикла осуществлять автоматическую генерацию.</li><li>Инициализация первых двух элементов производится вручную пользователем. Речь идет о 0 и 1.</li></ol>
<p>В подобной форме код будет работать. Если пренебречь последним шагом, провал обеспечен. Но есть и вариант в JavaScript с рекурсией:</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="403" height="189" src="https://otus.ru/journal/wp-content/uploads/2022/01/8-2.jpg" alt="JavaScript: где взять практику, задания, подготовка" class="wp-image-2699" srcset="https://otus.ru/journal/wp-content/uploads/2022/01/8-2.jpg 403w, https://otus.ru/journal/wp-content/uploads/2022/01/8-2-300x141.jpg 300w, https://otus.ru/journal/wp-content/uploads/2022/01/8-2-150x70.jpg 150w" sizes="(max-width: 403px) 100vw, 403px" /></figure>
<p>Тут ситуация обстоит таким образом, что требуется производить вызов fibonacci(), чтобы передавать меньшие числа в виде аргументов имеющейся функции. Остановка – когда передаваемая информация будет равна 0 или 1.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%93%D0%B4%D0%B5_%D0%BD%D0%B0%D0%B1%D1%80%D0%B0%D1%82%D1%8C%D1%81%D1%8F_%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D0%B8"></span>Где набраться практики<span class="ez-toc-section-end"></span></h2>
<p>Задачи на JavaScript бывают разной сложности. И все их могут использовать успешные компании на интервью с соискателями. Некоторые студии даже самостоятельно придумывают испытания – это позволяет максимально точно понять, насколько человек подойдет фирме.</p>
<p>Только данный момент не означает, что не стоит набираться практики. Чем больше задачек решит разработчик, тем проще ему будет в конечном итоге. Возникает логичный вопрос относительно того, где набираться практики.</p>
<p>Вариантов развития событий достаточно много:</p>
<ul><li>участвовать в конкурсах;</li><li>олимпиады (особенно если речь идет о разрабе школьного возраста);</li><li>методички;</li><li>работа стажером в выбранном направлении.</li></ul>
<p>Можно перейти по <a href="https://proglib.io/p/js-junior-tasks" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">ссылке<span class="wpel-icon wpel-image wpel-icon-6"></span></a>, чтобы посмотреть подборку лучших источников практических испытаний. А еще – открыть данную <a href="https://myrusakov.ru/js-reshenie-zadach.html" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">страницу<span class="wpel-icon wpel-image wpel-icon-6"></span></a>. <a href="https://myrusakov.ru/js-task.html" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Здесь<span class="wpel-icon wpel-image wpel-icon-6"></span></a> тоже имеются достаточно интересные и простые варианты, которые встречаются на интервью.</p>
<p>Для того, чтобы еще более уверенно чувствовать себя, а также «сделать имя» в качестве программера/разраба, стоит посетить специальные обучающие курсы. Они проводятся дистанционно. По выпуску пользователь получает сертификат. Здесь – не только «голая» теория, но и множество практики, которая обязательно будет оценена по существу на интервью.</p>
<figure class="wp-block-image size-large"><a href="https://otus.ru/lessons/specializacija-fullstack-dev/?utm_source=oj&utm_medium=affilate&utm_campaign=spec_js" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer"><img loading="lazy" decoding="async" width="970" height="70" src="https://otus.ru/journal/wp-content/uploads/2022/01/JS-FullstackSpec_Headline_970x70-16-2.png" alt="JavaScript: где взять практику, задания, подготовка" class="wp-image-2691" srcset="https://otus.ru/journal/wp-content/uploads/2022/01/JS-FullstackSpec_Headline_970x70-16-2.png 970w, https://otus.ru/journal/wp-content/uploads/2022/01/JS-FullstackSpec_Headline_970x70-16-2-300x22.png 300w, https://otus.ru/journal/wp-content/uploads/2022/01/JS-FullstackSpec_Headline_970x70-16-2-150x11.png 150w, https://otus.ru/journal/wp-content/uploads/2022/01/JS-FullstackSpec_Headline_970x70-16-2-768x55.png 768w" sizes="(max-width: 970px) 100vw, 970px" /></a></figure>
<p></p>
</div><!-- .post-content -->
<div class="the-post-foot cf">
<div class="tag-share cf">
<div class="post-tags"><a href="https://otus.ru/journal/tag/javascript/" rel="tag" data-wpel-link="internal">JavaScript</a></div>
<div class="post-share">
<div class="post-share-icons cf">
<span class="counters">
</span>
<a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fotus.ru%2Fjournal%2Fjavascript-gde-vzyat-praktiku-zadaniya-podgotovka%2F" class="link facebook wpel-icon-right" target="_blank" title="Share on Facebook" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-facebook"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fjavascript-gde-vzyat-praktiku-zadaniya-podgotovka%2F&text=JavaScript%3A%20%D0%B3%D0%B4%D0%B5%20%D0%B2%D0%B7%D1%8F%D1%82%D1%8C%20%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D1%83%2C%20%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F%2C%20%D0%BF%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0" class="link twitter wpel-icon-right" target="_blank" title="Share on Twitter" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-twitter"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fotus.ru%2Fjournal%2Fjavascript-gde-vzyat-praktiku-zadaniya-podgotovka%2F" class="link linkedin wpel-icon-right" target="_blank" title="LinkedIn" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-linkedin"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fjavascript-gde-vzyat-praktiku-zadaniya-podgotovka%2F&media=https%3A%2F%2Fotus.ru%2Fjournal%2Fwp-content%2Fuploads%2F2022%2F01%2Foj-1080x720-13.png&description=JavaScript%3A%20%D0%B3%D0%B4%D0%B5%20%D0%B2%D0%B7%D1%8F%D1%82%D1%8C%20%D0%BF%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D0%BA%D1%83%2C%20%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F%2C%20%D0%BF%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0" class="link pinterest wpel-icon-right" target="_blank" title="Pinterest" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-pinterest-p"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
</div>
</div>
</div>
<div class="post-nav">
<div class="post previous cf">
<a href="https://otus.ru/journal/dzhavaskript-vse-o-peremennyh/" title="Prev Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-left"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/dzhavaskript-vse-o-peremennyh/" class="image-link" rel="previous" data-wpel-link="internal">
<img width="150" height="100" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20100%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="ДжаваСкрипт: все о переменных" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-12-150x100.png 150w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-12-300x200.png 300w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-12-1024x683.png 1024w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-12-768x512.png 768w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-12-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-12-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-12-370x245.png 370w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-12.png 1080w" data-src="https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-12-150x100.png" data-sizes="(max-width: 150px) 100vw, 150px" title="ДжаваСкрипт: все о переменных" /> </a>
<div class="post-meta">
<span class="label">Prev Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/dzhavaskript-vse-o-peremennyh/" data-wpel-link="internal">ДжаваСкрипт: все о переменных</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/dzhavaskript-vse-o-peremennyh/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2022-01-11T17:43:52+00:00">11 января, 2022</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">7 Mins Read</span>
</div>
</div> </div>
</span>
</div>
<div class="post next cf">
<a href="https://otus.ru/journal/vse-o-servernoj-chasti-v-js-terminologiya-principy-raboty-platformy/" title="Next Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-right"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/vse-o-servernoj-chasti-v-js-terminologiya-principy-raboty-platformy/" class="image-link" rel="next" data-wpel-link="internal">
<img width="150" height="100" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20100%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Все о серверной части в JS: терминология, принципы работы, платформы" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-14-150x100.png 150w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-14-300x200.png 300w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-14-1024x683.png 1024w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-14-768x512.png 768w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-14-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-14-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-14-370x245.png 370w, https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-14.png 1080w" data-src="https://otus.ru/journal/wp-content/uploads/2022/01/oj-1080x720-14-150x100.png" data-sizes="(max-width: 150px) 100vw, 150px" title="Все о серверной части в JS: терминология, принципы работы, платформы" /> </a>
<div class="post-meta">
<span class="label">Next Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/vse-o-servernoj-chasti-v-js-terminologiya-principy-raboty-platformy/" data-wpel-link="internal">Все о серверной части в JS: терминология, принципы работы, платформы</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/vse-o-servernoj-chasti-v-js-terminologiya-principy-raboty-platformy/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2022-01-11T18:05:02+00:00">11 января, 2022</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">8 Mins Read</span>
</div>
</div> </div>
</span>
</div>
</div>
<section class="related-posts grid-3">
<h4 class="section-head"><span class="title">Читать ещё</span></h4>
<div class="ts-row posts cf">
<article class="post col-4">
<a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" title="Уровень готовности CTO к 2026" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Уровень готовности CTO к 2026" title="Уровень готовности CTO к 2026" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" class="post-link" data-wpel-link="internal">Уровень готовности CTO к 2026</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-16T19:50:59+00:00">16 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" title="Новые уроки ноября: только топ-темы по программированию" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Новые уроки ноября: только топ-темы по программированию" title="Новые уроки ноября: только топ-темы по программированию" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" class="post-link" data-wpel-link="internal">Новые уроки ноября: только топ-темы по программированию</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-09T23:24:11+00:00">9 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/schjot-idjot-na-chasy/" title="Счёт идёт на часы" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Счёт идёт на часы" title="Счёт идёт на часы" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-370x245.png 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/schjot-idjot-na-chasy/" class="post-link" data-wpel-link="internal">Счёт идёт на часы</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-10-30T15:04:59+00:00">30 октября, 2025</time>
</div>
</div>
</article >
</div>
</section>
</article> <!-- .the-post -->
</div>
<aside class="col-4 sidebar">
<div class="inner">
<ul>
<li id="search-2" class="widget widget_search"><h5 class="widget-title"><span>Поиск по блогу</span></h5>
<form method="get" class="search-form" action="https://otus.ru/journal/">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Введите запрос и нажмите Enter" value="" name="s" title="Search for:" />
</label>
<button type="submit" class="search-submit"><i class="fa fa-search"></i></button>
</form>
</li>
<li id="tag_cloud-5" class="widget widget_tag_cloud"><h5 class="widget-title"><span>Метки</span></h5><div class="tagcloud"><a href="https://otus.ru/journal/tag/android-2/" class="tag-cloud-link tag-link-74 tag-link-position-1" style="font-size: 12.472222222222pt;" aria-label="Android (34 элемента)" data-wpel-link="internal">Android</a>
<a href="https://otus.ru/journal/tag/c-3/" class="tag-cloud-link tag-link-91 tag-link-position-2" style="font-size: 10.916666666667pt;" aria-label="C (23 элемента)" data-wpel-link="internal">C</a>
<a href="https://otus.ru/journal/tag/c-2/" class="tag-cloud-link tag-link-81 tag-link-position-3" style="font-size: 12.666666666667pt;" aria-label="C# (35 элементов)" data-wpel-link="internal">C#</a>
<a href="https://otus.ru/journal/tag/c/" class="tag-cloud-link tag-link-20 tag-link-position-4" style="font-size: 12.472222222222pt;" aria-label="c++ (34 элемента)" data-wpel-link="internal">c++</a>
<a href="https://otus.ru/journal/tag/computer-science/" class="tag-cloud-link tag-link-209 tag-link-position-5" style="font-size: 15.972222222222pt;" aria-label="computer science (78 элементов)" data-wpel-link="internal">computer science</a>
<a href="https://otus.ru/journal/tag/css/" class="tag-cloud-link tag-link-288 tag-link-position-6" style="font-size: 8.6805555555556pt;" aria-label="CSS (13 элементов)" data-wpel-link="internal">CSS</a>
<a href="https://otus.ru/journal/tag/data-science/" class="tag-cloud-link tag-link-151 tag-link-position-7" style="font-size: 8pt;" aria-label="Data Science (11 элементов)" data-wpel-link="internal">Data Science</a>
<a href="https://otus.ru/journal/tag/devops/" class="tag-cloud-link tag-link-98 tag-link-position-8" style="font-size: 10.138888888889pt;" aria-label="devops (19 элементов)" data-wpel-link="internal">devops</a>
<a href="https://otus.ru/journal/tag/docker/" class="tag-cloud-link tag-link-143 tag-link-position-9" style="font-size: 8.2916666666667pt;" aria-label="Docker (12 элементов)" data-wpel-link="internal">Docker</a>
<a href="https://otus.ru/journal/tag/gamedev/" class="tag-cloud-link tag-link-25 tag-link-position-10" style="font-size: 11.694444444444pt;" aria-label="gamedev (28 элементов)" data-wpel-link="internal">gamedev</a>
<a href="https://otus.ru/journal/tag/hr/" class="tag-cloud-link tag-link-103 tag-link-position-11" style="font-size: 8pt;" aria-label="hr (11 элементов)" data-wpel-link="internal">hr</a>
<a href="https://otus.ru/journal/tag/html/" class="tag-cloud-link tag-link-217 tag-link-position-12" style="font-size: 11.208333333333pt;" aria-label="HTML (25 элементов)" data-wpel-link="internal">HTML</a>
<a href="https://otus.ru/journal/tag/ios/" class="tag-cloud-link tag-link-101 tag-link-position-13" style="font-size: 8.9722222222222pt;" aria-label="iOS (14 элементов)" data-wpel-link="internal">iOS</a>
<a href="https://otus.ru/journal/tag/it/" class="tag-cloud-link tag-link-50 tag-link-position-14" style="font-size: 10.527777777778pt;" aria-label="IT (21 элемент)" data-wpel-link="internal">IT</a>
<a href="https://otus.ru/journal/tag/java/" class="tag-cloud-link tag-link-75 tag-link-position-15" style="font-size: 15.680555555556pt;" aria-label="Java (73 элемента)" data-wpel-link="internal">Java</a>
<a href="https://otus.ru/journal/tag/javascript/" class="tag-cloud-link tag-link-83 tag-link-position-16" style="font-size: 14.319444444444pt;" aria-label="JavaScript (53 элемента)" data-wpel-link="internal">JavaScript</a>
<a href="https://otus.ru/journal/tag/linux/" class="tag-cloud-link tag-link-141 tag-link-position-17" style="font-size: 11.888888888889pt;" aria-label="Linux (29 элементов)" data-wpel-link="internal">Linux</a>
<a href="https://otus.ru/journal/tag/machine-learning/" class="tag-cloud-link tag-link-167 tag-link-position-18" style="font-size: 8.6805555555556pt;" aria-label="Machine Learning (13 элементов)" data-wpel-link="internal">Machine Learning</a>
<a href="https://otus.ru/journal/tag/otus-book/" class="tag-cloud-link tag-link-261 tag-link-position-19" style="font-size: 9.9444444444444pt;" aria-label="otus book (18 элементов)" data-wpel-link="internal">otus book</a>
<a href="https://otus.ru/journal/tag/php/" class="tag-cloud-link tag-link-45 tag-link-position-20" style="font-size: 10.527777777778pt;" aria-label="PHP (21 элемент)" data-wpel-link="internal">PHP</a>
<a href="https://otus.ru/journal/tag/python/" class="tag-cloud-link tag-link-27 tag-link-position-21" style="font-size: 16.944444444444pt;" aria-label="Python (99 элементов)" data-wpel-link="internal">Python</a>
<a href="https://otus.ru/journal/tag/qa/" class="tag-cloud-link tag-link-155 tag-link-position-22" style="font-size: 11.402777777778pt;" aria-label="qa (26 элементов)" data-wpel-link="internal">qa</a>
<a href="https://otus.ru/journal/tag/sql/" class="tag-cloud-link tag-link-38 tag-link-position-23" style="font-size: 12.861111111111pt;" aria-label="SQL (37 элементов)" data-wpel-link="internal">SQL</a>
<a href="https://otus.ru/journal/tag/team-lead/" class="tag-cloud-link tag-link-364 tag-link-position-24" style="font-size: 9.9444444444444pt;" aria-label="team lead (18 элементов)" data-wpel-link="internal">team lead</a>
<a href="https://otus.ru/journal/tag/unity/" class="tag-cloud-link tag-link-24 tag-link-position-25" style="font-size: 8pt;" aria-label="unity (11 элементов)" data-wpel-link="internal">unity</a>
<a href="https://otus.ru/journal/tag/algoritmy/" class="tag-cloud-link tag-link-30 tag-link-position-26" style="font-size: 9.9444444444444pt;" aria-label="Алгоритмы (18 элементов)" data-wpel-link="internal">Алгоритмы</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh/" class="tag-cloud-link tag-link-40 tag-link-position-27" style="font-size: 10.138888888889pt;" aria-label="Базы данных (19 элементов)" data-wpel-link="internal">Базы данных</a>
<a href="https://otus.ru/journal/tag/matematika/" class="tag-cloud-link tag-link-44 tag-link-position-28" style="font-size: 10.916666666667pt;" aria-label="Математика (23 элемента)" data-wpel-link="internal">Математика</a>
<a href="https://otus.ru/journal/tag/arhitektura-po/" class="tag-cloud-link tag-link-10 tag-link-position-29" style="font-size: 9.4583333333333pt;" aria-label="архитектура ПО (16 элементов)" data-wpel-link="internal">архитектура ПО</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh-2/" class="tag-cloud-link tag-link-251 tag-link-position-30" style="font-size: 10.138888888889pt;" aria-label="базы данных (19 элементов)" data-wpel-link="internal">базы данных</a>
<a href="https://otus.ru/journal/tag/vebinar/" class="tag-cloud-link tag-link-201 tag-link-position-31" style="font-size: 13.930555555556pt;" aria-label="вебинар (48 элементов)" data-wpel-link="internal">вебинар</a>
<a href="https://otus.ru/journal/tag/dajdzhest/" class="tag-cloud-link tag-link-308 tag-link-position-32" style="font-size: 10.722222222222pt;" aria-label="дайджест (22 элемента)" data-wpel-link="internal">дайджест</a>
<a href="https://otus.ru/journal/tag/zapis-vebinara/" class="tag-cloud-link tag-link-226 tag-link-position-33" style="font-size: 14.902777777778pt;" aria-label="запись вебинара (61 элемент)" data-wpel-link="internal">запись вебинара</a>
<a href="https://otus.ru/journal/tag/zapis-uroka/" class="tag-cloud-link tag-link-272 tag-link-position-34" style="font-size: 16.069444444444pt;" aria-label="запись урока (80 элементов)" data-wpel-link="internal">запись урока</a>
<a href="https://otus.ru/journal/tag/informacionnaya-bezopasnost/" class="tag-cloud-link tag-link-232 tag-link-position-35" style="font-size: 10.138888888889pt;" aria-label="информационная безопасность (19 элементов)" data-wpel-link="internal">информационная безопасность</a>
<a href="https://otus.ru/journal/tag/karera-v-it/" class="tag-cloud-link tag-link-292 tag-link-position-36" style="font-size: 9.9444444444444pt;" aria-label="карьера в IT (18 элементов)" data-wpel-link="internal">карьера в IT</a>
<a href="https://otus.ru/journal/tag/podborka/" class="tag-cloud-link tag-link-7 tag-link-position-37" style="font-size: 12.666666666667pt;" aria-label="подборка (35 элементов)" data-wpel-link="internal">подборка</a>
<a href="https://otus.ru/journal/tag/podborka-statej/" class="tag-cloud-link tag-link-219 tag-link-position-38" style="font-size: 15.777777777778pt;" aria-label="подборка статей (75 элементов)" data-wpel-link="internal">подборка статей</a>
<a href="https://otus.ru/journal/tag/programmirovanie/" class="tag-cloud-link tag-link-65 tag-link-position-39" style="font-size: 22pt;" aria-label="программирование (332 элемента)" data-wpel-link="internal">программирование</a>
<a href="https://otus.ru/journal/tag/proekt/" class="tag-cloud-link tag-link-321 tag-link-position-40" style="font-size: 11.888888888889pt;" aria-label="проект (29 элементов)" data-wpel-link="internal">проект</a>
<a href="https://otus.ru/journal/tag/proektnaya-rabota/" class="tag-cloud-link tag-link-310 tag-link-position-41" style="font-size: 11.597222222222pt;" aria-label="проектная работа (27 элементов)" data-wpel-link="internal">проектная работа</a>
<a href="https://otus.ru/journal/tag/seti/" class="tag-cloud-link tag-link-181 tag-link-position-42" style="font-size: 12.958333333333pt;" aria-label="сети (38 элементов)" data-wpel-link="internal">сети</a>
<a href="https://otus.ru/journal/tag/testirovanie/" class="tag-cloud-link tag-link-69 tag-link-position-43" style="font-size: 13.930555555556pt;" aria-label="тестирование (48 элементов)" data-wpel-link="internal">тестирование</a>
<a href="https://otus.ru/journal/tag/upravlenie-komandoj/" class="tag-cloud-link tag-link-63 tag-link-position-44" style="font-size: 11.694444444444pt;" aria-label="управление командой (28 элементов)" data-wpel-link="internal">управление командой</a>
<a href="https://otus.ru/journal/tag/habr-2/" class="tag-cloud-link tag-link-203 tag-link-position-45" style="font-size: 13.930555555556pt;" aria-label="хабр (48 элементов)" data-wpel-link="internal">хабр</a></div>
</li>
</ul>
</div>
</aside>
</div> <!-- .ts-row -->
</div> <!-- .main -->
<footer class="main-footer dark bold">
<section class="lower-footer cf">
<div class="wrap">
<div class="links">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
<p class="copyright"> © 2015-2026 OTUS </p>
<div class="to-top">
<a href="#" class="back-to-top"><i class="fa fa-angle-up"></i> Top</a>
</div>
</div>
</section>
</footer>
</div> <!-- .main-wrap -->
<div class="mobile-menu-container off-canvas" id="mobile-menu">
<a href="#" class="close"><i class="fa fa-times"></i></a>
<div class="logo">
</div>
<ul class="mobile-menu"></ul>
</div>
<div class="search-modal-wrap">
<div class="search-modal-box" role="dialog" aria-modal="true">
<form method="get" class="search-form" action="https://otus.ru/journal/">
<input type="search" class="search-field" name="s" placeholder="Search..." value="" required />
<button type="submit" class="search-submit visuallyhidden">Submit</button>
<p class="message">
Type above and press <em>Enter</em> to search. Press <em>Esc</em> to cancel. </p>
</form>
</div>
</div>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/js/url-span.js" id="wbcr-comments-plus-url-span-js"></script>
<script type="text/javascript" id="ez-toc-scroll-scriptjs-js-extra">
/* <![CDATA[ */
var eztoc_smooth_local = {"scroll_offset":"30"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/smooth_scroll.min.js" id="ez-toc-scroll-scriptjs-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/js-cookie/js.cookie.min.js" id="ez-toc-js-cookie-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/sticky-kit/jquery.sticky-kit.min.js" id="ez-toc-jquery-sticky-kit-js"></script>
<script type="text/javascript" id="ez-toc-js-js-extra">
/* <![CDATA[ */
var ezTOC = {"smooth_scroll":"1","visibility_hide_by_default":"","scroll_offset":"30","fallbackIcon":"<span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span>"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/front.min.js" id="ez-toc-js-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/custom-script.js" id="custom-script-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/magnific-popup.js" id="magnific-popup-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.fitvids.js" id="jquery-fitvids-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/imagesloaded.min.js" id="imagesloaded-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/object-fit-images.js" id="object-fit-images-js"></script>
<script type="text/javascript" id="contentberg-theme-js-extra">
/* <![CDATA[ */
var Bunyad = {"custom_ajax_url":"\/journal\/javascript-gde-vzyat-praktiku-zadaniya-podgotovka\/"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theme.js" id="contentberg-theme-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theia-sticky-sidebar.js" id="theia-sticky-sidebar-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.slick.js" id="jquery-slick-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jarallax.js" id="jarallax-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/masonry.min.js" id="masonry-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.masonry.min.js" id="jquery-masonry-js"></script>
</body>
</html>
<!-- Cache served by breeze CACHE - Last modified: Mon, 09 Mar 2026 15:47:49 GMT -->