Frontend Interview - собеседования по Javanoscript / Html / Css – Telegram
Frontend Interview - собеседования по Javanoscript / Html / Css
11.4K subscribers
2.1K photos
118 videos
319 files
530 links
Канал для подготовки к собеседованиям по фронтенду

Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront

Купить рекламу: https://telega.in/c/frontendinterview

Канал в реестре РКН:
https://rknn.link/su
Download Telegram
Друзья! Подписывайтесь на канал @british_frontend. Это персональный блог фронтенд разработчика в Англии, где он рассказывает о своем движении по карьере с перспективы рабочего места в UK. Там обсуждаются такие темы как

🤑 Зарплаты
🔥 Отношения между людьми в компании и corporate drama
🇬🇧 Британский юмор
📈 Карьерный рост: как и куда расти
🛂 Иммиграция
🚀 Стартапы и предпринимательство
🧑‍💻 React, monorepos, legacy code, и другие насущные фронтенд темы

Подпиывайтесь! Чем больше людей, тем лучше дискуссии! 🙌
https://news.1rj.ru/str/british_frontend
Что такое технический долг?

При разработке программ часто не хватает времени на всё, что хотелось бы сделать. Разработчикам приходится выбирать самые важные задачи и делать в первую очередь их. Обычно больше времени уделяют тому, что видит пользователь. Оставшиеся задачи относятся к улучшению кода и инфраструктуры проекта — такие задачи называют техническим долгом.

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

👉 @frontendInterview
Приведет ли исполнение этого кода к ошибке?
Anonymous Quiz
52%
Да
48%
Нет
JavaScript для профессиональных веб-разработчиков.

Самое полное руководство по современному JavaScript
Как максимально прокачать свои навыки и стать топовым JS-программистом? Четвертое издание «JavaScript для профессиональных веб-разработчиков» идеально подойдет тем, кто уже имеет базовые знания и опыт разработки на JavaScript. Автор сразу переходит к техническим деталям, которые сделают ваш код чистым и переведут вас с уровня рядового кодера на высоту продвинутого разработчика.

👉 @frontendInterview
👍1
Fibonacci Generator

Создайте функцию-генератор чисел Фибоначчи. С каждым новым вызовом функции, она должна возвращать следующее число из последовательности.

Пример:
var fib = genfib();
fib(); // -> returns 0
fib(); // -> returns 1
fib(); // -> returns 1
fib(); // -> returns 2


👉 @frontendInterview
content

Когда задано свойство content, то элемент заменяется на значение этого свойства. В качестве значения могут быть переданы различные типы: изображение, градиент или текст.

Пример
a::after {
content: "👉";
margin-right: 5px;
}

Изображение в качестве содержимого. Может применяться к любому элементу.
div {
content: url("http://www.example.com/test.png");
}

Все значения ниже могут применяться ТОЛЬКО к псевдоэлементам ::before и ::after.

👉 @frontendInterview
Где нельзя применить generic в TypeScript?
Anonymous Quiz
9%
function
58%
enum
13%
class
20%
interface
HTML тег data

Элемент <data> позволяет хранить в своём содержимом данные в формате, понятном человеку, а в атрибуте value — в формате, понятном машинам.

Так можно передать числовое значение для текста:
Жили у бабуси <data value="2">два</data> весёлых гуся.

Ещё один пример: вы разрабатываете интернет-магазин, который занимается продажей компьютеров. У вас есть множество типов, моделей и конфигураций — и у каждого есть свой ID, который используется в базе данных. Эти ID мало что скажут пользователям, поэтому лучше выводить названия компьютеров в формате, который они могут понять. Но тут же в атрибуте value тега <data> можно хранить ID, который используется для удобного доступа к нужной модели:

<ul>
<li>
<data value="2020138256">
MacBook Pro 13 M1 8 Gb 256 Gb mid. 2020
</data>
</li>
<li>
<data value="2020138512">
MacBook Pro 13 M1 8 Gb 512 Gb mid. 2020
</data>
</li>
</ul>


👉 @frontendInterview
Статические свойства и методы класса доступны:
Anonymous Quiz
71%
Напрямую в классе
29%
В инстансах класса
Спред-синтаксис ...

(spread) ... позволяет передавать итерируемые коллекции (например, массивы или строки) как список аргументов функции или добавлять содержащиеся в них элементы в новый массив.

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

Пример:
При вызове функции использовать значения из массива как аргументы:
function multiplyThreeNumbers(a, b, c) {
return a * b * c
}
const nums = [1, 2, 3]
console.log(multiplyThreeNumbers(...nums))
// 6

В массиве скопировать элементы из другого массива в новый:
const donor = ['это', 'старые', 'значения']
const newArray = [...donor, 1, true, 'мама']
console.log(newArray)
// ['это', 'старые', 'значения', 1, true, 'мама']

У объекта скопировать свойства из другого объекта в новый:
const persona = { name: 'Иван', lastName: 'Объектов'}
const userData = { ...persona, username: 'killer3000' }
console.log(userData)
// {
// name: "Иван",
// lastName: "Объектов",
// username: "killer3000"
// }
Можно ли описать функцию с помощью одного интерфейса в TypeScript?
Anonymous Quiz
82%
да
18%
нет
Совершенный софт

Совершенный софт – это проверенный, структурированный и высокотехнологичный подход к разработке ПО. Множество компаний уже используют идеи Лёве в сотнях систем, но раньше эти мысли нигде не публиковались.

Автор подробно описывает основы, на которых прокалываются многие архитекторы ПО, и показывает, как разложить систему на мелкие блоки или службы. Вы узнаете, как вывести эффективный дизайн проекта из дизайна системы, как рассчитать время, необходимое на запуск проекта, его стоимость и риски и даже как разработать несколько вариантов выполнения.

👉 @frontendInterview
True Min

  function min(a, b){
return (a<b)?a:b;
}

Доработайте функцию так, чтобы она корректно обрабатывала нечисловые значения.

Примеры:
 min(1, -2.5) === -2.5
// 'Return the minimum of the two arguments'

isNaN(min(1.5, NaN))
//'Any NaN value should return NaN'

isNaN(min(1.5, undefined))
//'Any undefined value should return NaN'

min(-Infinity, Infinity) === -Infinity
//'Infinity should be handled like normal numbers'

min(null, 2.5) === 0
//'treat null as if it were 0'


👉 @frontendInterview