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

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

Відкрити в Telegram

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

Показати більше
3 111
Підписники
Немає даних24 години
-67 днів
-1830 день
Архів дописів
Переворачиваем календарь — а там скидки, которые уже закончились. Но мы их вернули на последний день 🤔 До 00:00 третьего сен
Переворачиваем календарь — а там скидки, которые уже закончились. Но мы их вернули на последний день 🤔 До 00:00 третьего сентября (цены как до 1 сентября): ▪️ Математика для Data Science — 35.199 ₽ вместо 44.900 ₽ ▪️ Алгоритмы и структуры данных — 31.669 ₽ вместо 39.900 ₽ ▪️ Основы IT — 14.994 ₽ вместо 19.900 ₽ ▪️ Архитектуры и шаблоны — 24.890 ₽ вместо 32.900 ₽ ▪️ Python — 24.990 ₽ вместо 32.900 ₽ ▪️ ML для Data Science — 34.000 ₽ вместо 44. 000 ₽ ▪️ AI-агенты — 49.000 ₽ вместо 59.000 ₽ 👉 Хватаем скидки из прошлого P.S. Машину времени одолжили у дяди Миши

Что такое позднее статическое связывание? Позднее статическое связывание — это возможность в PHP определять методы с одним и
+2
Что такое позднее статическое связывание? Позднее статическое связывание — это возможность в PHP определять методы с одним и тем же именем в разных классах и динамически вызывать соответствующий метод, основываясь на типе объекта во время выполнения программы. Одним из примеров использования позднего статического связывания в PHP является механизм наследования и перегрузки методов. Позволяет заменять родительские методы в дочерних классах, сохраняя при этом связь с родительским классом. Для его использования в PHP можно воспользоваться ключевыми словами static или self. Ключевое слово static ссылается на класс, в котором был вызван метод, а self используется для обращения к методам текущего класса, игнорируя изменения методов в дочерних классах. Пример использования позднего статического связывания в PHP на фото.

[Git] Какой командой можно сделать ресет изменений, не потеряв их? Чтобы отменить изменения и при этом не потерять их в Git, можно использовать команду git reset с флагом --soft или --mixed, или команду git restore. Вот основные варианты: 1. git reset --soft Эта команда откатит последний коммит, но все изменения останутся в области подготовленных изменений (staging area), так что их можно будет заново закоммитить: git reset --soft HEAD^ Здесь HEAD^ указывает на последний коммит, от которого нужно сделать откат. Если хотите откатить несколько коммитов, можно использовать HEAD~N, где N — количество коммитов для отката. 2. git reset --mixed Эта команда откатит последний коммит и вернет изменения в рабочую директорию, но они будут убраны из staging area. То есть файлы останутся изменёнными, но их придётся снова добавлять командой git add перед коммитом: git reset --mixed HEAD^ Флаг --mixed также используется по умолчанию, поэтому его можно опустить. 3. git restore для работы с отдельными файлами Если вы хотите снять изменения только с определённых файлов, не трогая весь коммит, используйте команду git restore: 🔸Перенос файла из staging area в рабочую директорию (убрать из подготовленных изменений): git restore --staged <имя_файла> 🔸Отмена всех изменений в файле (возврат к состоянию из коммита): git restore <имя_файла> Эти команды удобны, если нужно отменить изменения по отдельным файлам или управлять состоянием рабочей директории без потерь.

