Вопросы на собеседовании по PHP

Наткнулся на хорошие вопросы на собеседовании. Данные задания были разработаны для облегчения проверки знаний соискателей. Задания разработаны таким образом, что Вы можете их выполнить в любое удобное для Вас время и в обстановке, которую считаете оптимальной.

Теперь подробнее о заданиях. Задания разделены на 3 категории. Категория B позволяет оценить базовые знания, насколько Вы, знаете базовые основы языка, основы программирования и насколько хорошо владеете программами необходимыми для разработки продуктов. В категории S расположены вопросы, позволяющие оценить глубину Ваших знаний в той или иной части языка программирования, а так же узнать о знании смежных технологий. Ну и последняя категория, это категория Q в ней собранны вопросы по разработке масштабируемых высоконагруженных систем.

Категория B

Задание B1:
Опишите плюсы PHP версии 5 по сравнению с версией 4.Какие новые возможности Вы считаете бесполезными?

Задание B2:
Опишите ситуаци, когда функциональное программирование лучше объектно-ориентированного.

Задание B3:
Расскажите о плюсах использования паттерна MVC. В каких случаях не стоит его использовать? Какие в нем минусы?

Задание B4:
Расскажите об используемых Вами фреймворках (программных каркасах). В чем их плюсы? Для каких задач лучше использовать существующий фреймворк, а когда лучше все написать самому?

Задание B5:
В чем плюсы и минусы шаблонизации? С какими трудностями Вы сталкивались в работе с шаблонами?

Задание B6:
В чем плюсы использования систем контроля версий? Какие сложности при работе с ним у Вас возникали?

Задание B7:
При работе в команде, каким бы местам в разработке, Вы бы удилили большее внимание? Какие бы соглашения (Coding Conventions) Вам бы помогли в командной разработке?

Задание B8:
Использование баг-трекеров. Какими баг-трекерами Вы пользовались? В чем плюсы использования?

Категория S

Задание S1:
Расскажите, в каких случаях лучше использовать Apache, в каких nginx, а в каких lighttpd сервера.

Задание S2:
Расскажите о использовании Memcached. Какие сложности возникают при его использования? Что бы Вы хотели в нем улучшить?

Задание S3:
В каких случаях Вы бы использовали MyISAM таблицы, а в каких InnoDB, кроме случаев с транзакциями?

Задание S4:
Есть 3 таблицы InnoDB, в двух из них по 200,000 записей (строки примерно по 100 символов) и одна с 20 записями. Как лучше получить взаимосвязанные данные - используя один JOIN или несколько SELECT запросов? Объясните ваше решение.

Задание S5:
Напишите SQL Stored Procedure для MySQL 5.1 базы данных, для заполнения базы тестовыми данными:
id:INT
name:VARCHAR (blabla + id)
desc:LONGTEXT (Is desc + name)
uid:INT (рандомное значение)

Задание S6:
Нужно разарботать систему организовывающаую работу между почтовым сервером и front-end приложением (Flash AS3 Application). Опишите следующие моменты:
Какой формат обмена данными, Вы бы использовали, для минимального трафико-обмена?
В чем плюсы выбранного Вами формата?

Категория Q

Задание Q1:
Есть проект, суть которого в продаже автомобилей. Требования у заказчиков такие: версионность данных(как Wikipedia), возможность расширения моделей данных (можно добавить к описанию автомобиля любое свойство, например наличие модинга). Опишите следующие моменты:
Какую базу данных лучше всего использовать?
Как реализовать версионность в данном случае?
Как реализовать возможность раcширения моделей?
Какова будет конечная структура базы данных?
Какие сложности могут возникнуть в реализации проекта?

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

