frontendinterview | Unsorted

Telegram-канал frontendinterview - Frontend Interview - собеседования по Javascript / Html / Css

12730

Канал для подготовки к собеседованиям по фронтенду Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront Менеджер по рекламе: @Spiral_Yuri Купить рекламу: https://telega.in/c/frontendinterview Номер заявления в РКН № 4959045795

Subscribe to a channel

Frontend Interview - собеседования по Javascript / Html / Css

Что нужно сделать, чтобы поменять данные в хранилище redux?

Чтобы изменить данные, нужно выполнить несколько шагов: создать действие (action), определить редюсер (reducer), который будет обрабатывать это действие и обновлять состояние, и затем отправить действие (dispatch action) в хранилище. Рассмотрим эти шаги более подробно.

Шаги для изменения данных в хранилище:

Создание действия (action)
Это объект, который описывает, что должно произойти. Он должен содержать как минимум свойство type, которое указывает на тип действия. Дополнительно можно добавить любые данные, которые нужны для обновления состояния.

// actions.js
export const increment = () => ({
type: 'INCREMENT',
});

export const decrement = () => ({
type: 'DECREMENT',
});

export const setValue = (value) => ({
type: 'SET_VALUE',
payload: value,
});


Создание редюсера (reducer)

Это чистая функция, которая принимает текущее состояние и действие, а затем возвращает новое состояние. Редюсер должен быть чистой функцией, то есть не изменять переданные аргументы и не иметь побочных эффектов.
// reducer.js
const initialState = {
count: 0,
};

const counterReducer = (state = initialState, action) => {
switch (action.type) {
case 'INCREMENT':
return {
...state,
count: state.count + 1,
};
case 'DECREMENT':
return {
...state,
count: state.count - 1,
};
case 'SET_VALUE':
return {
...state,
count: action.payload,
};
default:
return state;
}
};

export default counterReducer;


Создание хранилища (store)
Создается с использованием функции createStore из библиотеки Redux. Хранилище объединяет редюсеры и обеспечивает централизованное управление состоянием.
// store.js
import { createStore } from 'redux';
import counterReducer from './reducer';

const store = createStore(counterReducer);

export default store;


Подключение Redux к React (или другому фреймворку)
Нужно подключить его через провайдер (Provider), который делает хранилище доступным для всех компонентов в дереве компонентов.
// index.js
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import App from './App';
import store from './store';

ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root')
);


Использование состояния и отправка действий в компонентах

Для получения состояния из хранилища и отправки действий используются хуки useSelector и useDispatch из библиотеки react-redux.
// App.js
import React from 'react';
import { useSelector, useDispatch } from 'react-redux';
import { increment, decrement, setValue } from './actions';

const App = () => {
const count = useSelector(state => state.count);
const dispatch = useDispatch();

return (
<div>
<h1>Counter: {count}</h1>
<button onClick={() => dispatch(increment())}>Increment</button>
<button onClick={() => dispatch(decrement())}>Decrement</button>
<button onClick={() => dispatch(setValue(10))}>Set to 10</button>
</div>
);
};

export default App;


👉 @frontendInterview

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Testing 1-2-3

Напишите функцию, которая принимает массив строк и возвращает каждую строку, дополненную нужным номером
Нумерация начинается с 1. Обратите внимание на двоеточие и пробел между ними

Пример:

[] --> []
["a", "b", "c"] --> ["1: a", "2: b", "3: c"]


👉 @frontendInterview

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Концептуальные офисы в БЦ RUNOVSKY 14

Концептуальное офисное пространство для работы, расположенное в историческом центре Москвы в районе Замоскворечье. Проект имеет свой неповторимый характер. Переосмысление стиля ар-деко нашло свое отражение в черных фасадах с арочным остеклением.

БЦ находится в 2 минутах ходьбы от метро "Новокузнецкая", через которую проходят основные пешие маршруты до Третьяковской галереи, парка Зарядья и Московкского Кремля.

Проектом предусмотрено большое количество планировочных решений офисов площадью от 27 м2 с возможностью объединения смежных помещений.

Тех, кто решит купить лот в "RUNOVSKY 14", ждет премиальный сервис, безопасность и комфортная атмосфера.

Перейти на сайт

#реклама
зиккурат.рф

О рекламодателе

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

📶 С 1 декабря для граждан РФ открыт доступ к платным материалам по программированию