Что такое Docker? Каков принцип его работы? Docker — это платформа с открытым исходным кодом для автоматизации разработки, доставки и развертывания приложений в изолированных средах, называемых контейнерами. Контейнеры позволяют упаковать приложение со всеми его зависимостями в единый образ, который можно запускать на любой системе, где установлен Docker, независимо от конфигурации хостовой ОС. Принцип работы Docker Docker использует технологии изоляции, предоставляемые ядром Linux, такие как cgroups и namespaces, для создания легковесных и изолированных контейнеров. Контейнеры используют общее ядро хостовой операционной системы, что позволяет запускать их с минимальными накладными расходами по сравнению с традиционными виртуальными машинами. Основные компоненты Docker: Docker Daemon (dockerd): Служба, управляющая контейнерами и образами. Docker Client (docker): Интерфейс командной строки для взаимодействия с Docker Daemon. Docker Images: Шаблоны, содержащие все необходимые компоненты для запуска приложений. Docker Containers: Запущенные экземпляры Docker Images, изолированные друг от друга. Docker Registry: Репозиторий для хранения и распространения Docker Images. Преимущества использования Docker: Портативность: Контейнеры можно запускать на любой системе с установленным Docker, обеспечивая консистентность окружений. Изоляция: Каждое приложение работает в своем контейнере, что предотвращает конфликты между зависимостями. Масштабируемость: Docker облегчает масштабирование приложений путем запуска нескольких экземпляров контейнеров. Быстрота развертывания: Контейнеры запускаются быстрее, чем традиционные виртуальные машины, что ускоряет процессы разработки и тестирования. Как Docker используется в разработке PHP-приложений: Для PHP-разработчиков Docker предоставляет возможность создавать контейнеры с необходимыми версиями PHP, веб-серверами (например, Nginx или Apache) и базами данных (например, MySQL или PostgreSQL). Это позволяет разработчикам создавать локальные окружения, идентичные продакшн-средам, что минимизирует проблемы, связанные с различиями в конфигурациях. Инструмент Docker Compose позволяет описывать многоконтейнерные приложения, что упрощает настройку и управление такими окружениями.

ПОСЛЕДНИЙ ДЕНЬ❗ КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️ — ML за 34к вместо 44к + Python в подарок — Математика → второй доступ в подарок —
ПОСЛЕДНИЙ ДЕНЬ❗ КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️ — ML за 34к вместо 44к + Python в подарок — Математика → второй доступ в подарок — Ранний доступ к AI-агентам с 15 сентября — И МОЖНО УСПЕТЬ КУПИТЬ ВСЁ ДО ПОДОРОЖАНИЯ 👉 Proglib Academy

В чем разница между функциями «htmlentities» и «htmlspecialchars» в PHP? В PHP функции htmlentities() и htmlspecialchars() используются для кодирования HTML-сущностей, но они имеют разные цели: «htmlspecialchars()»: Эта функция в основном используется для экранирования символов HTML, которые имеют специальное значение в HTML, таких как <, >, &, и «. Она преобразует эти символы в соответствующие HTML-сущности (<, >, &, «). Это часто используется для предотвращения атак XSS (межсайтового скриптинга), гарантируя, что пользовательский ввод отображается «как есть», без интерпретации как HTML. «htmlentities()»: Эта функция преобразует все применимые символы в соответствующие HTML-сущности. В дополнение к символам, экранируемым «htmlspecialchars()», она также преобразует символы, такие как не-ASCII символы и различные символы. Эта функция часто используется, когда необходимо гарантировать безопасное кодирование всех символов для вывода HTML, особенно при работе с многоязычным контентом.

🤓 «Сначала выучу Python идеально, а потом пойду в ML» Звучит логично, но на практике — ловушка. Python огромный: фреймворки,
🤓 «Сначала выучу Python идеально, а потом пойду в ML» Звучит логично, но на практике — ловушка. Python огромный: фреймворки, библиотеки, нюансы синтаксиса. Учить «всё сразу» можно бесконечно. В итоге — месяцы зубрёжки, а до ML руки так и не доходят. На старте достаточно баз: типы данных, циклы, функции, работа с библиотеками. Всё остальное лучше подтягивать в процессе решения ML-задач. ⚠️ До 1 сентября курсы можно забрать по старым ценам. Это последние выходные, когда: — ML идёт за 34 000 вместо 44 000 ₽ + Python в подарок, два в одном: оплатите курс по математике и получите второй доступ в подарок, — и главное: можно купить все курсы до подорожания. 👉 ML для старта в Data Science А для будущих Data Scientist’ов у нас ещё: — Базовые модели ML и приложенияМатематика для Data ScienceAI-агенты для DS-специалистов (2-й поток скоро)

