Веб-разработка: учимся решать задачи для поступления в Эльбрус Буткемп
![Веб-разработка: учимся решать задачи для поступления в Эльбрус Буткемп](/blog/content/images/size/w960/2024/07/--------------_-------------------------------------------------------.png)
Сможете ли вы пройти техническое интервью для поступления в Эльбрус Буткемп на направление веб-разработки? Попробуйте свои силы прямо сейчас!
Для поступления в буткемп на любое направление необходимо пройти вступительное испытание. Будущим веб-разработчикам предстоит одолеть техническое интервью с выпускником буткемпа, куратором или ментором. Интервью состоит из:
- 1 технического вопроса из базовой темы: типы данных, циклы, массивы, функции и переменные
- Решения 3 практических задач в формате life-coding на языке JavaScript: во время решения задач вам будут задавать вопросы о том, в чем логика вашего кода.
Что вам понадобится? Встреча проходит в Zoom или Google Meet (скачайте понравившееся приложение и загрузить его себе на ПК). Для написания кода чаще всего используют VSCode. Приложение должно быть установлено на ваш ПК заранее. В случае использования веб-версии мы также рекомендуем пройти регистрацию до начала интервью. В процессе решения задач вам будет нужно включить демонстрацию экрана в Zoom, чтобы экзаменатор мог задавать вопросы, пока он будет наблюдать за вашей работой.
* Все необходимые навыки и знания для прохождения технического интервью вы можете получить на нашем курсе Основы JavaScript.
Внимание! До 4 августа 2024 года у нас проходит конкурс на грант в 100 тысяч рублей на обучение в Эльбрус Буткемп. Что надо сделать, чтобы его получить, читайте здесь. А о победителях прошлого года читайте тут.
В этой статье мы собрали 3 задачи, похожие на те, что вам придется решать на техническом интервью. Предлагаем вам проверить ваши силы прямо сейчас ↓
Задача №1
Напишите функцию, которая выведет в консоль чётные числа от 10 до 0, а потом выведет любое сообщение, переданное аргументом. Наш аргумент будет «Поехали!».
Решение задачи №1
* Пропустите этот пункт, если хотите попробовать решить задачу самостоятельно, и вернитесь к нему после решения.
- ШАГ 1: Создайте функцию printNumbersAndMessage, которая принимает один аргумент message.
function printNumbersAndMessage(message) {
// Здесь будет тело функции
}
- ШАГ 2: Внутри функции напишите цикл for, который идет от 10 до 0 (включая 0).
function printNumbersAndMessage(message) {
for (let i = 10; i >= 0; i--) {
// Здесь будет условие
}
}
- ШАГ 3: Внутри цикла проверьте, является ли текущее число i четным, используя оператор % (остаток от деления на 2). Если число четное, то выведите его в консоль с помощью console.log(i).
function printNumbersAndMessage(message) {
for (let i = 10; i >= 0; i--) {
if (i % 2 === 0) {
console.log(i);
}
}
}
- ШАГ 4: После цикла выведите сообщение, переданное в качестве аргумента функции, снова с помощью console.log(message).
function printNumbersAndMessage(message) {
for (let i = 10; i >= 0; i--) {
if (i % 2 === 0) {
console.log(i);
}
}
console.log(message);
}
- ШАГ 5: Затем вызовите функцию printNumbersAndMessage с аргументом «Поехали!».
function printNumbersAndMessage(message) {
for (let i = 10; i >= 0; i--) {
if (i % 2 === 0) {
console.log(i);
}
}
console.log(message);
}
printNumbersAndMessage("Поехали!");
- Шаг 6: Проверьте результат работы функции в консоли.
10
8
6
4
2
0
Поехали!
Практическая польза задания
Во время решения этой задачи будущему программисту придется поработать с базовыми циклами. JavaScript-разработчик часто обращается к ним в работе, если у него появляется необходимость прописать в коде повторяющееся действие.
Задача №2
Напишите функцию, которая принимает массив чисел и возвращает их сумму. Если массив не передан или пуст, функция должна вывести в консоль текст «Введите массив чисел». Например, если массив чисел состоит из 8, 1, 5, 2, то функция выведет сумму 16.
Решение задачи №2
- ШАГ 1: Для начала создайте функцию на JavaScript и назовите ее, например, calculateSum. Функция должна принимать один аргумент — массив чисел. Используйте синтаксис стрелочной функции для определения функции (можно использовать и обычную функцию, которая пишется через function).
const calculateSum = (numbers) => {
// Здесь будет тело функции
}
- ШАГ 2: Далее внутри функции calculateSum проверьте, был ли передан массив чисел и не пуст ли он.
const calculateSum = (numbers) => {
if (!numbers || numbers.length === 0) {
// Здесь будет действие, которое выполнится если массив не передан или пуст
}
}
- ШАГ 3: Если массив не был передан или он пуст, то наша функция должна вывести в консоль сообщение: «Введите массив чисел».
const calculateSum = (numbers) => {
if (!numbers || numbers.length === 0) {
return "Введите массив чисел";
}
}
- ШАГ 4: Если же массив чисел передан и не пуст, то мы будем вычислять сумму всех чисел в массиве с помощью метода forEach. Этот метод перебирает каждый элемент и добавляет его значение к заранее подготовленной переменной sum. Пример 8 + 1 + 5 + 2 по итогу превратится в 16.
const calculateSum = (numbers) => {
if (!numbers || numbers.length === 0) {
return "Введите массив чисел";
}
let sum = 0;
numbers.forEach((number) => {
sum += number;
});
return sum;
}
- Шаг 5: Вызовите функцию, передав в нее массив чисел и посмотрите на результат.
const result = calculateSum([8,1,5,2]);
console.log(result);
// Выведет 16
- Шаг 6: Проделайте последний шаг, только передайте пустой массив, или вообще оставьте скобки пустыми.
// Передайте пустой массив
const result2 = calculateSum([]);
console.log(result2)
// Вы получите сообщение: Введите массив чисел
// Оставьте скобки пустыми
const result3 = calculateSum();
console.log(result3)
// Вы получите сообщение: Введите массив чисел
Практическая польза задания
JS-разработчику часто приходится подсчитывать суммы чисел, особенно, если его работа связана с фиксацией платежей. Поэтому специалист должен уметь проверять, какой тип данных ему следует обработать, и правильно сообщать пользователю, какие данные для этого необходимы.
![](https://elbrusboot.camp/blog/content/images/2024/07/---------------------_-------------------------------------------------------.png)
Задача №3
Напиши функцию, которая ищет иголку в стоге сена. Функция принимает массив строк и при нахождении строки «иголка» возвращает сообщение: «иголка найдена, <индекс иголки>», например:
[«сено», «ещё сено», «иголка»] → «иголка найдена, 2»
[«соседская собака», «иголка», «сено»] → «иголка найдена, 1»
Решение задачи №3
- ШАГ 1: Для начала создайте функцию, которая будет искать иголку в массиве строк. Назовите её findNeedle. Функция findNeedle должна принимать два аргумента — массив строк и искомый аргумент (в нашем случае это «иголка»).
const findNeedle = (haystack, searchElement) => {
// Здесь будет тело функции
}
- ШАГ 2: Затем удобнее будет использовать метод массива findindex(), который позволит вам найти индекс элемента в массиве. В функции пройдите по каждой строке массива и проверьте, содержит ли она подстроку «иголка».
const findNeedle = (haystack, searchElement) => {
const index = haystack.findIndex((str) => str === searchElement);
}
- ШАГ 3: Если строка содержит подстроку «иголка», то выведите в консоль сообщение «иголка найдена, » + индекс этой строки. Индекс считается с нуля.
const findNeedle = (haystack, searchElement) => {
const index = haystack.findIndex((str) => str === searchElement);
if (index !== -1) {
return `Иголка найдена, её индекс: ${index}`;
}
}
- ШАГ 4: Если иголка не найдена во всем массиве, то верните сообщение: «Иголка не найдена».
const findNeedle = (haystack, searchElement) => {
const index = haystack.findIndex((str) => str === searchElement);
if (index !== -1) {
return `Иголка найдена, её индекс: ${index}`;
} else {
return "Иголка не найдена";
}
}
- Шаг 5: Проверьте работу функции.
// Передайте в функцию массив, в котором нет слова "иголка"
const haystack1 = ["сено", "ещё сено", "больше сена"];
const result1 = findNeedle(haystack1, "иголка");
console.log(result1);
// Вы получите сообщение в консоли: «Иголка не найдена»
// Передайте в функцию массив, в котором есть слово "иголка"
const haystack2 = ["соседская собака", "иголка", "сено"];
const result2 = findNeedle(haystack2, "иголка");
console.log(result2);
// Вы получите сообщение в консоли: «Иголка найдена,её индекс: 1»
Практическая польза задания
Знание методов поиска информации в массиве необходимо любому разработчику. Поиск нужных данных — регулярная задача программиста.
* О том, как подготовиться к поступлению в буткемп на направление веб-разработка, читайте тут. А попрактиковаться в решении JavaScript-задач можно в нашем бесплатном тренажере.