Вот отсортированные базы с тонной материала(книги, курсы, ресурсы и гайды). Выбирай своё направление::

👩‍💻 Frontend 👩‍💻 PHP
⚙️ Backend 👩‍💻 Моб. Dev
📱 GitHub 👩‍💻 GameDev
🤓 Всё айти 👩‍💻 DevOps
👩‍💻 Python 🖥 Data Science
👩‍💻 Java 🐞 Тестирование
👩‍💻 C# 🤔 Хакинг & ИБ
👩‍💻 С/С++ 📱 Маркетинг
🖥 SQL 🖥 Дизайн
👩‍💻 Golang 👣 Rust

Скачивать ничего не нужно — все выложили в Telegram с доступом по ссылке

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Ищем новичков во фронтенд-разработке и вёрстке сайтов.

Хотим показать, как получить реальный опыт в разработке сайтов и веб-приложений.

А именно:

- Сверстать веб-сайт на HTML + CSS;
- Реализовать функционал на JavaScript;
- Пощупать фронтенд-фреймворк Angular;
- Подключить Backend и загрузить сайт на хостинг.

Чтобы в итоге ты своими руками разработал качественный сайт, который не стыдно добавить в портфолио или продать.

Такой опыт можно получить на бесплатном практикуме уже завтра с поддержкой от опытных кураторов на каждом этапе.

👉 Приходи на бесплатное обучение и зови с собой друзей

Бонусом получишь гайд для поиска работы и заказов на фронтенд-разработку.

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Собеседование — битва к которой нужно подготовиться

Ты ищешь первую работу или решил сменить работу? Поздравляю! Впереди тебя ждет карусель интересных приключений: от собеседований и до ожидания обратной связи. Я провел немало собеседований, и у многих кандидатов есть одна общая ошибка — отсутствие подготовки. Они идут напролом, что заслуживает уважения, но можно облегчить себе путь, если подготовиться заранее. Ниже я опишу простые способы подготовки. Однако помни: не стоит затягивать с выходом на собеседования. Подготовка не должна превращаться в бесконечное "а вот этот вопрос изучу поглубже, этот курс пройду, еще видео посмотрю". Не превращайся в "вечного студента". Скорее всего, все нужные знания у тебя уже есть; главное — их УПАКОВАТЬ (как бы инфоцыгански это ни звучало).

👉 @frontendInterview

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Как клонировать репозиторий на GitHub?

Чтобы клонировать репозиторий, нужно установить на компьютер Git CLI. Как это сделать описано в статьях «Системы управления версиями» и «Git CLI».

Выполните в терминале команду:

git clone <ссылка на репозиторий>


Чтобы найти ссылку на репозиторий, выберите вкладку «<> Code» в репозитории на GitHub. Когда переходите к нужному проекту, эта вкладка открывается по умолчанию. Найдите в основной части вкладки аккордеон, который тоже называется «<> Code» и разверните его. В развернувшейся панели по умолчанию будет выбрана «Local». В ней выберите формат ссылки.

Первые «HTTPS» и «SSH» — это ссылки на репозиторий, использование которых подходит для стандартной команды клонирования, описанной выше. SSH ссылка будет работать в том случае, если настроили доступ по SSH. Для этого надо установить публичный ключ в настройках профиля на GitHub. Подробнее в рецепте «Как настроить доступ по SSH на GitHub». Третий формат — «GitHub CLI». Он набран в виде команды, которая будет работать, если у вас установлен GitHub CLI.

После выбора скопируйте из поля нужную ссылку или команду. Поле расположено после типов ссылок.

После выполнения команды git clone в вашей текущей папке появится папка с тем же именем, что и сам репозиторий. Если хотите указать другую папку для репозитория, укажите в конце команды для клонирования её название:

👉 @frontendInterview

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

❓ Хотите создать свою первую веб-страницу с нуля? Без магии и кодерских заклинаний — только HTML, CSS и ваши идеи!

👉 На открытом вебинаре «Создаем свою первую страницу: HTML и CSS» вы узнаете, как работают основные элементы веб-разработки: от структуры HTML до современной стилизации с CSS.

Мы разберем шаги, которые помогают создать не просто страницу, а основу для вашего портфолио или будущего сайта!

💪 Это ваш шанс научиться веб-разработке, используя простой и мощный инструментарий. Уже на вебинаре вы создадите свою первую веб-страницу — с текстом, картинками и уникальным дизайном!