⏰ Осталось 48 часов! Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и н
Осталось 48 часов! Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и начать учиться уже с 15 сентября. ⚡️ Это ваши +3 недели форы, чтобы спокойно разобраться в самых сложных темах и прийти к первому занятию 7 октября уже подготовленным. 👉 Забрать место

Напишите на PHP пример реализации паттерна Singleton.
Напишите на PHP пример реализации паттерна Singleton.

Как Laravel упрощает тестирование и почему это важно? Laravel упрощает тестирование благодаря встроенным инструментам и структуре, которые способствуют разработке тестируемого кода, обеспечивая правильную работу приложения и его удобное обслуживание по мере роста. Тестирование важно, потому что оно помогает выявлять ошибки на раннем этапе, гарантирует, что новые функции не нарушат существующую функциональность, и даёт уверенность в том, что код работает, как ожидалось, в продакшене. 1. Инструменты для тестирования и настройка окружения Тестовое окружение: Laravel включает выделенное тестовое окружение, которое можно настроить отдельно от основного приложения. Это позволяет изолировать тестовые базы данных и гарантирует, что тесты не повлияют на реальные данные. Транзакции базы данных: Трейт RefreshDatabase в Laravel позволяет откатывать транзакции базы данных после каждого теста, что сохраняет базу данных в чистом состоянии и обеспечивает согласованность тестов. 2. Интеграция с PHPUnit Интеграция с PHPUnit: Laravel использует PHPUnit как основную тестовую среду, и предоставляет конфигурационный файл phpunit.xml, предварительно настроенный для Laravel-проектов. Это обеспечивает стандартизированное тестирование и широкую поддержку для написания и запуска юнит- и функциональных тестов. Встроенные утверждения: Laravel предоставляет множество утверждений, которые упрощают проверку состояния приложения, HTTP-ответов и валидации данных. 3. Юнит-тестирование для изолированных компонентов Архитектура Laravel, поддерживающая внедрение зависимостей и поставщиков сервисов, побуждает к написанию модульного кода, который легко тестировать отдельно. С помощью библиотеки Mockery Laravel позволяет создавать моки зависимостей, чтобы можно было сосредоточиться на тестировании изолированных частей кода без учета внешних интеграций. 4. Функциональные тесты для интегрированной функциональности HTTP-тестирование: HTTP-методы Laravel позволяют тестировать маршруты, ответы, отправку форм и API через простой и читаемый синтаксис, такой как $this->get('/route'). Тестирование браузера: С помощью Laravel Dusk можно проводить сквозное тестирование взаимодействия с JavaScript и фронтендом, симулируя действия пользователя в браузере, что идеально для тестирования сложных пользовательских интерфейсов. 5. Вспомогательные инструменты и фабрики Фабрики моделей: Фабрики Laravel упрощают генерацию тестовых данных без необходимости вручную создавать экземпляры моделей. Это особенно полезно для тестирования базы данных, так как позволяет быстро создавать данные в различных состояниях. Сидеры и Faker: Laravel также интегрирован с Faker для генерации фальшивых данных и позволяет использовать сидеры для определения начальных состояний базы данных.

Что такое Composer? Composer — это инструмент для управления зависимостями в PHP-приложениях. Он позволяет легко устанавливать, обновлять и управлять библиотеками и фреймворками, которые используются в проекте. Основные функции Composer: Установка зависимостей: Composer позволяет определить необходимые библиотеки и их версии в файле composer.json, а затем установить их с помощью команды composer install. Обновление зависимостей: После установки библиотек, можно обновить их до последних версий, указанных в файле composer.json, с помощью команды composer update. Автозагрузка классов: Composer автоматически создает файл автозагрузки, который позволяет использовать классы из установленных зависимостей без необходимости явного подключения файлов. Автоматическое разрешение зависимостей: Composer управляет разрешением зависимостей, учитывая совместимость версий между различными библиотеками. Создание собственных пакетов: Composer позволяет создавать собственные пакеты для повторного использования в различных проектах и их публикации в репозитории Packagist для общего использования. Использование Composer значительно упрощает управление зависимостями в PHP-проектах и помогает поддерживать их актуальность и безопасность.