Задание Q3:
От одного из заказчиков поступает просьба улучшить их проект. Проблема в проекте в том, что он не справляется с нагрузкой. Информация о проекте: сервис блогинга идентичный LiveJournal, 2 сервера (на одном PHP, на другом MySQL ), PHP 5.1, MySQL 5, Apache 2, RedHat Enterprise Linux. По умолчанию считаем, что архитектура проекта правильная, код может частично модифицироваться, улучшения дописываются к существующему коду. Опишите следующие моменты:
Что нужно изменить/добавить в сервисе, для стабильной работы?
Оптимальная ли конфигурация? Нужно ли что-либо в ней изменять?
Приведите примеры улучшений при малом финансировании ( до 500,000 руб.) и при большом (более 50,000,000 руб.).

Задание Q4:
Поступило предложение от заказчика, на создание аналога сервиса микроблогинга Twitter. На Вас ложится задача разработки первой версии архитектуры проекта. По умолчанию считаем, что заказчик готов предоставить неограниченные средства. Опишите следующие моменты:
Какую конфигурацию программной части Вы бы составили для проекта (Операционная система, языки программирования, база данных, фреймворки или сторонние разработки)? Опишите в чем плюсы вашей конфигурации.
Какие слабые стороны возможны у данного проекта? Какие решения Вы можете предложить?
Опишите схему внутренней работы проекта.

© Источник.

Оцени публикацию:
  • 11,46
Оценили человек: 11

Похожие статьи:

Справочники и учебники:


Комментарии посетителей:
  • особенно q3 - бредовей вопроса ещё не встречал:-X
    особенно "Оптимальная ли конфигурация? Нужно ли что-либо в ней изменять?
    Приведите примеры улучшений при малом финансировании ( до 500,000 руб.) и при большом (более 50,000,000 руб.)." - а какая конфигурация изначально? мож там два селерона по 1ггц с оперативой по 64м? + логи смотреть , загрузку системы
    23 февраля 2011, 16:52 коммент полезен : +1 # Anonim
  • нормальный вопрос, просто если ты работаешь в мелкой компании как я, то наверняка не с привычки видеть такие суммы затраченные на железки
    23 февраля 2011, 17:49 коммент полезен : -1 # Admin
  • А варианты ответов есть?:)
    17 октября 2011, 16:35 коммент полезен : +1 # Гость
  • Бред, а не вопросы. Почитал. Нельзя дать однозначные ответы на некоторые вопросы. А уж на абстрактные, так и вообще отвечать не хочется. Почти на любой вопрос 1001 решение. А вообще ответ один: как удобнее и быстрее!
    21 ноября 2011, 14:02 коммент полезен : +1 # Ecxo
  • Вот ещё тут можно пройти тесты по php. Тестов пока не так много,но думаю будут увеличивать их количество. <a href="http://php-include.ru/spisok_zadani" target="_blanck">http://php-include.ru/spisok_zadani</a>
    19 декабря 2011, 07:26 коммент полезен : +1 # Nikolai
  • Дебильные вопросы по большому счету - чем дальше в лес, тем больше бред. Это, наверное ответы в учебниках вуза искать???)) Так как напрягая мозг, можно ответить, если есть один однозначный "утвердительный" ответ, не факт что верный, при этом все познания отвечающего  сводятся лишь к теоретическим. (На практике нужно иметь больше информации по многим вопросам из списка, где кстати "при чем тут php" вообще).
    И кстати, этот тест скорее всего пройдут люди шаблонно-мыслящие. Которые мыслят так же как и "экзаменатор".
    29 марта 2012, 07:39 коммент полезен : +4 # Vbps
  • Вот тут нашел много интересных вопросов с собеседований в реальные компании http://igkuz.ru/blog/tags/sobesedovanie/, некоторые из них достаточно общие, но есть и именно для php
    04 декабря 2013, 21:50 коммент полезен : +2 # GuestPHP
  • Мне больше вопросы и задания из этой статьи понравились: unetway.com/blog/spisok-voprosov-i-zadac-pri-sobesedovanii-php-programmista/
    02 марта 2019, 20:09 коммент полезен : 0 # Максим (гость)
Предложения и пожелания:
Ваше имя:
Ваш E-mail:
Сколько будет Οдин + Τри
Главная
X

youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2019 YaPro.Ru

Главная » Веб-мастеру » PHP »