⏰ Регистрируйтесь на открытый урок 3 декабря в 19:00 мск! Урок проходит в преддверии старта курса «Fullstack Developer», участники вебинара получат скидку на обучение.

👉 Для участия зарегистрируйтесь: https://vk.cc/cFAkGE

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru erid 2SDnjePUVLF

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Гайд «Как собственнику управлять отделом маркетинга?»

Одна из главных ошибок собственников бизнеса — это попытка быть везде и сразу. Как учит любой успешный инвестор, важно не работать на деньги, а заставлять их работать на тебя. То же самое касается и маркетинга. Если вы думаете, что можете взять на себя роль маркетолога и управлять компанией одновременно — вы теряете время и деньги💰. Маркетинг — это не про удачу или интуицию. Это система, построенная на знаниях, опыте и анализе. Собственник должен концентрироваться на стратегических решениях, а не тонуть в операционных задачах отдела маркетинга.

Скачайте наш бесплатный гайд, чтобы узнать, как создать такой маркетинговый отдел, который будет работать на вас, принося результат, а не отвлекая от главного✅.

Скачать

#реклама 16+
cmonster.io

О рекламодателе

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

JavaScript From Zero to Hero

Cамое полное руководство на свете. Освойте современный JavaScript, даже если вы новичок в программировании

👉 @frontendInterview

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

backface-visibility

Свойство backface-visibility управляет видимостью задней части элемента, если тот развёрнут относительно пользователя с помощью свойства transform. Это нужно только для 3D-трансформаций, для 2D-трансформаций свойство не имеет эффекта. Оно используется для создания более реалистичных 3D-сцен, скрывая изнанку объектов при их вращении.

Есть всего два возможных значения:
- visible — значение по умолчанию, задняя сторона элемента видна. Например, при вращении элемента на 180 градусов его задняя часть будет отображаться;
- hidden — задняя сторона элемента не видна. Это полезно, когда вы хотите скрыть обратную сторону элемента при его вращении, что создаёт иллюзию, будто элемент исчезает, когда повёрнут спиной.

Пример
Задняя сторона будет скрыта:

.element {
transform: rotateY(180deg);
backface-visibility: hidden;
}


👉 @frontendInterview

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Обучение на Frontend-разработчика. С нуля за 9 месяцев.

На курсе вы получите все навыки, необходимые для старта в профессии Frontend-разработчика.
Персональный наставник middle/senior уровня.
14 проектов, лайвкодинг, хакатоны, репетиции техсобеседования.
Освоите JavaScript, React, TypeScript
Официальный диплом и сертификат школы.
Поддержка наставника по JS в течение 3-х месяцев после диплома.
Гарантия трудоустройства. Если вы не устроитесь, вернём деньги. Это закреплено в договоре п. 6.14
С 9 по 30 ноября 2024 г. скидка 40% на все программы Result School

Узнать больше

#реклама 16+
result.school

О рекламодателе

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Выразительный React: интерактивность на клиенте

В статье описан один из стандартных подходов к созданию React-приложения.
Эта статья — продолжение серии «Выразительный React». В предыдущей статье «Выразительный React: простые компоненты на сервере» была показана техника SSR (Server-Side Rendering). В ней разбирались определения, которые пригодятся при чтении этой статьи.

👉 @frontendInterview

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

👉 @frontendInterview

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Что лучше использовать div или React.Fragment?

React.Fragment

Позволяет группировать несколько дочерних элементов без добавления дополнительного узла в DOM. Это полезно, когда вам нужно вернуть несколько элементов из компонента, но вы не хотите добавлять лишние элементы, такие как <div>, в структуру DOM.

Плюсы:
- Чистый DOM
Фрагменты не создают дополнительных элементов в DOM, что помогает избежать ненужных вложенных структур и упрощает разметку.
- Производительность
Избегание дополнительных узлов может немного улучшить производительность, так как уменьшается количество элементов, которые браузер должен обрабатывать и рендерить.
- Логическая группировка
Использование фрагментов делает код более семантичным и чистым, показывая, что элементы логически связаны без необходимости добавлять новый HTML-элемент.

Пример использования
Элемент <div> добавляет новый узел в DOM и используется для группировки других элементов. Это стандартный блоковый элемент в HTML, который часто используется для создания контейнеров и структурирования страницы.

import React from 'react';

