uk
Feedback
Библиотека собеса по PHP | вопросы с собеседований

Библиотека собеса по PHP | вопросы с собеседований

Відкрити в Telegram

Вопросы с собеседований по PHP и ответы на них. По рекламе: @proglib_adv Учиться у нас: clc.to/5JWKxA Для обратной связи: @proglibrary_feeedback_bot

Показати більше
3 111
Підписники
Немає даних24 години
-67 днів
-1830 день
Архів дописів
🔥 Новый курс «Математика для Data Science» Записывайтесь до 19.10 и получите бонус-курс «Школьная математика» для быстрого о
🔥 Новый курс «Математика для Data Science» Записывайтесь до 19.10 и получите бонус-курс «Школьная математика» для быстрого освежения знаний! 🚀 🧠 Эксперты-спикеры на курсе: ▫️ Диана Миронидис — преподаватель ВШЭ, автор Яндекс Практикума; ▫️ Ксения Кондаурова — преподаватель Центрального Университета (Т-Банк); ▫️ Маргарита Бурова — академический руководитель программ Wildberries & Russ. 👉🏻 Не упустите шанс улучшить свои навыки

Концепция окружений в Symfony В Symfony окружения (environments) — это контексты, в которых работает приложение, позволяя адаптировать его под разные задачи, такие как разработка, тестирование или продакшн. Типы окружений: Основные — dev (разработка), prod (продакшн), test (тестирование). Можно создавать свои. Конфигурации: Каждая среда может иметь определенные конфигурационные файлы в каталоге config/, например: config/packages/dev/ для среды dev. config/packages/prod/ для среды prod. config/packages/test/ для тестовой среды. Эти файлы переопределяют конфигурацию по умолчанию в config/packages/ или config/services.yaml. Переменные окружения: Переменная APP_ENV указывает, какое окружение используется (dev, prod, test). Логи и кэш: Для каждого окружения свои директории логов и кэша. Режим отладки: В dev включены отладка и инструменты разработчика. В prod — отключены для повышения безопасности и производительности. Зачем нужно: Окружения обеспечивают разделение задач, безопасность и оптимизацию приложения под разные цели.

😵‍💫 Устал от бесконечной подготовки к собесам? Тогда залетай к нам, есть задачка попроще. Пройди в нашем боте мини-тест по
😵‍💫 Устал от бесконечной подготовки к собесам? Тогда залетай к нам, есть задачка попроще. Пройди в нашем боте мини-тест по математике и узнай, готов ли ты к Data Science или стоит что-то подтянуть. 📱 Перейти в бота

Какова цель функции «array_map» в PHP и как её использовать? Функция array_map() в PHP используется для применения заданной ф
Какова цель функции «array_map» в PHP и как её использовать? Функция array_map() в PHP используется для применения заданной функции к каждому элементу массива. Она создает новый массив, содержащий результаты применения функции к каждому элементу исходного массива. Функция обратного вызова применяется к каждому элементу последовательно, и ключи сохраняются. В этом примере функция square() применяется к каждому элементу массива $numbers с использованием array_map(), что приводит к созданию нового массива $squaredNumbers, где каждый элемент является квадратом соответствующего элемента исходного массива.

💡 Задача с собесеседования Недавно в одном известном всем банке кандидату была предложена задача: Есть клиент, который за ме
💡 Задача с собесеседования Недавно в одном известном всем банке кандидату была предложена задача:
Есть клиент, который за месяц делает 1000 транзакций. Нужно посчитать вероятность того, что среди них окажется хотя бы одна дублирующаяся сумма, если каждая сумма округляется до 2 знаков после запятой.
Вероятности, распределения, матожидание, градиенты — всё это может всплыть на интервью, и даже в продовых задачах. 🎓 Proglib запускает экспресс-курс «Математика для Data Science» — для тех, кто хочет закрыть эти пробелы и понять математику быстро, качественно и без боли. 🔍 На курсе вас ждет: — линейная алгебра, анализ, теория вероятности и статистика; — градиенты, матрицы и экстремумы функций; — математики и алгоритмы машинного обучения; — много практики. 📅 Старт: 6 ноября ⏰ Формат: 10 вебинаров и 3 практических проекта 💬 Поддержка: менторы + Telegram-чат 💰 Стоимость: 37 000 ₽ (есть рассрочка) 🔗 Узнать больше и записаться

