Giter Site home page Giter Site logo

frontend-interview's Introduction

frontend-interview's People

Contributors

monochromer avatar

Stargazers

 avatar  avatar

Forkers

sh-lauren

frontend-interview's Issues

Наследование в CSS

Расскажите про наследование в CSS. Какие свойства наследуются, какие - нет? Как сделать принудительное наследование? Расскажите про значение currentColor.

Практическое задание:
Сверстать систему меток-статусов:
image
Примечания: цвет бордюра такой же, как и цвет текста, но с прозрачностью 32%. Цвет фона такой же, как и цвет текста, но с прозрачностью 10%.

Что такое CSS3?

Собственно, что такое CSS3? Когда, наконец, выйдет CSS4?

Написать fallback для picture, в котором не загрузилась картинка

Есть разметка:

<picture>
  <source type="image/avif" src="/some-broke-avif-image.avif" />
  <source type="image/webp" src="/some-broke-webp-image.webp"/>
  <img src="/some-real-exsisting-image.jpg" alt="Alt text" width="200" height="200" />
</picture>

Проблема в том, что если браузер поддерживает avif, но ссылка оказалась битой, но никакого fallback-решения не загрузиться.

Что будет, если скрипт будет асинхронным?

Выбор полей объекта при сериализации в JSON

Есть такой код:

class Model {}

class User extends Model {
  static get fields() {
    return ['name', 'email'];
  }

  constructor(props) {
    Object.assign(this, props);
  }
}

const user = new User({
  name: 'Alex',
  email: '[email protected]',
  password: '123456',
  role: 'editor'
})

const serializedUser = JSON.stringify(user);

Нужно реализовать класс Model так, чтобы serializedUser выводил только поля name и email (то есть брал их из статического свойства User.fields).

Способы очистки float

Контейнер с float-элементами схлопывается. Почему это происходит? Какие есть способы борьбы с этим?

Мета-тег viewport

Расскажите про мета-тег viewport, как он и его атрибуты влияют на отображение страницы.

Видимость элементов

Чем отличаются следующие записи:

opacity: 0;
visibility: hidden;
display: none;
clip-path: inset(100%);
clip: rect(0, 0, 0, 0);

Загрузка изображений

Как будут и будут ли грузиться изображения <img />, если им задать display: none;?
Будут ли грузиться изображения, заданные через background, если DOM-узлу задать display: none;?
Как вставить изображение в HTML, чтобы оно не грузилось?

Вёрстка карточки с картинкой и текстом

Пусть есть разметка

<figure>
  <img src="https://placeimg.com/480/360/nature" alt="Some alt text" width="480" height="360">
  <figcaption>Lorem ipsum dolor sit amet, consectetur adipisicing.</figcaption>
</figure>

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

Пример поведения:
image
image
image

Дополнительно: как сделать, чтобы ширина компонента определялась максимальной шириной текста?

Реализовать свой `switch-case`

Реализовать функцию match, которая работала бы так:

const result = match(10)
  .on(x => x > 10, x => `Value is greater than 10`)
  .on(x => x < 10, x => `Value is less than 10`)
  .otherwise(x => `Value is equal 10`)

console.log(result) /* Value is equal 10 */

Управление кэшированием ресурсов в CSS

Пусть есть очень большой CSS-файл, в котором есть ссылка на картинку:

body {
  background-image: url('/url-to-image.jpg')
}
/* 500kb */

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

Каскад и специфичность в CSS

Расскажите, что такое каскад в CSS?
Как вычисляется специфичность и приоритет?
Можно ли переопределить из обычного файла стилей, например, styles.css, стили, записанные в атрибуте style c модификатором !important (<div style="width: 50% !important"></div>), хотя бы кратковременно.

Обработчики на DOM-элементах без call, apply, bind

К примеру, есть объект:

var slider = {
  nextSlide() {
    console.log(this);
    // ... go to next slide
  }
}
  1. На что будет указывать this, если навесить метод slider.nextSlide как обработчик клика на какой-нибудь dom-элемент?
  2. Что можно сделать, не используя call, apply, bind, чтобы ссылка this внутри метода указывала на slider, а не на dom-элемент?

Библиотеки reset.css и normalize.css

Знакомы ли Вы с библиотеками reset.css и normalize.css? Какое у них назначение? Чем они отличаются? Что Вам в них нравится/не нравится?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.