Какое значение примет result?
Anonymous Quiz
13%
"undefined"
59%
"string"
21%
"number"
3%
"1"
3%
"null"
Почему важен порядок добавления скриптов на страницу?
Библиотеки следует добавлять раньше, чем скрипты, которые их используют
Например, следующий фрагмент приведет к ошибке «Uncaught ReferenceError: jQuery is not defined»
👉 @frontendInterview
Библиотеки следует добавлять раньше, чем скрипты, которые их используют
Например, следующий фрагмент приведет к ошибке «Uncaught ReferenceError: jQuery is not defined»
<noscript src="js/jquery.easing.js"></noscript>
<noscript src="js/jquery.js"></noscript>👉 @frontendInterview
Как проверить, что свойство существует в объекте?
// проверяем наличие свойства в объекте и его прототипах
// проверяем свойство только в конкретном объекте
👉 @frontendInterview
// проверяем наличие свойства в объекте и его прототипах
if ('someProperty' in object) {
// делаем что-то
}
// проверяем свойство только в конкретном объекте
if (object.hasOwnProperty('someProperty')) {
// делаем что-то
}👉 @frontendInterview
Full-Stack React, TypeScript, and Node (2020)
React устанавливает стандарт для создания высокопроизводительных клиентских веб-приложений. Node.js используется на тысячах веб-сайтов, в то время как GraphQL становится стандартным способом для крупных веб-сайтов предоставлять данные и услуги своим пользователям. Все вместе эти технологии, усиленные возможностями TypeScript, становятся передовым стеком для разработки веб-приложений.
👉 @frontendInterview
React устанавливает стандарт для создания высокопроизводительных клиентских веб-приложений. Node.js используется на тысячах веб-сайтов, в то время как GraphQL становится стандартным способом для крупных веб-сайтов предоставлять данные и услуги своим пользователям. Все вместе эти технологии, усиленные возможностями TypeScript, становятся передовым стеком для разработки веб-приложений.
👉 @frontendInterview
Противоположности притягиваются
Создайте функцию, которая принимает два числа. Если одно из чисел четное, а другое нечетное, то функция должна вернуть true. Иначе false.
👉 @frontendInterview
Создайте функцию, которая принимает два числа. Если одно из чисел четное, а другое нечетное, то функция должна вернуть true. Иначе false.
👉 @frontendInterview
📌 Идёт прием заявок на IV Всероссийский конкурс «Программируй будущее»
На кону — призовой фонд в размере более 1 000 000 рублей и возможность заключить контракт со специальным партнером конкурса мультиплатформенным оператором Триколором.
Задача участников — придумать и реализовать идею приложения для отечественной платформы StingrayTV. Подробнее о технологии в Видеогайде.
🏆 Призовой фонд:
1 место – 600 000 ₽
2 место – 400 000 ₽
3 место – 200 000 ₽
🔥 Кроме того, все финалисты получат шанс воплотить свой проект на многомиллионную аудиторию. Эксперты Триколора оценят востребованность представленных в финале работ для клиентов оператора и могут предложить авторам лучших заявок коммерческий контракт на реализацию приложения.
✉️ Есть вопросы? Пишите на contest@gs-labs.ru или @GSLabsContestsBot
📃 Полные условия и регистрация на сайте конкурса contest.gs-labs.ru
📆 Прием заявок до 11 июля 2022 года
🙌 Участие бесплатное
Денежные призы до вычета НДФЛ.
На кону — призовой фонд в размере более 1 000 000 рублей и возможность заключить контракт со специальным партнером конкурса мультиплатформенным оператором Триколором.
Задача участников — придумать и реализовать идею приложения для отечественной платформы StingrayTV. Подробнее о технологии в Видеогайде.
🏆 Призовой фонд:
1 место – 600 000 ₽
2 место – 400 000 ₽
3 место – 200 000 ₽
🔥 Кроме того, все финалисты получат шанс воплотить свой проект на многомиллионную аудиторию. Эксперты Триколора оценят востребованность представленных в финале работ для клиентов оператора и могут предложить авторам лучших заявок коммерческий контракт на реализацию приложения.
✉️ Есть вопросы? Пишите на contest@gs-labs.ru или @GSLabsContestsBot
📃 Полные условия и регистрация на сайте конкурса contest.gs-labs.ru
📆 Прием заявок до 11 июля 2022 года
🙌 Участие бесплатное
Денежные призы до вычета НДФЛ.
Проверка строки на палиндром
Напишите функцию, которая на вход принимает строку, состоящую из букв нижнего регистра, а на выход возвращает boolean, который отвечает, является ли данная строка палиндромом или нет.
Палиндром — слово или текст, одинаково читающееся в обоих направлениях.
1. Заводим переменную для хранения результата.
2. Проходим циклом по строке с конца, каждый раз конкатенируя текущую букву c ранее заведенной переменной.
3. Сравниваем входную строку с перевернутой.
👉 @frontendInterview
Напишите функцию, которая на вход принимает строку, состоящую из букв нижнего регистра, а на выход возвращает boolean, который отвечает, является ли данная строка палиндромом или нет.
Палиндром — слово или текст, одинаково читающееся в обоих направлениях.
1. Заводим переменную для хранения результата.
2. Проходим циклом по строке с конца, каждый раз конкатенируя текущую букву c ранее заведенной переменной.
3. Сравниваем входную строку с перевернутой.
👉 @frontendInterview
Какое значение примет result?
Anonymous Quiz
5%
[1, 2 ,3 ,4]
14%
[1, 2, 3]
11%
TypeError
3%
[4, 5, 6]
67%
[1, 2, 3, 4, 5, 6]
Найти ближайшее значение в бинарном дереве
Напишите функцию, которая принимает два аргумента — бинарное дерево и значение в виде числа, а возвращает ближайшее значение, найденное в бинарном дереве.
Node = { value: number | null, left: Node | null, right: Node | null }
Зная свойство сбалансированного бинарного дерева, где слева находятся все значения нод меньше текущей, а справа равные или больше по значению, мы можем в лучшем случае откидывать каждый раз половину дерева.
В данном решении мы идем рекурсивным путём по нодам, записывая и сравнивая разницу со значением из аргумента. Если значение равно нужному, значит мы нашли нужную нам ноду, а иначе мы смотрим, является ли текущее значение ноды меньше или больше того, которое мы ищем. В зависимости от этого мы продолжаем рекурсивно спускаться в нужном нам направлении, обновляя разницу, до тех пор пока не упремся в конец ветки.
👉 @frontendInterview
Напишите функцию, которая принимает два аргумента — бинарное дерево и значение в виде числа, а возвращает ближайшее значение, найденное в бинарном дереве.
Node = { value: number | null, left: Node | null, right: Node | null }
Зная свойство сбалансированного бинарного дерева, где слева находятся все значения нод меньше текущей, а справа равные или больше по значению, мы можем в лучшем случае откидывать каждый раз половину дерева.
В данном решении мы идем рекурсивным путём по нодам, записывая и сравнивая разницу со значением из аргумента. Если значение равно нужному, значит мы нашли нужную нам ноду, а иначе мы смотрим, является ли текущее значение ноды меньше или больше того, которое мы ищем. В зависимости от этого мы продолжаем рекурсивно спускаться в нужном нам направлении, обновляя разницу, до тех пор пока не упремся в конец ветки.
👉 @frontendInterview
Как работает «сборщик мусора» в JS?
Основной алгоритм сборки мусора называется «алгоритм пометок» (от англ. «mark-and-sweep»).
Согласно этому алгоритму, сборщик мусора регулярно выполняет следующие шаги:
- Сборщик мусора «помечает» (запоминает) все корневые объекты.
- Затем он идёт по ним и «помечает» все ссылки из них.
- Затем он идёт по отмеченным объектам и отмечает их ссылки. Все посещённые объекты запоминаются, чтобы в будущем не посещать один и тот же объект дважды.
…И так далее, пока не будут посещены все достижимые (из корней) ссылки.
- Все непомеченные объекты удаляются.
👉 @frontendInterview
Основной алгоритм сборки мусора называется «алгоритм пометок» (от англ. «mark-and-sweep»).
Согласно этому алгоритму, сборщик мусора регулярно выполняет следующие шаги:
- Сборщик мусора «помечает» (запоминает) все корневые объекты.
- Затем он идёт по ним и «помечает» все ссылки из них.
- Затем он идёт по отмеченным объектам и отмечает их ссылки. Все посещённые объекты запоминаются, чтобы в будущем не посещать один и тот же объект дважды.
…И так далее, пока не будут посещены все достижимые (из корней) ссылки.
- Все непомеченные объекты удаляются.
👉 @frontendInterview