Вопрос с собеседования · Frontend

Чем Svelte отличается от React и Vue?

JuniorАрхитектура фронтенда
Ещё спрашивают так:
  • Почему Svelte называют компилятором?
  • Что такое руны в Svelte?
Коротко

Svelte — компилятор: компоненты (.svelte) превращаются при сборке в небольшой JS, который напрямую обновляет DOM, без виртуального DOM и тяжёлой библиотеки в рантайме — меньше бандл и быстрый старт. Реактивность в Svelte 5 — руны: $state (состояние), $derived (производное), $effect (побочный эффект), $props (входные данные). Шаблон: {#if}, {#each}, on:click/onclick, bind:value. Для приложений с маршрутизацией и SSR — SvelteKit.

  • Меньше шаблонного кода, чем в React
  • Экосистема и рынок вакансий меньше, чем у React и Vue
  • Стили в компоненте изолированы по умолчанию

Подробно

<script>
  let count = $state(0);
  let double = $derived(count * 2);
</script>
<button onclick={() => count++}>{count} × 2 = {double}</button>

Что хотят услышать

  • Компилятор без виртуального DOM.
  • Руны $state, $derived, $effect.
  • SvelteKit.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✗Svelte использует виртуальный DOM, как React, но с другим синтаксисом шаблонов
  • ✗В Svelte нет способа сделать производное значение
  • ✓Компилятор: компоненты превращаются в JS, напрямую обновляющий DOM; реактивность — руны
  • ✗Svelte требует большой рантайм-библиотеки в браузере

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

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

Разбор собеседования