function List() {
return (
<React.Fragment>
<li>Элемент 1</li>
<li>Элемент 2</li>
<li>Элемент 3</li>
</React.Fragment>
);
}

// С использованием короткого синтаксиса:
function List() {
return (
<>
<li>Элемент 1</li>
<li>Элемент 2</li>
<li>Элемент 3</li>
</>
);
}


Плюсы`<div>`:
- Стилизация и атрибуты
<div> позволяет легко добавлять стили, классы и атрибуты, что делает его полезным для создания структурированных и стилизованных контейнеров.

- Макет и разметка
<div> подходит для создания блоков, секций и контейнеров, которые требуют определенной разметки или стилей.

Пример использования
import React from 'react';

function Container() {
return (
<div className="container">
<p>Это первый параграф</p>
<p>Это второй параграф</p>
</div>
);
}


👉 @frontendInterview

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Бесплатный курс по дизайну в FIGMA

Онлайн-программа с наставником и чатом.

Осторожно! 80% практики.

По результату обучения у вас будет портфолио из нескольких работ.
Сертификат о прохождении курса.
Возможность пройти полное обучение и получить гарантированное трудоустройство!

Учитесь дизайну у профессионалов.

Переходи по кнопки: "Узнать больше" и начинай свое обучение.
Доступ 0 руб.

Узнать больше

#реклама 16+
yudaevschool24.online

О рекламодателе

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Введение в веб-разработку на языке JavaScript: учебное пособие

В учебно-методическом пособии рассматриваются фундаментальные основы и прикладные аспекты использования языка JavaScript для клиентской и серверной разработки веб-ресурсов. Проанализированы основные тенденции развития наиболее распространённого языка клиентского веб-программирования в свете внедрения новых стандартов ECMAScript.

👉 @frontendInterview

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Как проверить, что поле является массивом ?

Для проверки, является ли поле массивом, можно использовать несколько методов. Самый распространенный и рекомендуемый способ — это использование метода Array.isArray(). Этот метод проверяет, является ли переданное значение массивом, и возвращает true или false.

Пример

const arr = [1, 2, 3];
const notArr = "Hello";

console.log(Array.isArray(arr)); // true
console.log(Array.isArray(notArr)); // false


Альтернативные методы

- Проверка с помощью instanceof:
Этот метод проверяет, является ли объект экземпляром конструктора Array.
      const arr = [1, 2, 3];
const notArr = "Hello";

console.log(arr instanceof Array); // true
console.log(notArr instanceof Array); // false



- Проверка с помощью конструктора Object.prototype.toString.call():
Этот метод проверяет тип объекта, возвращаемый методом
Object.prototype.toString.

const arr = [1, 2, 3];
const notArr = "Hello";

console.log(Object.prototype.toString.call(arr) === '[object Array]'); // true
console.log(Object.prototype.toString.call(notArr) === '[object Array]'); // false



Сравнение методов

Array.isArray():
- Является самым современным и предпочтительным методом.
- Поддерживается всеми современными браузерами.
- Легко читается и понимается.

instanceof:
- Работает корректно в большинстве случаев.
  - Может давать неверные результаты, если массив создан в другом контексте (например, в iframe).

- Object.prototype.toString.call():
- Универсальный метод для проверки различных типов объектов.
- Меньше подвержен проблемам с контекстом, но выглядит менее читаемым по сравнению с Array.isArray().


👉 @frontendInterview

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Правда...

👉 @frontendInterview

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Пишите код быстрее и оставляйте больше времени на творчество вместе с AI-ассистентом разработчика

Устали от рутины? Отдайте ее AI!
Заходите на платформу GitVerse и пишите код вместе с AI-ассистентом GigaCode. Он поддерживает более 35 языков, умеет анализировать контекст, дописывать строки и функции в автоматическом и ручном режимах, а еще — писать код по комментариям и делать рефакторинг с помощью коротких команд. Всего за пару минут AI-помощник может оценить проект и трудозатраты на его создание.

Внутри AI есть функция CodeChat — с ней можно оптимизировать или отрефакторить имеющийся код, сгенерировать тесты и документацию, а также объяснить фрагмент кода. Задавать вопросы можно и по всему открытому файлу, и по конкретному фрагменту — просто выделите его в редакторе и сформулируйте запрос к CodeChat.

Хорошие новости — недавно GigaCode обновился и стал еще лучше справляться с задачами разработки: теперь наиболее вероятные продолжения кода будут генерироваться с учётом контекста всего проекта. Не забудьте обновить плагин GigaCode :)

