Экзамен по PHP в ИНТУИТ


Любой программист должен постоянно учиться. Лично я считаю, что обучение – это больше практика и откладывание вследствие этого знаний в голове, но все же приятно иногда получить подтверждение вследствие сдач тестов и экзаменов. В этой статье я расскажу вам, как сдавал экзамен по PHP в ИНТУИТ.

В ИНТУИТЕ я иногда записываюсь на курсы и прохожу их – для самообразования, так как моим работодателям и заказчикам требуются не корочки, а знания. Но и корочки иметь приятно. Итак, вот последний диплом по курсу PHP:



Здесь нет оценки, набрал я 81 из 100 баллов (четвёрка): некоторые здания меня немного изумили. Но, обо всем по порядку.

Итак, первый же вопрос очень прост:



Тут даже можно догадаться, если не знаешь ответа. Trim – с обеих сторон, r – справа, l – слева. Но надо знать о функции chop(), иначе ответ будет неполным и его не засчитают.

Ответы на некоторые вопросы можно найти в поисковике, просто вбив туда текст вопроса. Вот, например:

Как работают пользовательские обработчики сеансов в PHP?
(Отметьте один правильный вариант ответа.)
Вариант 1	путем вызова следующих операций хранения: open, close, read, write, destroy, gc 
Вариант 2	путем вызова следующих операций хранения: open, close, read, write, rewrite, gc
Вариант 3	путем вызова следующих операций хранения: open, close, read, write, rewrite, nc
Вариант 4	путем вызова следующих операций хранения: open, close, read, readonly, write, rewrite
Правильный ответ – вариант 1, это надо просто знать.

Некоторые вопросы относились не напрямую к PHP, а к смежным областям. К примеру, вот такой вопрос:

Какой оператор в MySQL задает границы запроса, в которые должен попасть значение, чтобы условие запроса выполнилось?
(Отметьте один правильный вариант ответа.)
Вариант 1	is null
Вариант 2	regexp
Вариант 3	between
Вариант 4	not like
В общем, логично, программист PHP должен знать MySQL запросы, но экзамен же именно по PHP? Ответ - 3.

А вот следующий вопрос поверг меня в ступор и я на него дал неверный ответ:

Какие параметры у поля со списком в html?
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Вариант 1	checked
Вариант 2	disabled
Вариант 3	name 
Вариант 4	size 
Вариант 5	multiple 
Во-первых, это вопрос по HTML, а не PHP. Но ладно, HTML я тоже знаю, поэтому попробуем ответить. Поле со списком – это тег select. Предположим, что под параметрами здесь подразумеваются атрибуты тега. Тег select может иметь такие атрибуты как name, size и multiple. Checked – точно нет, здесь selected. После просмотра результатов, оказалось, что я неверно ответил. Могу предположить, что я пропустил атрибут disabled – элемент может быть неактивен, выключен.

Еще вопрос из HTML:

Какой тег служит для табличного дизайна?
(Отметьте один правильный вариант ответа.)
Вариант 1	<div>тело таблицы</div>
Вариант 2	<table>тело таблицы</table>
Вариант 3	<tbody>тело таблицы</tbody>
Вариант 4	<textarea>тело таблицы</textarea>
Не очень корректно сформулировано, вообще-то принято говорить табличная вёрстка. Но не будем придираться – правильный ответ под номером 2.

Ответы на некоторые вопросы экзамена можно было узнать, просто выполнив код на сервере (локальном или хостинге). Вот, например.

Каким будет результат выполнения следующего кода:

$open=fopen("my_file.txt","w+");
fwrite($open,"строка\r\n");
fclose($open);
     
(Отметьте один правильный вариант ответа.)
Вариант 1	файл my_file.txt будет очищен, в него будет добавлена строка "строка"
Вариант 2	файл my_file.txt будет очищен, в него будет добавлена строка "строка", если файл не существует, то он создаётся
Вариант 3	файл my_file.txt будет очищен, в него будет добавлена строка "строка", если файл не существует, то он создаётся в той папке, где запускается сам скрипт +
Вариант 4	файл my_file.txt будет очищен
Но можно и не выполнять, а просто поразмышлять. Функция fopen открывает файл для записи, а флаг w+ значит, что он очищается, а если нет – создается. То есть правильный ответ – вариант 3. Обратите внимание, что 2 и 3 отличаются – так как в коде путь к файлу не указан, то подразумевается, что каталоги скрипт расположены в одной директории.

Вот еще похожий вопрос:

Каким будет результат выполнения следующего PHP-кода, если файл base.txt имеет следующую структуру: my_first_line - первая строка файла my_second_line - вторая строка файла	my_third_line - третья строка файла my_fourth_line - четвертая строка файла my_fifth_line - пятая строка файла my_sixth_line - шестая строка файла

$file="base.txt";
  $line="5";
  $data="new line";
  $array=file($file);
  $open=fopen($file,"w");
   while(list($num,$string)=each($array))
    {
     if(($num+1)==$line) fwrite($open,$data."\r\n");
     fwrite($open,$string);
    }
 fclose($open);

 (Отметьте один правильный вариант ответа.)
