#1 2012.06.04 00:09

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Тесты по PHP

Да бы разнообразить общение на форуме, буду выкладывать вопросы тестов, а вы на них отвечайте!
При ответе скопируйте вопрос в цитату

Первый тест будет скопирован из реального теста при поступлении в компанию "РСТ Байз"
Добавлено спустя    42 секунды:
Какой из перечисленных операторов позволяет объединить результаты нескольких запросов?

Right join, Left join, Inner join, Cross join, Union

Добавлено спустя   1 минуту  12 секунд:
Какой из перечисленных операторов позволяет изменять записи таблицы?

Update, Insert,  Select, Alter, Drop

Добавлено спустя   1 минуту  44 секунды:
Какие из перечисленных ключей используются для операции объединения таблиц?

Join, Order by, Group by,  Into, Inner

Добавлено спустя   2 минуты  8 секунд:
Необходимо получить список фамилий из таблицы authors, начинающихся на D, заканчивающихся на k, и содержащих 1 букву в середине.

Select name from authors where name like ’D_k%’
Select name from authors where name like ’D%k’
Select name from authors where name = ’D_k’
Select name from authors where name ’D_k’
Select name from authors where name like ’D_k’

Добавлено спустя   2 минуты  24 секунды:
Необходимо определить наименьшую цену (price) товара и получить название (name) товара по этой цене из таблицы goods.

Select name, price from goods where price <0
Select name, price from goods where price = (select min (price) from goods)
Select min (price) from goods
Select min (price) from goods where min(price)
Select name, price from goods where min(price)

Добавлено спустя   2 минуты  42 секунды:
Необходимо удалить все заказы из таблицы orders, сделанные фирмой (companies.name) «Успех».

Delete from orders where name = ’Успех’
Delete from orders
Delete from orders where id = all (select order_id from companies where name = ’Успех’)
Delete from orders where id = any (select order_id from companies where name = ’Успех’)
Delete from orders where id in (select order_id from companies where name = ’Успех’)

Добавлено спустя   2 минуты  55 секунд:
Какое из перечисленных ключевых слов запроса позволяет возвращать неповторяющиеся строки?

Group by
Having
Sort
Order by
Distinct

Добавлено спустя   3 минуты  28 секунд:
Существует таблица table1 с полем field1, заполненным уникальными значениями целого типа от 1 до 10.
Какое количество строк выдаст следующий запрос на выборку после выполнения?
Select field1 from table1 where field1 between 3 and 7

3, 4, 2, 5, 1

Добавлено спустя   3 минуты  48 секунд:
Каково функциональное назначение индексов?

Сортировка данных
Поддержка ссылочной целостности
Ускорение поиска
Группировка данных
Создание первичных ключей

Добавлено спустя   4 минуты  5 секунд:
Необходимо проверить таблицу t1 на наличие ошибок.

Repair table t1
Drоp table t1
Backup table t1 to ’/path’
Restore table t1 from ’/path’
Check table t1

Добавлено спустя   4 минуты  34 секунды:
Необходимо разрегистрировать переменную count, зарегистрированную как переменная сессии.

unset('count')
unset($_SESSION['count'])
session_destroy('count')
unset($count)
session_unset('count')

Добавлено спустя   4 минуты  50 секунд:
Посетитель web-сайта в форме заказа ввёл количество единиц заказываемого товара.

$n=str_to_int($n);
settype($n,"integer");
$n=intval($n);
$n=(int)$n;
$n+=0;

Добавлено спустя   5 минут  7 секунд:
Выберите функцию PHP, которая возвращает число записей, полученных в результате запроса к базе данных сервера MySQL?

cols()
rows()
mysql_quantity()
mysql_records()
mysql_num_rows()


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#2 2012.06.04 00:14

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Тесты по PHP

Сценарий, фрагмент которого изображен на рисунке, имеет проблемы с безопасностью (при помощи запроса GET с указанием переменной $evil_var можно выполнить не предусмотренное разработчиком действие).

