Вопросы с собеседований и экзаменов по PHP

Вопросы и задачи с собеседований и экзаменов по PHP

перейти к содержанию задачника

  1. Создать скрипт, который в папке /datafiles найдет все файлы, имена которых состоят из цифр и букв латинского алфавита, имеют расширение ixt и выведет на экран имена этих файлов, упорядоченных по имени.Задание должно быть выполнено с использованием регулярных выражений.
    Весь код должен быть прокомментирован в стиле PHPDocumentor'а.
  2. Чему будет равен $x после выполнения выражения $x = 3 + "15%" + "$25"?
  3. Параллельные вычисления (реальное тестовое задание от www.interesnee.ru)
    Суть задачи: Требуется написать класс (семейство классов), позволяющий реализовывать параллельные вычисления на РНР.

    Объяснение сути задачи:
    С помощью данного класса или системы классов становится возможным запускать php скрипты или их части в отдельных процессах. Причём взаимодествие между процессами осуществляется также посредством разработанных классов. При этом под процессом понимается каждый запущеный экземпляр php скрипта.

    Обязательные требования к скрипту:

    • Весь код должен быть написан в OOП стиле, т.е. с использованием классов, интерфейсов, исключений и т.д.
    • Весь код должен быть прокомментирован в стиле PHPDocumentor'a.
    • Скрипт должен функционировать как в Windows так и в Unix системах.
    • Должна быть возможность распараллеливать не только скрипт целиком, но и конкретную функцию или метод класса.
    • Скрипт запускающий параллельные процессы должен иметь возможность общаться с ними в обоих направлениях. А именно: отправлять данные в дочерние процессы в любое время, получать данные с любого из дочерних процессов в любое время, определять статус процесса (работает, не работает). Дочерние скрипты также могут отправлять данные в порождающий процесс в произвольное время.

    Тестовый пример:
    Испытать ваш класс (классы) для распараллеливания предлагается на следующем примере: вычисление числа pi с заданной точностью методом монте карло (см. википедию). Порождающий скрипт запускает несколько дочерних процессов (количество процессов должно быть параметром конфига), каждый из которых начинает вычислять число pi методом монте карло. При этом при запуске параллельного процесса ему должно быть передано количество итераций вычислений, определяемое случайным образом. Порождающий скрипт через неравные промежутки времени (определяемые так же случайно) должен собирать информацию со всех параллельных процессов и выдавать совокупный результат (значение числа pi) в браузер с указанием времени прошедшей с момента запуска главного скрипта.
    Как будет оцениваться ваш тест:

    • Исполняемость и соответствие логики работы скрипта заданию. Если ваш скрипт не реализует распараллеливание процессов, или, в принципе, не может быть исполнен из-за каких-то синтаксических проблем в коде (код либо недописан, либо имеет ошибки синтаксиса), то тестовое задание будет считаться проваленным.
    • Наличие выполненых обязательных требований к скрипту. Если какое-то из обязательных требований не будет выполнено, то это ещё не значит что вы не пройдёте тест. Однако чем больше обязательных требований будет реализовано тем выше вероятность успеха.
  4. $x = 1;
    if ($x == '1') { echo 'a'; }
    if ($x == true) { echo 'b'; }
    if((bool)$x === true){ echo 'e'; }
    if ($x === true) {  echo 'c'; }
    if((int)$x === true){ echo 'd'; }
    Какая строчка выведется при исполнении скрипта?
    Почему исполняется или не исполняется каждое из условий?
  5. Напиши письмо с решением тестового задания на Python + PHP (если не знаешь, можно выучить по докам):
    на вход шаблон аля "ws[10-14].yandex.net", на выход массив ["ws10.yandex.net", ..., "ws14.yandex.net"]И опиши свою стратегию решения насущной задачи: как фильтровать левые заявки на кредиты до получки. Неизвестные моменты ищутся в гугле.И напиши как ты пришел в профессию.
  6. Напишите на PHP функцию разбора SMS с кодом подтверждения от сервиса Яндекс.Деньги. Функция должна принимать текстовую строку и возвращать код подтверждения, сумму и кошелек. Речь идет о реальном сервисе Яндекс.Деньги. Если у вас нет кошелька, то воспользуйтесь эмулятором, генерирующим идентичные сообщения. Учтите, что порядок полей, пунктуация и слова со временем могут быть изменены.
  7. Напишите функцию на JavaScript с использованием jQuery, которая принимает URL, делает GET-запрос на сервер и отображает ответ (или ошибку) в модальном окне Bootstrap. Окно должно открываться при вызове функции без какой-либо задержки. Ответ содержит произвольный HTML-код, не требующий дополнительной обработки.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *