Статьи
Вопросы на собеседовании для PHP-программиста (часть 2)
Итак, в продолжение моей предыдущей статьи, выкладываю следующий список вопросов, на которые мне приходилось отвечать на собеседованиях. В первой статье я разделил их на 7 тем и выложил вопросы из первых двух.
Теперь я затрону 2 темы — это «Администрирование СУБД» и «Основные принципы ООП».
Как уже было упомянуто, я являюсь PHP-программистом и, основываясь на своем опыте прохождения собеседований, могу сказать, что в основном при упоминании СУБД имеется ввиду MySQL, реже PostgreSQL. В настоящей статье я перечислю вопросы, касающиеся администрирования именно MySQL.
Администрирование MySQL
1. Что работает быстрее? MyISAM или InnoDB? Почему в основном используют MyISAM?
2. Есть ли для MySQL универсальная защита от SQL-инъекций?
3. Какими средствами вы будете пользоваться при поиске источника замедления запросов к MySQL? Дайте описание полей, выводимых командой EXPLAIN.
4. Расскажите о способах хранения деревьев в таблице? Например, когда нужно реализовать древовидные комментарии к статье.
5. На что вы в первую очередь обратите внимание при при наличии ощутимых «тормозов» MySQL при условии, что все направленные запросы составлены корректно? Расставьте приоритеты:
- Настройки MySQL
- Файловая система
- Язык программирования
- Память
6. Перечислите случаи, когда использование индексов может только навредить.
Основные принципы ООП
1. Чем интерфейс отличается от абстрактного класса?
2. Как реализовать множественное наследование в PHP?
3. Напишите класс, реализующий синглтон, подсчитывающий количество попыток создания объектов этого класса.
4. Каким будет вывод? Объясните.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <? class foo { function bar(&$a) { $a++; } function bar2($a) { ++$a; } } $f =& new foo(); $a = 0; $b =& $a; $c =& $b; $d =& $c; $f->bar($a); $f->bar2($a); echo $d; ?>5. Для чего нужен паттерн «Наблюдатель». В каких случаях его применение может быть полезно?
На этом все. В следующей статье я выложу вопросы по оставшимся темам:
- Регулярные выражения
- Основные протоколы интернета
- Работа в командной строке Linux
|
|
0 | Tweet | Нравится |
|