Что такое вариативная функция или spread-оператор? Вариативная функция — это функция, которая может принимать переменное коли
+1
Что такое вариативная функция или spread-оператор? Вариативная функция — это функция, которая может принимать переменное количество аргументов. Это означает, что ее можно вызывать с различным числом аргументов. В PHP вариативные функции объявляются с помощью оператора ... (также известного как spread-оператор) перед именем аргумента. Например, вариативная функция может быть объявлена следующим образом(фото 1) Spread-оператор, также представленный символом ..., выполняет обратную операцию — он распаковывает массив и передает его элементы как аргументы в функцию. Он может использоваться для передачи переменного количества аргументов в функцию или для объединения массивов. Например, spread-оператор можно использовать следующим образом(фото 2) В этом примере массив $numbers распаковывается с помощью spread-оператора и его элементы передаются в вариативную функцию sum в качестве отдельных аргументов.

🐘 Ваш PHP-код «ест» слишком много ресурсов и работает медленнее, чем хотелось бы? Это частая проблема даже у опытных разработчиков. Алгоритмы не всегда решают задачу. Чтобы ускорить код, нужно понимать, как работает память и что происходит «под капотом» PHP. Именно это и будет темой нашего открытого урока курса. 🚀 Вместе мы разберём как PHP хранит данные, и освоим простые приёмы оптимизации, которые реально сокращают время выполнения кода и экономят ресурсы. 🔴 Присоединяйтесь к открытому вебинару 15 октября в 20:00 (МСК): https://clc.to/s1XbhA Урок проходит в преддверии старта курса «PHP Developer. Professional». Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

[Git] Зачем команда git bundle? Команда git bundle используется для упаковки репозитория или его части в один файл. Этот файл можно передать, скопировать или сохранить, а затем использовать для восстановления или обновления репозитория в другом месте. Основное назначение этой команды — перенос изменений без необходимости наличия сетевого подключения, например, в случаях, когда доступ к удалённому репозиторию ограничен. Основные случаи использования git bundle: 1. Передача репозитория офлайн: Если репозиторий большой, но доступ к сети отсутствует, можно создать файл с полным содержимым репозитория и передать его через USB-накопитель или другое физическое устройство. 2.Обновление репозитория офлайн: Если нужно синхронизировать изменения между двумя репозиториями без доступа к сети, можно упаковать изменения в bundle и передать его. 3. Создание резервной копии: git bundle может использоваться для создания архива репозитория с сохранением всей истории. 4. Доставка изменений: Это удобный способ передать патчи или ветки, которые можно позже интегрировать в другой репозиторий. Примеры использования: Создание полного архива репозитория: git bundle create my-repo.bundle --all Здесь флаг --all указывает, что нужно упаковать все ветки и историю. Упаковка определённой ветки: git bundle create my-feature.bundle main Это создаст архив с содержимым только ветки main. Проверка содержимого bundle: git bundle verify my-repo.bundle Проверяет, что файл корректен и пригоден для использования. Клонирование из bundle: git clone my-repo.bundle my-new-repo

Можно ли компоновать traits в trait? В PHP, с версии 5.4 и выше, поддерживаются трейты (traits), которые позволяют компоноват
Можно ли компоновать traits в trait? В PHP, с версии 5.4 и выше, поддерживаются трейты (traits), которые позволяют компоновать поведение в классах без необходимости наследования. Трейты могут использоваться для компоновки поведения внутри других трейтов, что может быть полезным для структурирования и организации кода. В приведенном примере трейт TraitC использует (use) два других трейта (TraitA и TraitB) и предоставляет дополнительный метод methodC. Класс Example затем использует трейт TraitC, что позволяет ему наследовать все методы из TraitA, TraitB и TraitC. Таким образом, в PHP можно компоновать трейты внутри других трейтов для организации и переиспользования кода.