Какую опцию необходимо изменить в файле конфигурации для решения данной проблемы?

Код:

1
2
3
4
<?php
system($evil_var);
exec($evil_var);
?>

register_globals
magic_quotes
enable_get
user_variables
get_array

Добавлено спустя    20 секунд:
Необходимо установить уровень сообщений ошибок РНР включающий все ошибки, кроме notice.

E_CORE_ERROR
E_ALL & ~E_NOTICE
E_ALL & -E_NOTICE
E_ALL
E_USER_ERROR

Добавлено спустя   1 минуту  1 секунду:
Необходимо перенаправить пользователя средствами PHP на другую страницу, но при тестировании данного кода Вы заметили, что при работе программы возникает ошибка.


Код:

1
span style="color: #0000BB"><?php print "Сейчас вы будете перенаправлены на др. страницу"; header("Location: http://example.com"); ?>

Функции header() не существует. Необходимо использовать функцию headers_list()
Функцию header() необходимо вызывать до отправки любого вывода
Функции header() имеет второй обязательный параметр, который необходимо указать в данном фрагменте кода
Функции print () не существует. Необходимо использовать другую функцию
Функции header() не существует. Необходимо использовать функцию headers_sent()

Добавлено спустя   1 минуту  25 секунд:
Какое из перечисленных ниже утверждений НЕ является верным?

$a % $b вычисляет процент $a от общего $b
$a * $b вычисляет произведение $a и $b
$a - $b вычисляет разность $a и $b
$a / $b вычисляет частное от деления $a на $b
$a + $b вычисляет сумму $a и $b


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#3 2012.06.04 11:41

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Тесты по PHP

Nu3oN написал:


Первый тест будет скопирован из реального теста при поступлении в компанию "РСТ Байз"
Добавлено спустя    42 секунды:
Какой из перечисленных операторов позволяет объединить результаты нескольких запросов?

Right join, Left join, Inner join, Cross join, Union

Добавлено спустя   1 минуту  12 секунд:
Какой из перечисленных операторов позволяет изменять записи таблицы?

Update, Insert,  Select, Alter, Drop

Добавлено спустя   1 минуту  44 секунды:
Какие из перечисленных ключей используются для операции объединения таблиц?

Join, Order by, Group by,  Into, Inner

Добавлено спустя   2 минуты  8 секунд:
Необходимо получить список фамилий из таблицы authors, начинающихся на D, заканчивающихся на k, и содержащих 1 букву в середине.

Select name from authors where name like ’D_k%’
Select name from authors where name like ’D%k’
Select name from authors where name = ’D_k’
Select name from authors where name ’D_k’
Select name from authors where name like ’D_k’

Добавлено спустя   2 минуты  24 секунды:
Необходимо определить наименьшую цену (price) товара и получить название (name) товара по этой цене из таблицы goods.

Select name, price from goods where price <0
Select name, price from goods where price = (select min (price) from goods)
Select min (price) from goods
Select min (price) from goods where min(price)
Select name, price from goods where min(price)

Добавлено спустя   2 минуты  42 секунды:
Необходимо удалить все заказы из таблицы orders, сделанные фирмой (companies.name) «Успех».

Delete from orders where name = ’Успех’
Delete from orders
Delete from orders where id = all (select order_id from companies where name = ’Успех’)
Delete from orders where id = any (select order_id from companies where name = ’Успех’)
Delete from orders where id in (select order_id from companies where name = ’Успех’)

Добавлено спустя   2 минуты  55 секунд:
Какое из перечисленных ключевых слов запроса позволяет возвращать неповторяющиеся строки?

Group by
Having
Sort
Order by
Distinct

Добавлено спустя   3 минуты  28 секунд:
Существует таблица table1 с полем field1, заполненным уникальными значениями целого типа от 1 до 10.
Какое количество строк выдаст следующий запрос на выборку после выполнения?
Select field1 from table1 where field1 between 3 and 7

