Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама

Питання на співбесіді рівня Middle

638 питань з відповідями в 14 технологіях - від Junior до Senior. Оберіть технологію чи почніть з питання дня.

Не знаєте, з чого почати?

Пройдіть короткий тест - покажемо теми, які варто підтягнути, і питання до них.

Пройти тест

Технології

Laravel

147 питань · 43 теми

Junior 101 Middle 147 Senior 130

PHP

35 питань · 9 тем

Junior 32 Middle 35 Senior 33

Livewire і Filament

41 питання · 8 тем

Junior 36 Middle 41 Senior 36

MySQL

44 питання · 5 тем

Junior 32 Middle 44 Senior 31

JavaScript

41 питання · 10 тем

Junior 37 Middle 41 Senior 36

Vue

37 питань · 9 тем

Junior 36 Middle 37 Senior 35

React

34 питання · 8 тем

Junior 33 Middle 34 Senior 33

Git

35 питань · 7 тем

Junior 35 Middle 35 Senior 30

Питання дня

Після кожної дії Livewire за замовчуванням рендерить шаблон компонента заново й відправляє HTML у браузер. Для дій, що нічого не змінюють на екрані, це зайва робота: виконання Blade, обчислювані властивості й запити в шаблоні, розмір відповіді, морфінг DOM.

#[Renderless] - дія без рендеру:

use Livewire\Attributes\Renderless;

new class extends Component {
    public Post $post;

    #[Renderless]
    public function trackRead(): void
    {
        $this->post->increment('reads');
    }
};
<div wire:intersect.once="trackRead">...</div>

Інші способи:

  • $this->skipRender() усередині методу - коли рендер треба пропустити за умовою:
public function saveDraft(): void
{
    $this->post->update(['draft' => $this->draft]);

    if (! $this->showSavedAt) {
        $this->skipRender();   // показувати нічого не треба - рендер зайвий
    }
}
  • модифікатор .renderless у шаблоні - точково, без зміни класу: wire:click.renderless="trackClick", wire:model.live.renderless="draft".

Типові застосування:

  • аналітика й лічильники (перегляди, кліки, час на сторінці);
  • збереження чернетки чи налаштувань, які вже відображені в браузері (стан у полі чи в Alpine);
  • дії, результат яких обробляє JavaScript (повернене значення з await $wire.method()).

Пастки:

  • зміни властивостей у такій дії не з'являться на екрані - шаблон не рендерився. Якщо дія змінює те, що показується, рендер потрібен;
  • помилки валідації в дії без рендеру теж не відобразяться через @error - для таких випадків потрібен рендер чи обробка в JavaScript;
  • стан компонента все одно оновлюється - новий знімок повертається в браузер, тож наступні дії бачитимуть змінені значення.

Поєднання з #[Async] - класична пара для «запустив і забув»: дія не стає в чергу за іншими й не перемальовує компонент.

Тести: ->call('trackRead')->assertRenderSkipped().

Докладніше в документації: Атрибут Renderless

Вакансії Laravel рівня Middle

Усі вакансії Laravel Middle

Full Stack Developer (PHP / React) Middle / Middle+

Full Stack розробник для аналітичного продукту компанії з перевірки контрагентів та оцінки ризиків. Основна робота: підтримка та розвиток існуючої системи, рефакторинг legacy-коду, розробка бекенду на PHP/Laravel/Symfony і фронтенду на React, оптимізація баз даних MySQL та SQL-запитів, інтеграція AI-сервісів. Вимоги: 3+ років комерційної розробки, PHP 8.x, Laravel або Symfony, React, REST API, Docker, Git, Linux. Англійська B1+.

Full Stack Developer (middle+)

Full Stack розробник розвиватиме та підтримуватиме вебпродукти FinTech-компанії: доопрацьовуватиме backend і frontend, функціонал особистого кабінету клієнта, інтеграції через REST API з платіжними та ідентифікаційними сервісами. Ключовий стек: PHP, Laravel, Vue.js (Vue Router, Pinia або Vuex), MySQL/PostgreSQL, Docker, Git. Вимоги: понад 3 роки комерційного Full Stack досвіду, робота з наявним кодом, участь у code review та розборі інцидентів.

Backend Developer Middle

Розробник backend для web і мобільних застосунків. Основний стек: PHP, Laravel, WordPress. Очікується досвід роботи з REST API, базами даних (MySQL, PostgreSQL, MS SQL), інтеграціями зовнішніх сервісів, написанням тестів. Вимагається практичний досвід Laravel та впевнене знання PHP, ООП, SOLID, Git, Linux. Робота з командою над різноплановими проєктами.

Питання рівня Middle з реальних технічних співбесід - 638 питань у 143 темах, розібраних із відповідями. Нижче - теми цього рівня та сусідні рівні, якщо хочете звузити або розширити підготовку.

Інші рівні
Junior 548 Senior 553