Junior Web Developer или что нужно знать для устройства на работу. Часть Вторая.
В первой части я описал лишь самые основы которые должен знать любой разработчик php приложений. В этой части я затрону тему ООП или что конкретно нужно знать начинающему php разработчику для устройства на работу.
PHP OOP.
1)Понимание что такое классы и объекты.
2)Понимания что такое свойства и методы класса.
3)Область видимости свойств и методов. public, protected, private.
4)Статические свойства и методы класса. Излюбленный вопрос - "При вызове статического свойства или метода создается ли объект класса?" и боле изощренный "Что происходит при вызове статического метода или свойства."
5)Конструктор класса. Что это такое, зачем нужно. Плюсом будет знания деструктора класса.
6)Магические методы, getter и setter.
7)Основные парадигмы. Наследования, полиморфизм, инкапсуляция.(про них подробнее)
8)Наследования. Что это такое, где применяется, для чего. Сюда же отнесутся абстрактные классы. Излюбленные вопросы - "Можно ли создать объект абстрактного класса?", "Сколько раз можно отнаследовать один класс ", "Будут ли доступны методы класса родителя в классе-ребенке?"(вопрос с подвохом)
9)Полиморфизм и интерфейсы. Что это такое, где применяется. Обычно просят привести пример. Сюда же могут задать вопрос. "Сколько интерфейсов может иметь один класс", ну или в таком духе.
10)Инкапсуляция. Что это такое, где применяется, примеры.
11)MVC. Что такое, контроллер, модель и вид. За что каждый из них отвечает. Где писать логику обработки приложения.
Далее, что будет жирным плюсом если джун будет это знать.
1) Autoloader. Что это такое, что он делает и как устроен.
2) Bootstrap. За что отвечает данный класс. Зачем нужен.
3) Любой или совокупность шаблонов/паттернов типа Abstract Fаctory, Singleton, DI и т.д. Если назван хоть один, то попросят объяснить зачем он нужен и чем занимается.
В обще говоря, когда дело доходит до OOP работодатель хочет услышать именно про MVC, И основные парадигмы. Остальное задается рандомно и по ситуации, если работодатель сомневается в полноте знаний интервьюера. Лучшей практикой, будет назвать под конкретную парадигму какой нибудь паттерн или шаблон с пояснением, тогда вопросов по OOP будет в разы меньше.
Далее не маловажный аспект это работа с каким либо mvc framework'ом. Например zend 1 или 2, cakephp, symfony2, Yii. По своей структуре они похожи и изучив один, следующий изучить будет в разы легче.
От себя советую прочитать "PHP объекты, шаблоны и методики программирования"(Мэтт Зандстра). В этой книге вы найдете ответы на все вопросы по ООП в PHP, в примерах и даже больше.
Следующая часть будет посвящена html css js, попросту говоря frontend'у.
Первая часть. http://pikabu.ru/story/_2355961
PHP OOP.
1)Понимание что такое классы и объекты.
2)Понимания что такое свойства и методы класса.
3)Область видимости свойств и методов. public, protected, private.
4)Статические свойства и методы класса. Излюбленный вопрос - "При вызове статического свойства или метода создается ли объект класса?" и боле изощренный "Что происходит при вызове статического метода или свойства."
5)Конструктор класса. Что это такое, зачем нужно. Плюсом будет знания деструктора класса.
6)Магические методы, getter и setter.
7)Основные парадигмы. Наследования, полиморфизм, инкапсуляция.(про них подробнее)
8)Наследования. Что это такое, где применяется, для чего. Сюда же отнесутся абстрактные классы. Излюбленные вопросы - "Можно ли создать объект абстрактного класса?", "Сколько раз можно отнаследовать один класс ", "Будут ли доступны методы класса родителя в классе-ребенке?"(вопрос с подвохом)
9)Полиморфизм и интерфейсы. Что это такое, где применяется. Обычно просят привести пример. Сюда же могут задать вопрос. "Сколько интерфейсов может иметь один класс", ну или в таком духе.
10)Инкапсуляция. Что это такое, где применяется, примеры.
11)MVC. Что такое, контроллер, модель и вид. За что каждый из них отвечает. Где писать логику обработки приложения.
Далее, что будет жирным плюсом если джун будет это знать.
1) Autoloader. Что это такое, что он делает и как устроен.
2) Bootstrap. За что отвечает данный класс. Зачем нужен.
3) Любой или совокупность шаблонов/паттернов типа Abstract Fаctory, Singleton, DI и т.д. Если назван хоть один, то попросят объяснить зачем он нужен и чем занимается.
В обще говоря, когда дело доходит до OOP работодатель хочет услышать именно про MVC, И основные парадигмы. Остальное задается рандомно и по ситуации, если работодатель сомневается в полноте знаний интервьюера. Лучшей практикой, будет назвать под конкретную парадигму какой нибудь паттерн или шаблон с пояснением, тогда вопросов по OOP будет в разы меньше.
Далее не маловажный аспект это работа с каким либо mvc framework'ом. Например zend 1 или 2, cakephp, symfony2, Yii. По своей структуре они похожи и изучив один, следующий изучить будет в разы легче.
От себя советую прочитать "PHP объекты, шаблоны и методики программирования"(Мэтт Зандстра). В этой книге вы найдете ответы на все вопросы по ООП в PHP, в примерах и даже больше.
Следующая часть будет посвящена html css js, попросту говоря frontend'у.
Первая часть. http://pikabu.ru/story/_2355961