3, 4, 2, 5, 1

Добавлено спустя   3 минуты  48 секунд:
Каково функциональное назначение индексов?

Сортировка данных
Поддержка ссылочной целостности
Ускорение поиска
Группировка данных
Создание первичных ключей

Добавлено спустя   4 минуты  5 секунд:
Необходимо проверить таблицу t1 на наличие ошибок.

Repair table t1
Drоp table t1
Backup table t1 to ’/path’
Restore table t1 from ’/path’
Check table t1

Добавлено спустя   4 минуты  34 секунды:
Необходимо разрегистрировать переменную count, зарегистрированную как переменная сессии.

unset('count')
unset($_SESSION['count'])
session_destroy('count')
unset($count)
session_unset('count')

Добавлено спустя   4 минуты  50 секунд:
Посетитель web-сайта в форме заказа ввёл количество единиц заказываемого товара.

$n=str_to_int($n);
settype($n,"integer");
$n=intval($n);
$n=(int)$n;
$n+=0;

Добавлено спустя   5 минут  7 секунд:
Выберите функцию PHP, которая возвращает число записей, полученных в результате запроса к базе данных сервера MySQL?

cols()
rows()
mysql_quantity()
mysql_records()
mysql_num_rows()

Отредактировано tipsun (2012.06.04 11:48)

Неактивен

#4 2012.06.04 11:53

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Тесты по PHP

Nu3oN написал:

Сценарий, фрагмент которого изображен на рисунке, имеет проблемы с безопасностью (при помощи запроса GET с указанием переменной $evil_var можно выполнить не предусмотренное разработчиком действие).

Какую опцию необходимо изменить в файле конфигурации для решения данной проблемы?

Код:

1
2
3
4
<?php
system($evil_var);
exec($evil_var);
?>

register_globals
magic_quotes
enable_get
user_variables
get_array

Добавлено спустя    20 секунд:
Необходимо установить уровень сообщений ошибок РНР включающий все ошибки, кроме notice.

E_CORE_ERROR
E_ALL & ~E_NOTICE
E_ALL & -E_NOTICE
E_ALL
E_USER_ERROR

Добавлено спустя   1 минуту  1 секунду:
Необходимо перенаправить пользователя средствами PHP на другую страницу, но при тестировании данного кода Вы заметили, что при работе программы возникает ошибка.


Код:

1
span style="color: #0000BB"><?php print "Сейчас вы будете перенаправлены на др. страницу"; header("Location: http://example.com"); ?>

Функции header() не существует. Необходимо использовать функцию headers_list()
Функцию header() необходимо вызывать до отправки любого вывода
Функции header() имеет второй обязательный параметр, который необходимо указать в данном фрагменте кода
Функции print () не существует. Необходимо использовать другую функцию
Функции header() не существует. Необходимо использовать функцию headers_sent()

Добавлено спустя   1 минуту  25 секунд:
Какое из перечисленных ниже утверждений НЕ является верным?

$a % $b вычисляет процент $a от общего $b
$a * $b вычисляет произведение $a и $b
$a - $b вычисляет разность $a и $b
$a / $b вычисляет частное от деления $a на $b
$a + $b вычисляет сумму $a и $b

Отредактировано tipsun (2012.06.04 11:55)

Неактивен

#5 2012.06.04 15:08

Akdmeh
Участник
Откуда: Киев и рядом;)
Зарегистрирован: 2008.11.30
Сообщений: 257
Карма: 9
Профиль Веб-сайт

Re: Тесты по PHP

Простенько, но понял, что надо немного почитать о mysql-запросах, а то постоянно с этими join'ами запаркаsmile


Желание стать программистом из-за того, что вам нравляться компьютерные игры-это все равно, что желание стать гинекологом из-за того, что вам нравиться сексwink

Неактивен

#6 2012.06.04 15:14

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Тесты по PHP

