[PHP]: Вопросы на собеседовании #1
В продолжение вступительной статьи, сегодня расскажу про стандартные вопросы на собеседовании Php разработчиков. Начинаем с азов, гуру программирования данный пост скорее всего не заинтересует, и ничего нового они для себя тут не найдут.
Поехали:
1. Что такое ООП? Назовите его основные принципы.
Вопрос избитый, поэтому просто приведу ссылки на wikipedia, кто не знает прочитает, кто знает может открыть, чтобы освежить память.
ООП - Объектно Ориентированное Программирование
При ответе лучше сразу расписать основные парадигмы
- [Наследование](http://ru.wikipedia.org/wiki/Наследование_(программирование)
- Инкапсуляция
- Полиморфизм
Понятно, что вопрос просто разминочный и любой маломальски программирующий человек хоть что-то но сможет рассказать.
2. Что нового, полезного появилось в PHP 5.4
Вопрос задали недавно, думаю в ближайшее время будет достаточно актуален. Опишу вкратце, с ссылками для самостоятельного ознакомления.
- Traits, тут стоит рассказать что это вообще такое, и где можно применить. По вопросу применения -- лучше найти собственный пример, если не пользовались, то можно об этом спокойно сказать, ничего страшного в отсутствии такого опыта я думаю нет
- Встроенный web сервер, теперь можно не ставить Apache/Nginx/Lighthttpd, просто собираем PHP и уже из коробки доступно решение для web девелопмента без лишних заморочек
- Упрощенная работа с массивами
Очень хорошо и структурировано описаны все эти новшества в докладе на DevConf2012: PHP 5.4 - особенности перехода, если вдруг презентация недоступна по ссылке, выложу её сюда. Советую прочитать и попробовать. Свой опыт, он все же лучше любого чужого, хоть и хорошо описанного.
3. Расскажите какие функции для работы с массивами вы знаете в PHP
Вопрос из серии "не бей лежачего". Если вы работаете с PHP, то думаю с 10ок функций вы сходу назовете. Чтобы освежить память можно сходить ознакомиться с ними вот здесь. Официальная документация, там есть все и даже больше.
4. В чем разница между array_keys
и array_search
В ту же сторону, что и предыдущий. Выясняет адекватность написанного вами в резюме. Это 2 абсолютно разные функции. Array_keys — возвращает ключи массива, а array_search ищет в массиве заданный элемент.
5. Какие типы данных вы знаете в PHP
Вопрос каверзный как для новичков, так и для разработчиков среднего уровня, которые умеют уже много писать, но знания их не структурированы. Тут важно сказать, что всего типов данных 9, и перечислить их. Вот официальный мануал по теме ( типы данных в PHP ). Здесь лишь перечислю их.
- Скалярные:
- Смешанные типы данных:
- Специальные типы данных:
- Callbacks:
- Функции обратного вызова (Callbacks) — появился в версии 5.4
- Псевдотипы данных (да это 10ый тип, но не все их относят к типам данных):