Как вы понимаете REST? REST (Representational State Transfer) — это архитектурный стиль, используемый для проектирования распределенных систем, в основе которого лежат принципы работы с ресурсами через стандартные операции HTTP. В контексте PHP, REST используется для создания веб-сервисов или API (интерфейсов программирования приложений), которые обрабатывают запросы от клиентов и предоставляют данные в формате, который может быть легко интерпретирован и использован другими приложениями или сервисами. В PHP реализация REST API часто основана на использовании фреймворков, таких как Laravel, Symfony или Slim Framework. Эти фреймворки предоставляют инструменты для обработки маршрутов, запросов HTTP и ответов, а также для работы с базами данных и другими источниками данных. Основные принципы REST включают в себя следующее: Ресурсы (Resources): Каждый компонент API представляет собой ресурс, например, пользователя, товар или комментарий. Методы HTTP (HTTP Methods): Операции, которые можно выполнять над ресурсами, соответствуют стандартным методам HTTP, таким как GET (получение данных), POST (создание нового ресурса), PUT (обновление существующего ресурса) и DELETE (удаление ресурса). Представление (Representation): Ресурсы представлены в формате, который может быть интерпретирован клиентом, обычно в виде JSON или XML. Состояние (Stateless): Каждый запрос к серверу должен содержать всю необходимую информацию для его выполнения. Сервер не должен сохранять состояние между запросами от одного и того же клиента. Однородный интерфейс (Uniform Interface): Единый интерфейс для взаимодействия с ресурсами, что делает API более гибким и расширяемым. Набор гипермедиа (Hypermedia as the Engine of Application State, HATEOAS): Предоставление клиенту ссылок на доступные действия и ресурсы, что позволяет клиенту динамически взаимодействовать с API без необходимости знания всех возможных конечных точек заранее.

Что такое простая фабрика? Простая фабрика (Simple Factory) — это порождающий шаблон проектирования, который предоставляет ин
+1
Что такое простая фабрика? Простая фабрика (Simple Factory) — это порождающий шаблон проектирования, который предоставляет интерфейс для создания объектов в зависимости от переданного типа или параметра. В контексте PHP, простая фабрика может быть использована для создания экземпляров классов без явного указания конкретного класса в коде. Простая фабрика обычно содержит метод, который принимает параметр (например, строку или число), определяющий тип создаваемого объекта, и затем возвращает экземпляр соответствующего класса. Это упрощает процесс создания объектов и позволяет легко изменять создаваемый тип объекта без изменения кода, где объект используется.

⏳ Время прокачать алгоритмы с 40-процентной скидкой до конца октября На собеседовании не просят бездумно написать шаблонное р
⏳ Время прокачать алгоритмы с 40-процентной скидкой до конца октября На собеседовании не просят бездумно написать шаблонное решение. Важно понимать, как работают алгоритмы под капотом. 🔹 В курсе ты научишься: — искать ошибки с помощью редакционного расстояния; — работать с балансированными деревьями и графами; — решать задачи с динамическим программированием; — и многое другое, что пригодится на собеседованиях. 🤔 Решаешь задачи только в тг каналах? Пройди курс и отправляйся на реальные собеседования! 🔗 Подробнее о курсе

