Lecture
— С чего начали изучать программирование?
— Си, Паскаль,Html, css, javascript, php, фреймворки
— Предпочтительная среда разработки?
— Phpstorm — подсветка, автокомплит, контроль версий, субд
Notepad++ — подсветка синтаксиса, снипеты, макросы
— Почему выбрали PHP?
— PHP, потому что когда занялся веб-разработкой с удивлением узнал, что хостеры не позволяют, как правило, на своих серверах компилировать Си программы, альтернативы были PHP и Perl, глянул исходники пары гостевух на том и другом, выбрал PHP из-за схожести с Си по синтаксису и, как следствие, вероятному сокращению времени на освоение.
– Какими сторонними библиотеками пользовались?
— Pear, GeoIP
– Опыт работы с различными фреймворками?
— Zend Framework, Yii, Laravel, CakePHP, CodeIgniter
— Что нового в PHP 5.3?
— Пространство имен, замыкания, константы классов
— Что нового в PHP 5.4?
— Трейты, короткая запись массивов
— Что нового в PHP 5.5?
— Генераторы, API хэширования паролей
— Что нового в PHP 5.6?
— Выражения в константах, нефиксированные параметры в функциях, **
— Что нового в PHP 7?
— Объявление типов в параметрах функций, объявление возвращаемого значения в функции, ??, <=>, массивы в константах, анонимные классы
– Типы данных в PHP?
— К скалярным типам данных относятся:
* целый тип (integer),
* вещественный тип данных (float, double),
* логический тип (boolean),
* строковый тип (string)
* и специальный тип NULL.
К нескалярным типам относятся:
* «ресурс» (resource),
* массив (array)
* и объект (object).
– Назови по памяти функции для работы с массивами, строками
void echo ( string arg1 [, string argn…])
string convert_cyr_string ( string str, string from, string to)
array explode ( string separator, string string [, int limit])
string htmlspecialchars ( string string [, int quote_style [, string charset]])
string implode ( string glue, array pieces)
string md5 ( string str [, bool raw_output])
string nl2br ( string string)
void printf ( string format [, mixed args])
mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count])
string str_shuffle ( string str)
string strip_tags ( string str [, string allowable_tags])
int strlen ( string str)
int strpos ( string haystack, string needle [, int offset])
string strstr ( string haystack, string needle)
string strtolower ( string str)
string strtoupper ( string string)
string trim ( string str [, string charlist])
string ucfirst ( string str)
массив array_merge ( массив массив_1, массив массив_2 [, array …])
array array_unique ( array array)
array array ( [mixed …])
int count ( mixed var [, int mode])
bool in_array ( mixed needle, array haystack [, bool strict])
void list ( mixed …)
void shuffle ( array array)
— Поменяй значение переменных A и B местами не используя третью переменную
PHP
1 2 3 4 5 6 |
<? $a += $b; $b = $a - $b; $a -= $b;
//list($b, $a) = array($a, $b); |
— Что выведет: echo (int) ((0.1 + 0.7) * 10);
— 7, так как ((0.1 + 0.7) * 10) = 7,999999 из-за внутреннего преобразования чисел с плавающей точкой
— Разница между echo и print
— echo — конструкция, print — функция
– Что такое сериализация?
— Представление данных (переменных, массивов, объектов) для их передачи (хранения)
— Как хранить пароли (в открытом виде или хэш)
— password_hash, password_verify (php 5.5+)
— Чем отличается хороший код от плохого
— Хороший код соблюдает code convention, Комментированный, Безопасный, Структурированный, Обрабатывает ошибки.
— ООП – абстракция,наследование, инкапсуляция и полиморфизм
— Инкапсуляция – это когда переменные в объекте, а доступ к ним через методы.
Полиморфизм – возможность описывать разные методы, с одинаковым именем . для параметров int и float, в php нормального полиморфизма нет.
Наследование – копирование свойств и методов базовых классов, с возможностью их переопределения и расширения.
Абстракция – создание свойств, методов, классов, которые обязательно должны переопределяться наследниками до непосредственного использования.
— Какие шаблоны проектирования знаешь? Расскажи в чем соль каждого?
— Что есть MVC? Какую роль выполняет каждый из составляющих элементов?
— Model-view-controller (MVC, «Модель-представление-поведение», «Модель-представление-контроллер») — архитектура программного обеспечения, в которой модель данных приложения, пользовательский интерфейс и управляющая логика разделены на три отдельных компонента, так, что модификация одного из компонентов оказывает минимальное воздействие на другие компоненты. Шаблон MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента
— Чем помогает code review — когда смотрят твой код?
— синтаксические ошибки
— convention
— безопасность
— полезности
— Сколько времени нужно на разработку гостевой книги?
Посетители:
* просмотр гостевой книге в виде ленты по 20 постов на страницу;
* регистрация.
Пользователи:
* авторизация,
* восстановление пароля,
* добавление постов в гостевуху.
Администратор:
* редактирование постов,
* добавление ответов на посты (1 пост — 1 ответ).
— 4 — 8 часов
— Как реализуется ответ на посты админом (в отдельной таблице или в той же, где посты).
— в отдельной — comments
Comments
To leave a comment
Running server side scripts using PHP as an example (LAMP)
Terms: Running server side scripts using PHP as an example (LAMP)