📢 Какой сетап идеально подойдёт для разработки AI-агента? Голосуйте за свой вариант и пишите в комментариях, в каком режиме
📢 Какой сетап идеально подойдёт для разработки AI-агента? Голосуйте за свой вариант и пишите в комментариях, в каком режиме вы реально кодите. ❤️ — 1 👍 — 2 ⚡️ — 3 👏 — 4 🔥 — 5 🎉 — 6 😁 — 7 😍 — 8 🤩 — 9 Какой бы сетап ни был, без AI-агентов в 2025 всё равно далеко не уедешь. 👉 Научим, как строить агентов, которые кодят с тобой

Что такое функции soundex() и metaphone() в PHP? Функция soundex(): Функция soundex() вычисляет звуковой индекс строки. Sound
Что такое функции soundex() и metaphone() в PHP? Функция soundex(): Функция soundex() вычисляет звуковой индекс строки. Soundex — это фонетический алгоритм, который назначает код слову на основе его произношения. Он применяется преимущественно для поиска слов, которые звучат похоже, но могут быть написаны по-разному. Функция сокращает слова до четырехсимвольного кода, который представляет его звучание. Это полезно для задач, таких как поиск имен, которые звучат похоже, но имеют разные написания. Функция metaphone(): Функция metaphone() вычисляет метафонический ключ строки. Metaphone — это еще один фонетический алгоритм, но он более продвинут, чем Soundex. Он преобразует слово в фонетический ключ, состоящий из одной или нескольких букв. В отличие от Soundex, Metaphone учитывает вариации произношения и более эффективен для английских слов.

❗ Так, владелец макбука. Хватит позировать в кофейне. Настоящее портфолио — это не стикеры на крышке, а проект с чистым кодом, README и рабочей демкой. Не знаешь, как такой собрать? Научим. Наш курс «ML для старта в Data Science» — это пошаговый гайд к проекту, за который не стыдно. ОСТАЛАСЬ НЕДЕЛЯ, чтобы забрать его по старой цене в 44.000 ₽. С 1 сентября — всё. 🎁 И да, при покупке курса ML до 1 сентябрякурс по Python получаешь бесплатно. 👉 Апгрейд от «вайба» до «оффера» тут

🚀 Почему стоит выбрать Symfony для разработки? 🔹 Модульность и компоненты — независимые части, которые можно использовать о
🚀 Почему стоит выбрать Symfony для разработки? 🔹 Модульность и компоненты — независимые части, которые можно использовать отдельно, ускоряя развитие и повышая гибкость. 🔹 Гибкая настройка — высокий уровень кастомизации, поддержка Dependency Injection для сложных проектов. 🔹 Надежность и поддержка — LTS-версии до 3 лет, стабильность и регулярные обновления для бизнеса. 🔹 Инструменты разработки — Symfony CLI, профайлер, генераторы кода, автоконфигурация — ускоряют работу и отладку. 🔹 Сообщество и документация — большое сообщество, обучающие материалы, рецепты и мероприятия помогают быстро освоить и решать задачи. 🧩 Где используют? — Spotify, BlaBlaCar, Dailymotion, а также компоненты Symfony используют Laravel и другие фреймворки. Выбирайте Symfony — создавайте масштабируемые, гибкие и надежные проекты! Пройдите тест, получите скидку на курс «Symfony Framework» и станьте востребованным PHP-разработчиком с передовыми навыками: https://clc.to/WAyOSA Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Что такое TDD? TDD (Test-Driven Development) — это методология разработки программного обеспечения, в которой разработка программы начинается с написания тестов, которые определяют желаемое поведение программы. Затем код разрабатывается и изменяется таким образом, чтобы эти тесты проходили успешно. Процесс TDD обычно состоит из трех шагов, известных как «Красный», «Зеленый» и «Рефакторинг»: Красный (Red): Сначала пишутся тесты для новой функциональности или для исправления ошибок. Поскольку этот этап выполняется до написания реализации, все тесты должны завершаться неудачей (иметь статус «красный»). Зеленый (Green): Затем пишется минимальное количество кода, необходимое для прохождения тестов. Цель — сделать все тесты прошедшими (иметь статус «зеленый»). Рефакторинг (Refactor): После того как все тесты прошли успешно, код можно улучшить, переработав его для улучшения структуры, производительности и т. д., сохраняя при этом поведение программы неизменным. Это позволяет улучшать код без риска нарушения его функциональности.

