Что спрашивают на собеседованиях

Бэкенд

Джун

Http

  • Http методы.
  • Отличие http от https.
  • Управелние кешированием.

База

  • Основыне типы баз данных.
  • Mysql.
  • PostgreSQl
  • MongoDb.
  • Redis/Memcached.
  • Транзакции.
  • Join.

Алгоритмы

  • Очередь.
  • Стек.
  • Рекурсия.
  • Массивы/связные списки/хеши.

Общее

  • Git/reabase/cherry-pick.
  • Map/Reduce.
  • Операции с массивами.
  • Объекты, как передаютсяю.
  • MVC.
  • Кодирование/шифрование/сериализация/хешиование.
  • ООП.
  • Nginx.
  • Middleware.
  • Иммутабельность.
  • SOLID.
  • Интерфейсы VS трейты.
  • Знание языка, магия, трюки, встроенные функции.

Миддл

База

  • Полное сканирование таблицы.
  • Операция ORDER BY и её сложность.
  • Индексы.
  • Кардинальность/селективность.
  • Аггрегация/HAVING.
  • Оконные функции.

Алгоритмы

  • O большое.
  • Слияние массивов.
  • Сортировка, сложность сортировки.
  • Поиск в массиве двух чисел, в сумме дающих третье число.
  • Парсер Markdown и отображение в терминале.
  • Рекурсивное слияние двух yaml документов.
  • WeakMap.
  • Как изменить размер картинки.

Общее

  • Утилита типа grep.
  • Как устроены веб-фреймворки. Напишите свой.
  • Unit Test.
  • PhpUnit провайдеры.
  • Докер.
  • Linux.
  • Поиск и отладка багов.
  • Сборщик муссора.

Сениьор

Проектирование

  • Утилита поиска картинки.
  • Система записи к врачу (с возмодностью отмены).
  • Создание key-value базы данных.
  • Создание http сервера (многопоточный, ассинхронный).

Базы

  • Kafka/Rabbit MQ
  • Обратный индекс, полнотекстовый поиск.
  • Сбалансированные деревья.
  • ElasticSearch/Sphinx
  • Репликация, шардирование, партицирование.
  • Нормализация/денормализация.

Алгоритмы

  • Деревья и способы их обхода.
  • Префиксное дерево.
  • Сортировка элементов не помещающихся в пямать.

Общее

  • Kubernetes.
  • Распределенные системы.
  • Рефакторинг как системный подход.
  • Yield, курсоры.