Как передаются переменные (по значению или по ссылке)? В PHP переменные могут передаваться как по значению, так и по ссылке.
Как передаются переменные (по значению или по ссылке)? В PHP переменные могут передаваться как по значению, так и по ссылке. По умолчанию, в PHP переменные передаются по значению. Это означает, что когда переменная передается в функцию или присваивается другой переменной, создается ее копия, и любые изменения, сделанные внутри функции или на другой переменной, не влияют на оригинальную переменную. Однако, PHP также предоставляет возможность передавать переменные по ссылке, используя символ '&' перед переменной при ее передаче в функцию или присваивании другой переменной. Когда переменная передается по ссылке, функция или другая переменная работают с тем же экземпляром переменной, и изменения внутри функции или на другой переменной отражаются на оригинальной переменной.

Напишите программу для валидации адреса электронной почты Вы можете использовать встроенную функцию filter_var() с фильтром F
Напишите программу для валидации адреса электронной почты Вы можете использовать встроенную функцию filter_var() с фильтром FILTER_VALIDATE_EMAIL Эта программа будет выводить либо «$email является действительным адресом электронной почты.», либо «$email не является действительным адресом электронной почты.», в зависимости от того, является ли предоставленный адрес электронной почты действительным. Вы можете заменить «example@example.com» на любой адрес электронной почты, который вы хотите проверить.

Что такое Cohesion и Coupling? Cohesion и Coupling — это два ключевых понятия в проектировании программного обеспечения. Cohesion (качественная связанность) обозначает меру того, насколько хорошо связаны между собой элементы системы. Чем выше уровень cohesion, тем лучше организована система, и тем проще ее понимать и поддерживать. Высокий уровень cohesion достигается, когда компоненты в системе обладают сильной функциональной связью, а каждый компонент выполняет свои задачи наилучшим образом. Coupling (связность) обозначает меру зависимости между элементами системы. Чем выше уровень coupling, тем сложнее поддерживать систему, т. к. любые изменения в одной ее части приведут к изменениям в других частях. Высокий уровень coupling может привести к тому, что система станет очень сложной и нестабильной. Низкий уровень coupling достигается, когда компоненты системы не зависят друг от друга и могут быть изменены без повлияния на другие компоненты. В целом, проектирование системы должно стремиться к высокой cohesion и низкому coupling. Для этого можно использовать различные подходы и паттерны проектирования, такие как SOLID, DRY, YAGNI, TDD и другие. Важно учитывать каждый элемент системы и продумывать его связи с другими элементами.

Назовите 3-4 нормальные формы реляционных БД. В реляционных базах данных, нормальные формы используются для оценки и улучшения структуры данных, чтобы минимизировать избыточность и аномалии данных. Вот некоторые из основных нормальных форм: Первая нормальная форма (1NF): В этой форме все атрибуты в таблице являются атомарными, то есть каждая ячейка содержит только одно значение. Вторая нормальная форма (2NF): Вторая нормальная форма требует, чтобы каждый неключевой атрибут полностью зависел от ключа, то есть не должно быть частичной зависимости. Третья нормальная форма (3NF): В этой нормальной форме устраняются транзитивные зависимости. Это означает, что если A зависит от B, а B зависит от C, то A не должно зависеть от C. Бойса-Кодда нормальная форма (BCNF): Это расширение третьей нормальной формы, которое гарантирует, что каждое неключевое поле зависит только от ключа целиком, а не от его части. Эти нормальные формы представляют собой последовательные шаги в процессе нормализации, который помогает в проектировании эффективных и надежных реляционных баз данных.

Что такое инкремент и декремент, в чем разница между префиксным и постфиксным инкрементом и декрементом? Инкремент и декремент в программировании, в частности в PHP, относятся к операциям увеличения и уменьшения значения переменной на единицу соответственно. В PHP инкремент выполняется с помощью операторов ++, а декремент — с помощью операторов --. Разница между префиксным и постфиксным инкрементом и декрементом заключается в порядке выполнения операции относительно значения переменной. Префиксный инкремент и декремент: Оператор ++ или — ставится перед переменной (++$x, --$x). При этом сначала происходит изменение значения переменной, а затем возвращается новое значение. Постфиксный инкремент и декремент: Оператор ++ или — ставится после переменной ($x++, $x--). При этом сначала возвращается текущее значение переменной, а затем происходит изменение значения переменной.