🏃‍♀️ Новый поток курса — собери своих AI-агентов 7 октября стартует второй поток курса «AI-агенты для DS-специалистов». За 5 недель вы научитесь собирать агентов, которые уже сейчас будут помогать бизнесу. В кружке выше Максим Шаланкин, наш преподаватель, рассказывает подробнее — включай, чтобы не пропустить. 👉 Записаться на курс

Відеоповідомлення00:53

Что такое план выполнения запроса и как его узнать? План выполнения запроса (Query Execution Plan) — это детальный анализ того, как база данных будет выполнять запрос, включая порядок обработки данных, используемые индексы, методы соединения и другие оптимизации запроса. Понимание плана выполнения запроса может помочь оптимизировать производительность запросов, выявляя возможные проблемы и улучшая структуру запроса или индексы. В разных системах управления базами данных (СУБД) есть различные способы получения плана выполнения запроса. Ниже приведены общие методы для некоторых из них: MySQL / MariaDB: Используйте ключевое слово EXPLAIN перед запросом SQL. PostgreSQL: Используйте ключевое слово EXPLAIN перед запросом SQL. Для более подробного анализа используйте ключевое слово EXPLAIN ANALYZE. SQL Server: Используйте ключевое слово EXPLAIN перед запросом SQL. Для более подробного анализа используйте команду SET SHOWPLAN_TEXT ON;, а затем выполните запрос. SQLite: Используйте ключевое слово EXPLAIN QUERY PLAN перед запросом SQL. Oracle: Используйте инструкцию EXPLAIN PLAN FOR. Полученный план выполнения запроса может быть сложным для понимания, но он предоставляет ценную информацию о том, как база данных обрабатывает ваш запрос, что может помочь в оптимизации его производительности.

Какова разница между функциями session_unregister() и session_unset()? В PHP функции session_unregister() и session_unset() использовались для работы с переменными сессии. Однако начиная с PHP 5.3.0, функция session_unregister() была признана устаревшей, и её использование крайне не рекомендуется. Вместо неё следует использовать unset($_SESSION['имя_переменной']). session_unregister() (Устарела): Эта функция использовалась для удаления глобальной переменной из текущей сессии. Была признана устаревшей в PHP 5.3.0 и удалена в PHP 5.4.0. Основная причина устаревания связана с тем, что она зависела от устаревшей функциональности register_globals, которая считается уязвимостью безопасности. session_unset(): Эта функция используется для освобождения всех переменных сессии. Она не уничтожает саму сессию или сбрасывает сессионную куку; она только очищает данные сессии. Рекомендуется использовать unset($_SESSION['имя_переменной']) для удаления определённой переменной сессии. В современной разработке на PHP рекомендуется использовать unset($_SESSION['имя_переменной']) или $_SESSION['имя_переменной'] = null; для удаления конкретных переменных сессии и session_unset() для очистки всех переменных сессии. Использование session_unregister() следует избегать из-за её устаревания и потенциальных проблем с безопасностью, связанных с register_globals.