Мне результаты сообщите.
Прошел - Нет?

Неактивен

#7 2012.06.04 18:03

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Тесты по PHP

tipsun, Какое из перечисленных ключевых слов запроса позволяет возвращать неповторяющиеся строки?
там 2 варианта. GROUP BY еще.
Существует таблица table1 с полем field1, заполненным уникальными значениями целого типа от 1 до 10.
Какое количество строк выдаст следующий запрос на выборку после выполнения?

тут вообще логика не понятна. Ответ неправильный и не понятно как полученный)
Необходимо разрегистрировать переменную count, зарегистрированную как переменная сессии.
тут я вопроса не понял)
Посетитель web-сайта в форме заказа ввёл количество единиц заказываемого товара.
тут тоже не очень понял. если имеется ввиду обработка перед внесением в бд, то там в принципе все подходит)
Какую опцию необходимо изменить в файле конфигурации для решения данной проблемы?
тут вопроса снова не понял, и ответа не увидел)
Необходимо установить уровень сообщений ошибок РНР включающий все ошибки, кроме notice.
тут ответа не увидел.

Неактивен

#8 2012.06.04 20:55

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: Тесты по PHP

Существует таблица table1 с полем field1, заполненным уникальными значениями целого типа от 1 до 10.
Какое количество строк выдаст следующий запрос на выборку после выполнения?
тут вообще логика не понятна. Ответ неправильный и не понятно как полученный)

Я не ответил на этот вопрос.
Вопросы, на которые я не знал ответов, выделал красным smile
- - - -
Спс, что посмотрел smile
- - - -
Я на большинство вопросов положился на интуицию big_smile

Отредактировано tipsun (2012.06.04 21:02)

Неактивен

#9 2012.06.04 22:20

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Тесты по PHP

tipsun написал:

Мне результаты сообщите.
Прошел - Нет?

пока что еще не ответили...
Добавлено спустя    29 секунд:
Gemorroj, тоже не понял сути некоторых вопросов...
Добавлено спустя   2 минуты  20 секунд:
прислали еще тестовое задание:

Напишите, пожалуйста, средствами php, MySQL, JavaScript, HTML и CSS форму входа/регистрации нового пользователя.
Продумайте самостоятельно необходимые поля. В результате заполнения формы пользователь должен предоставить информацию о себе. Форма должна быть выполнена способом, понятным пользователю, содержать необходимые инструкции, комментарии и т.п. (usability).
Скрипт должен содержать средства верификации и валидации полей, а также защиту от некорректного ввода данных, спецсимволов, попыток взлома и т.п. Кроме введения текстовых данных пользователь при регистрации должен иметь возможность загрузить
графический файл форматов gif, jpg, png.
Вспомогательные тексты в форме (названия полей, подсказки, ошибки и пр.) должны быть сформулированы грамотно и понятно пользователю, выдержан деловой и уважительный стиль обращения.
Код должен быть написан понятно и аккуратно, с соблюдением табуляции и прочих элементов написания, без лишних элементов и функций, не имеющих отношения к функционалу тестового задания, снабжен понятными комментариями.
После входа должен отображаться профайл зарегистрировавшегося пользователя.
Обращаем внимание на то, что имеет значение не только техническая часть выполненного задания (коды), но и дизайнерская (внешний вид, логика оформления, полнота инструкций).
Фреймворки использовать нежелательно. Хочется видеть авторский код.
Временем Мы Вас не ограничиваем. Упор на качество и безопасность кодов.

Хотелось бы, чтобы Вы продемонстрировали:
1 - читабельность кода,
2 - оптимизацию базы данных (индексация полей и т.п.),
3 - умение работать с javascript


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#10 2012.06.04 23:10

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: Тесты по PHP

ой кабздец, ненавижу такие задания. по-моему это просто неуважение по отношению к соискателю, я лично пожалел бы свое время и сразу же пошел смотреть другие вакансии.

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.033 s