Вариант 1	в результате в файле my_fifth_line и my_sixth_line будут "сдвинуты" на одну строку вниз и в конец файла будет добавлена строка 'new line'
Вариант 2	в результате в файле my_fifth_line и my_sixth_line будут "сдвинуты" на одну строку вниз
Вариант 3	в результате в файле my_fifth_line и my_sixth_line будут "сдвинуты" на одну строку вниз и вместо четвертой строки файла будет добавлена строка 'new line', если данный файл находится в той же папке, что и данный скрипт 
Вариант 4	в результате в файле my_fifth_line и my_sixth_line будут "сдвинуты" на одну строку вниз и в конец файла будет добавлена строка 'new line', если данный файл находится в той же папке, что и данный скрипт
Правильный ответ под номером 3.

Похожий вопрос:

Каким будет результат выполнения следующего кода, после первого запуска:
$string="хорошая сегодня погода, верно?";
$string=convert_cyr_string($string,"w","k"); 
     
(Отметьте один правильный вариант ответа.)
Вариант 1	текст 'хорошая сегодня погода, верно?' с кодировкой x-cp866 конвертируется в тот же тескт с кодировкой windows-1251
Вариант 2	текст 'хорошая сегодня погода, верно?' с кодировкой x-cp866 конвертируется в тот же тескт с кодировкой x-mac-cyrillic
Вариант 3	текст 'хорошая сегодня погода, верно?' с кодировкой windows-1251 конвертируется в тот же тескт с кодировкой koi8-r 
Вариант 4	текст 'хорошая сегодня погода, верно?' с кодировкой x-mac-cyrillic конвертируется в тот же тескт с кодировкой iso8859-5
Здесь надо просто знать, что первый флаг функции convert_cyr_string() – это из какой кодировки (у нас w - windows-1251), а второй – в какую (у нас k - koi8-r) происходит конвертация. Правильный ответ под номером 3.

Пара вопросов по теории:

Какая функция в PHP возвращает информацию о потоке существующего сокета?
(Отметьте один правильный вариант ответа.)
Вариант 1	socket_get_status();
Вариант 2	socket();
Вариант 3	socket_status();
Вариант 4	socket_post_status();
Ответ вариант 1. И еще

Что позволяет проверить оператор if?
(Отметьте один правильный вариант ответа.)
Вариант 1	оператор if позволяет проверить истинность выражения и выполнить инструкцию только в том случае, если заданное выражение принимает значение false
Вариант 2	оператор if позволяет проверить ложность выражения и выполнить инструкцию только в том случае, если заданное выражение принимает значение true
Вариант 3	оператор if позволяет проверить ложность выражения и выполнить инструкцию только в том случае, если заданное выражение принимает значение false
Вариант 4	оператор if позволяет проверить истинность выражения и выполнить инструкцию только в том случае, если заданное выражение принимает значение true 
Ответ вариант 4. И еще

Для чего предназначен оператор extends в PHP?
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Вариант 1	оператор extends позволяет включить механизм наследования классов+
Вариант 2	оператор extends вызывается всякий раз при создании нового объекта данного класса
Вариант 3	оператор extends позволяет включить механизм мономорфизма классов
Вариант 4	оператор extends служит для создания классов, в которых используется функциональность другого класса+
Вариант 5	ключевое слово extends говорит о том, что дочерний класс наследует все методы и свойства базового класса+
Правильные ответы - это 2,4,5. И еще.

Какие функции в PHP служат для объединения и разделения строк?
(Отметьте один правильный вариант ответа.)
Вариант 1	extrude(), inploode()
Вариант 2	explode(), implode() 
Вариант 3	implode(), extrude()
Ответ вариант 2

А вот, на мой взгляд, самый интересный вопрос экзамена:

Какие символы считаются пробельными в PHP()?
(Отметьте один правильный вариант ответа.)
Вариант 1	/n, /r, /t, /v, \0, обычные побелы 
Вариант 2	/n, /r, /t, /v, \0, ', ", \, NUL
Вариант 3	обычные пробелы
Вариант 4	/n, /r, /t, /v, \0
Пробельными символами в PHP считаются: символ новой строки, возврат каретки, пробел, горизонтальную и вертикальную табуляции и символ NULL. Если знать, что «\0» - это именно NULL, то ответ очевиден – вариант 1.

Ну от последнего вопроса я посмеялся.

Каким будет результат выполнения следующего PHP-кода:

$string="Zmlyc3RfcmVjb3Jk"; # раскодируемое
$decoded=base64_decode($string);
echo $decoded;

(Отметьте один правильный вариант ответа.)
Вариант 1	My_Code_Text
Вариант 2	FirstCode
Вариант 3	myName
Вариант 4	first_record
Вот интересно, есть ли люди, которые бы в голове смогли раскодировать эту строку? Лично я не смог и пришлось воспользоваться онлайн сервисом по декодированию base64. Правильный ответ – это вариант номер 4.

Если вам требуется помощь при подготовке к экзамену по языкам программирования, в частности, PHP, то я вам за небольшую плату с удовольствием помогу. Учиться интересно. А вдвоём - еще и весело!
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, личное, php, экзамены, тесты




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.



Программа 'Постоянно онлайн вконтакте'
Грустно. Интересно. Надо читать
Как управлять курсором с помощью JS