Недавно мне тоже пришлось выполнить одно тестовое задание. По моему мнению, оно состояло из довольно интересных задачек. Я не удержался и решил опубликовать его в своем блоге.
Итак, задания…
Задание №1.
Нужно вывести последовательность чисел от 1 до 100 в виде лесенки, то есть на первой строке 1, на второй 2,3, на третей 4,5,6 на четвертой 7,8,9,10 и т.д.
Задание №2.
Заполнить матрицу 5 на 7 уникальными случайными числами и вывести на экран матрицу и суммы по столбцам и по строкам.
Задание №3.
Есть файл с именем и расширением произвольной длины. Нужно отсечь расширение и вывести его на экран.
Задание №4.
Создать «шахматную доску» средствами PHP, на основе введенных параметров: количества клеток по вертикали и горизонтали, а также цвета первой клетки. Результат должен быть получен при помощи AJAX.
Задание №5.
Написать функцию для расчета факториала числа. Задание на использование рекурсии.
Задание №6.
Нужно поменять местами значения двух переменных без использования дополнительных переменных для промежуточного хранения данных.
Если вам интересно, вы можете посмотреть мои варианты решения этого задания, пройдя по ссылкам ниже.
Решение.
- Задание 1 — http://mattweb.ru/demo/test_php/task1.php
- Задание 2 — http://mattweb.ru/demo/test_php/task2.php
- Задание 3 — http://mattweb.ru/demo/test_php/task3.php
- Задание 4 — http://mattweb.ru/demo/test_php/task4.html
- Задание 5 — http://mattweb.ru/demo/test_php/task5.php
- Задание 6 — http://mattweb.ru/demo/test_php/task6.php
Комментарии
Автору спасибо. Задачки действительно занимательны. Особенно интересно сравнивать свое решение с решениями автора (и др. людей), даже в таких крохотных задачках явно видны различия в восприятии и способах решения заданий.
Для примера 3-е задание (вывести расширение) я так решил:
/*-------------
$fname = "some_file.html";
$extLen = 0 - (strlen($fname) - strpos($fname, '.') - 1);
$ext = substr($fname, $extLen);
echo $ext;
-------------*/
А 1-е (вывести числа лесенкой) - я вообще понял по другому (по невнимательности) но задача от этого не стала менее интересной:
/*--------------
$space = '';
for($num=1; $num
Это не совсем тестовое задание. Это практическое задание. Тестовое проверяет знания. А практическое показывает ваше решение, одновременно выявляя ваш уровень знаний.
RSS лента комментариев этой записи