[Git] Как изменить только сообщение последнего коммита? Убедитесь, что у вас нет изменений в индексе Если в рабочей директории есть несохраненные изменения, сначала сохраните их или зафиксируйте. Это минимизирует вероятность ошибок. Используйте команду git commit --amend Выполните следующую команду, чтобы отредактировать сообщение последнего коммита: git commit --amend -m «Новое сообщение коммита» 🔸Флаг --amend позволяет изменить последний коммит. 🔸Опция -m позволяет указать новое сообщение непосредственно. Если нужно открыть редактор для редактирования сообщения Если вы хотите изменить сообщение через редактор, просто выполните: git commit --amend После этого Git откроет редактор, настроенный по умолчанию (например, vim или nano), где вы сможете отредактировать сообщение. Если изменения уже отправлены в удаленный репозиторий Если коммит был отправлен в удаленный репозиторий, после изменения сообщения выполните: git push --force ⚠️ Используйте --force с осторожностью, так как это может переписать историю репозитория и вызвать конфликты у других участников команды.

Расскажите о regexp. В PHP, регулярные выражения (регэкспы) представлены с помощью функций и операторов для работы с ними. Регулярные выражения представляют собой шаблоны, которые используются для поиска и/или замены текста по определенным правилам. Вот некоторые из основных функций и операторов для работы с регулярными выражениями в PHP: preg_match(): Эта функция используется для проверки, соответствует ли заданный шаблон регулярному выражению. preg_match_all(): Похожа на preg_match(), но находит все совпадения в тексте. preg_replace(): Заменяет все вхождения шаблона регулярного выражения на заданную строку. preg_split(): Разделяет строку на подстроки с помощью регулярного выражения в качестве разделителя. preg_quote(): Экранирует все специальные символы в строке, чтобы они могли быть использованы в регулярном выражении без изменения их значения. Это лишь базовые примеры использования регулярных выражений в PHP. Регулярные выражения очень мощный инструмент, и для их полного понимания рекомендуется ознакомиться с документацией PHP и углубиться в изучение регулярных выражений в целом.

Что такое профайлер Symfony, и как им пользоваться? Профайлер Symfony — это мощный инструмент для отладки и мониторинга, встроенный в фреймворк Symfony. Он предоставляет подробную информацию о запросах, ответах и производительности вашего приложения. Профайлер интегрирован в панель инструментов Debug Toolbar, которая отображается внизу веб-страницы в среде разработки. Основные функции профайлера Symfony: Детали HTTP-запросов и ответов, Информация о маршрутизации, Запросы к базе данных, Отображает все SQL-запросы, Подсвечивает все отрисованные шаблоны Twig, Логирование, Метрики производительности. Как пользоваться профайлером Symfony: 1. Включение профайлера: Профайлер Symfony включен по умолчанию в среде dev. Чтобы убедиться, что он активен: Проверьте, что параметр framework.profiler включен в файле config/packages/dev/framework.yaml 2. Доступ к профайлеру: Панель Debug Toolbar отображается внизу веб-страницы в браузере при работе в среде dev. Кликните на различные секции панели, чтобы получить подробную информацию о запросе. 3. Использование интерфейса профайлера: Нажмите на логотип Symfony или любую секцию панели, чтобы открыть интерфейс профайлера. Используйте вкладки для навигации между различными данными (например, Doctrine для запросов к базе данных, Twig для шаблонов). 4. Анализ конкретных запросов: Каждый запрос регистрируется в профайлере. Вы можете просмотреть и проанализировать запросы через: Интерфейс профайлера. Прямой доступ по адресу /_profiler в браузере, где можно увидеть список всех зарегистрированных запросов. 5. Отладка проблем: Используйте данные профайлера, чтобы определить узкие места в производительности, отладить SQL-запросы или проанализировать заголовки HTTP и логи.