Антон Жуков, Иван Дударев: Публичное собеседование Software Engineer (PHP)

YOUTUBE · 30.11.2025 05:23

Ключевые темы и таймкоды

Введение

0:02
  • Обсуждение проведения собеседования на позицию сеньора в компании.
  • Гость - Антон Жуков, разработчик на PHP.

Обсуждение истории PHP

1:51
  • PHP изначально создавался для при-процессинга простых вещей, но развивался через колкие пути.
  • Большинство проектов на PHP используют фреймворк Symfony.

Сравнение PHP с другими языками

3:41
  • PHP не имеет фундаментальных отличий от других языков, но его развитие определяется индустрией.
  • Голанг имеет стандарты разработки и обновляется чаще, чем PHP.

Собеседование

5:35
  • Собеседование будет состоять из технических вопросов и кейсов на PHP.
  • Важно понять, насколько комфортно работать вместе и насколько решения соответствуют целям и культуре разработки.
  • Стиль кода и перфоманс не имеют значения.

Введение

9:37
  • Интервью проходит в онлайн-формате, интервьюер и интервьюируемый находятся в разных местах.
  • Интервьюер пытается создать комфортные условия для интервьюируемого, предлагая чай и возможность курить.

Разбор кейса

11:29
  • Интервьюер объясняет задачу: определить, насколько правильно сформирована структура скобок в строке.
  • Используются круглые скобки, задача считается валидной, если все скобки правильно открыты и закрыты.
  • Интервьюер предлагает написать код для решения задачи, не используя регулярные выражения и встроенные инструменты.

Обсуждение алгоритма

24:32
  • Интервьюер и интервьюируемый обсуждают возможные подходы к решению задачи, включая использование глубины скобок для определения правильности вложенных скобок.
  • Интервьюер предлагает использовать математические методы для определения валидности скобок.

Апроксимация решения

36:22
  • Интервьюер предлагает апроксимировать решение до состояния, когда они просто записывают решение на листочке бумаги.
  • Они объявляют функцию, которая принимает строку и посимвольно определяет, насколько правильно сформирована структура скобок.

Обсуждение алгоритма проверки скобок

37:46
  • Обсуждение использования массива символов для чтения текста и обращения к символам.
  • Обсуждение использования функций для работы со строками.

Валидация скобок и их типов

47:30
  • Обсуждение проверки открывающих и закрывающих скобок, а также их типов.
  • Обсуждение необходимости проверки открывающих скобок на последнем месте.

Решение проблемы с квадратными скобками

52:00
  • Обсуждение проблемы с квадратными скобками и их валидацией.
  • Обсуждение использования переменной для открытых скобок и их проверки.

Завершение обсуждения и заключение

54:23
  • Обсуждение возможности использования массива с двумя позициями для разных типов скобок.
  • Завершение обсуждения и предложение задать вопросы или поделиться впечатлениями.

Впечатления о собеседовании

55:23
  • Собеседование может быть стрессовым, но важно не оценивать себя на основе мнения интервьюера.
  • Интервьюер может оценивать кандидата на основе своих предпочтений и опыта, что может быть не всегда объективным.

Подход к собеседованию

59:59
  • Важно сосредоточиться на решении задачи, а не на организации кода.
  • Задачи могут быть простыми или сложными, но чем проще, тем лучше.
  • Важно уметь общаться и работать в команде, а не только решать задачи.

Опыт интервьюера

1:01:55
  • Интервьюер может использовать разные подходы к собеседованию, включая проведение технической секции без задачи.
  • Важно отловить кандидатов, которые не умеют программировать, чтобы избежать потери времени.

Заключение

1:05:30
  • Лит-код может помочь в решении задач, но важно не забывать о коммуникации и командной работе.
  • Важно не оценивать себя на основе интервью, а сосредоточиться на решении задач и развитии своих навыков.