Зарегистрироваться на GitVerse.

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Открытый вебинар "Создание веб-компонентов и использование Shadow DOM"

🎁Полный обзор веб-компонентов: создание независимых, повторно используемых элементов интерфейса на чистом JavaScript и Shadow DOM

На практике изучите:

- Изоляция стилей и поведения, создание защищенных компонентов.

- Примеры создания интерфейсов, работающих с нативным JavaScript и интегрируемых с фреймворками, такими как React и Vue, где уже есть поддержка для веб-компонентов.

Что узнают участники?

✅ Как создать нативные веб-компоненты с использованием JavaScript и Shadow DOM — мощные, инкапсулированные элементы для долгосрочной поддержки.

🤖 Методы работы с Shadow DOM — независимость от остального кода и адаптация под любые задачи

❓ Почему веб-компоненты — это фундамент для универсальных интерфейсов, и как фреймворки уже используют эти принципы, давая возможность легко внедрять и масштабировать элементы.

🔥Регистрируйтесь на урок 4 декабря, в 20:00 мск и получите скидку на большое обучение «JavaScript Developer. Professional»: https://vk.cc/cFDEU6


Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576 erid 2SDnjerK15V

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Как снизить затраты на разработку UI? / Как масштабировать изменения в UI без лишних затрат? / Как экономить на разработке UI без потери качества?

Узнайте 18 декабря на бесплатном вебинаре СберТеха «UI-выгорание, или что не так с бренд-дизайном приложений».

Эксперты СберТеха поделятся опытом собственных проектов и расскажут, как создали решение, которое в разы ускоряет разработку и масштабирование изменений UI.

Platform V One UI — библиотека UI-компонентов с трехуровневой дизайн-токен системой, а также low-code инструментами стилизации и генерации UI-форм и сценариев.

Также на вебинаре узнаете, какие инструменты Platform V One UI доступны в open source, и увидите демо продукта.

Регистрируйтесь и приходите!

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Как можно скопировать объект в JS?

Есть несколько способов скопировать объект. Важно понимать разницу между поверхностным (shallow) и глубоким (deep) копированием. Поверхностная копия копирует только сам объект и его непосредственные свойства, в то время как глубокая копия копирует весь объект и все его вложенные объекты.

Поверхностное копирование


1. Метод Object.assign копирует все перечисляемые свойства из одного или более исходных объектов в целевой объект.

const original = { a: 1, b: 2 };
const copy = Object.assign({}, original);
console.log(copy); // { a: 1, b: 2 }


2. Оператор расширения (...) также можно использовать для создания поверхностной копии объекта.
const original = { a: 1, b: 2 };
const copy = { ...original };
console.log(copy); // { a: 1, b: 2 }


Глубокое копирование

1. JSON.parse и JSON.stringify
Этот метод преобразует объект в строку JSON, а затем обратно в объект, создавая тем самым глубокую копию. Однако он имеет ограничения, такие как невозможность копирования функций и потеря undefined значений.
const original = { a: 1, b: { c: 2 } };
const copy = JSON.parse(JSON.stringify(original));
console.log(copy); // { a: 1, b: { c: 2 } }


2. Рекурсивная функция
Можно написать свою рекурсивную функцию для глубокого копирования объекта.
function deepCopy(obj) {
if (obj === null || typeof obj !== 'object') {
return obj;
}

if (Array.isArray(obj)) {
const arrCopy = [];
for (let i = 0; i < obj.length; i++) {
arrCopy[i] = deepCopy(obj[i]);
}
return arrCopy;
}

const copy = {};
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
copy[key] = deepCopy(obj[key]);
}
}
return copy;
}

const original = { a: 1, b: { c: 2 } };
const copy = deepCopy(original);
console.log(copy); // { a: 1, b: { c: 2 } }


3. Библиотеки для глубокого копирования
Существуют библиотеки, такие как lodash, которые предоставляют готовые функции для глубокого копирования объектов.
const _ = require('lodash');
const original = { a: 1, b: { c: 2 } };
const copy = _.cloneDeep(original);
console.log(copy); // { a: 1, b: { c: 2 } }


👉 @frontendInterview

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Training JS #7: if..else and ternary operator

Функция принимает 1 параметр: n, n - это количество хот-догов, которые купит клиент, за покупку нескольких штук предусмотрены скидки. Сколько денег потратит клиент, чтобы купить указанное количество хот-догов?

n < 5              $100
n >= 5 и n < 10 $95
n >= 10 $90


Пример:
saleHotdogs( 1 )  => 100
saleHotdogs( 5 ) => 475
saleHotdogs( 10 ) => 900


👉 @frontendInterview

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

ТОП-4 Курса по Программированию

⚡Tutortop — маркетплейс курсов №1 по количеству школ-партнеров, курсов и реальных отзывов студентов.

✅Хотите стать программистом, но не знаете с какого языка начать?
Помогаем разобраться в самых популярных и востребованных языках программирования.
Подарок в конце подборки!


Выбрать

#реклама 16+
tutortop.ru

О рекламодателе

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

👉 @frontendInterview

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

“Ну тут недельки на две”. Оцениваем задачи

Работа в сфере информационных технологий – не стройка. Большая часть задач требует от человека мыслительного процесса и творческого подхода. Именно поэтому так сложно оценить задачу правильно, именно поэтому мы часто ошибаемся в наших оценках и это нормально. Ошибки – часть рабочего процесса.

👉 @frontendInterview

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Привет!

IT-компания ASTON запускает бесплатное онлайн-обучение Java-разработчик!

🌟 Лучшие участники получат приглашение на стажировку JAVA Разработчик с последующим трудоустройством в ASTON.
🤩 На этапе Лаборатории стипендия 23 000 RUB, первая ЗП от 70 000 RUB

Обучение включает 3 ступени: 📌 I (начальный уровень): онлайн-курс (1 месяц); 📌 II (средний): онлайн-интенсив (2 месяца); 📌 III (продвинутый уровень): Лаборатория (3-4 месяца) с трудоустройством.

Старт курса (I ступень) — 9 декабря 2024:1 месяц, 2 раза в неделю, вечерние занятия (1–1,5 часа).

🌍 Где набираем:Россия (до GMT+7)

Требования:
базовые знания Java;
законченное высшее образование.

📋 РЕГИСТРАЦИЯ

Расти в IT вместе с ASTON!

#реклама
О рекламодателе

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Вы опытный web-разработчик? Приходите на открытый вебинар "От React к Vue за один шаг: как легко освоить новый фреймворк"!

Что будет на вебинаре?
- Сравнение основных компонентов и концепций React и Vue, чтобы увидеть, как они перекликаются.
- Разбор синтаксиса, управления состоянием и рендеринга — выясним, насколько привычные подходы из React можно легко применить в Vue.
- Практическое руководство по быстрому освоению Vue через знакомые идеи и шаблоны из React.

Что узнают участники?
- Как легко перейти с React на Vue, используя знакомые концепции.
- Принципы организации компонентов и управления состоянием, которые делают переход плавным и понятным.
- Уверенность в том, что навыки, освоенные в React, могут быть полезны и ускорить работу с Vue в реальных проектах.

🔥Регистрируйтесь на урок 27 ноября, в 20:00 мск и получите скидку на большое обучение «JavaScript Developer. Professional»: https://vk.cc/cFgGP4

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576 erid 2SDnjdBz9Dd

Читать полностью…

Frontend Interview - собеседования по Javascript / Html / Css

Two fighters, one winner.

Создайте функцию, которая возвращает имя победителя в бою между двумя бойцами. Каждый боец по очереди атакует другого, и побеждает тот, кто первым убьет другого. Смерть определяется как health <= 0.

Каждый боец будет объектом/экземпляром Fighter. Смотрите ниже класс Fighter на выбранном вами языке.

health и damagePerAttack за атаку будут целыми числами, большими 0. Вы можете мутировать объекты Fighter.

Ваша функция также получает третий аргумент - строку с именем бойца, который атакует первым. Пример:

declare_winner(Fighter("Lew", 10, 2), Fighter("Harry", 5, 4), "Lew") => "Lew"

Lew attacks Harry; Harry now has 3 health.
Harry attacks Lew; Lew now has 6 health.
Lew attacks Harry; Harry now has 1 health.
Harry attacks Lew; Lew now has 2 health.
Lew attacks Harry: Harry now has -1 health and is dead. Lew wins.


function Fighter(name, health, damagePerAttack) {
this.name = name;
this.health = health;
this.damagePerAttack = damagePerAttack;
this.toString = function() { return this.name; }
}


👉 @frontendInterview

Читать полностью…
Subscribe to a channel