Тест пр PHP для проверки знания.

Активист

Активист
Команда форума
Тест пр PHP для проверки знания.

У кого есть время.
Начальство дало добро на то, что бы взять еще одного PHP кодера, для выпланения небольшой работы (исправлению, небольшой доработки, написанию не сложных скриптов), одим словом для "рутины".
Зная то, что сейчас довольно много "кривоватых программистов" нужно взять человека с более менее подготовкой (работаем не в центральной росси, так что ощутима проблема с кадрами).

Написал небольшой тест, на бумаге, с целью проверить базовые знания, что бы сильно не терять время на долгие беседы или раздачу всем кандидатам тестовых заданий и их последующее изучение.
На работе сказали перегнул палку =)
Кто что думает.

Еще нужно проверить базовые знания MySQL, но вот в голову по этому поводу ничего не идет. Какие вопросы задать, не спрашивать же материал по мануалу, типа, синтаксис SELECT или "как создать новую таблицу и пользователя vasya с паролем 123".
Тест тут: http://yoursite.net.ru/test_php.doc
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Активист
Посмотрите тесты по SQL на www.specialist.ru
Как вариант вопросы из этого форума. :)
 

AmdY

Пью пиво
Команда форума
Re: Тест пр PHP для проверки знания.

Автор оригинала: Активист
Какие вопросы задать, не спрашивать же материал по мануалу, типа, синтаксис SELECT или "как создать новую таблицу и пользователя vasya с паролем 123".
а чем плохи вопросы, ещё вопрос на INNER JOIN, LEFT JOIN, и про кодировки ;)
 

HraKK

Мудак
Команда форума
Меня можно завалить вопросом на JOIN. Свободно. Вы меня не возмете на рутину?)
 

Андрейка

Senior pomidor developer
Активист
1. эт вопрос на какие знания? на внимательность чтения буквавак с бумажки?
2. так, мои будующие работодатели не любят инициализировать переменные...
3. эээ... а ты то сам сможешь это сделать? да еще и на бумажке
4567, еще раз 7,9, 10. гениально придумано - давать по два-три однотипных вопроса подряд
8. каким образом ошибки в коде зависят от имеющихся файлов в каталоге?
7 номер 2 - это вы так код пишите?

HraKK
а ты "лучший сыщик без диплома" всмысле, без знания JOIN?
 

Активист

Активист
Команда форума
>1. эт вопрос на какие знания? на внимательность чтения буквавак
>с бумажки?
Ну скажем, если человеку скажут, не работает сайт, найди ошибки и исправь. Это тест скажем так на внимательность.

>2. так, мои будующие работодатели не любят инициализировать
>переменные...
Ну здесь суть не в инициализации инкремента =)

>3. эээ... а ты то сам сможешь это сделать? да еще и на
>бумажке
Да. Это как раз и рутина. Сколько раз писал эту регулярку, что выучил.

>8. каким образом ошибки в коде зависят от имеющихся файлов
>в каталоге?
Имеется ввиду логическая ошибка.
Ну скажем здесь 0 (папка) == false, делай вывод.
Может быть нужно по другому сформулировать.

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

>7 номер 2 - это вы так код пишите?
Упс =)
А вообще, по поводу последних трех - это проверка знаний на предмет ссылок. Если человек знает, что такое ссылки, то значит программирует не два месяца, имхо. Может быть не прав.

HraKK
+1

www.specialist.ru - как выход, задумываюсь что бы человек прошел этот тест, но не дома, а находясь в офисе.
Но есть небольшое НО, мне важно знать, где у него "проблема", ведь натаскать можно (а на specialist.ru это сделать не возможно).
 

Андрейка

Senior pomidor developer
Имеется ввиду логическая ошибка.
Ну скажем здесь 0 (папка) == false, делай вывод.

еще раз - нафига ты список папок привел????)) если оттуда папку "0" убрать, то в коде исчезнут ошибки?

По поводу однотипных вопросов, в них есть же небольшая разница. Мое мнение, если человек не знает ответ, это его приведет в тупик.
если два куска кода в 2х вопросах отличаются в определенном месте, то по большей части смысл вопросов утрачивается.. даже если я не знаю что такое !== , то напишу ответ противоположный варианту c !=. Я буду прав?)

OS: Linux Debian Lenny
HTTPD: Apache 2.2
PHP: PHP ver. 5.2.1 (CGI)

а что и где это в тесте от этого зависит? лучше уж бы phpinfo распечатали
 

Wicked

Новичок
Активист
1) и какой критерий правильности регулярки? Должна ли она соответствовать RFC822, и, посему уметь принимать вполне себе валидный email а-ля "Muhammed.(I am the greatest) Ali @(the)Vegas.WBA" ? :)

2) вообще, в подобноего рода тестов есть одна большая проблема: отсутствие двусторонней связи. Я бы, например, наверняка не стал вам писать регулярку, потому что нормальную регулярку я даже близко на память не напишу, а то и вообще сказал бы: "а почему бы не воспользоваться filter extension?"

3) я люблю людям задавать комплексные вопросы, которые за один раз могут выявить сразу многое о знаниях человека. Например по оптимизации: "почему индексы в mysql ускоряют работу?", "Как наиболее быстро проверить, есть ли некоторе значение в массиве (массив мы составляем сами) и почему?". Есть несколько таких же вопросов по безопасности: "почему magic_quotes - зло?". Или по ооп, ооад: "", "какие приемущества у реестра перед глобальными переменными и константами?". По отладке вопрос кому-то может показаться знакомым: "ничего не работает! что делать?" :)
 

Андрейка

Senior pomidor developer
Wicked
3. вы расчитываете на филосовские беседы или просто хотите чтобы кандидат высказал точку зрения совпадающую с вашей?
 

Wicked

Новичок
Андрейка
Зависит от самих вопросов. По некоторым вопросам можно и пофилософствовать. Особенно в последнем: использовать или не использовать юнит-тестирование, например :) По большинству же вопросов просто есть более-менее истинные ответы, независимо от моей точки зрения. По ним я их и ожиадю услышать. Если такой ответ мне не дают, тогда я стараюсь понять, насколько человек от него далек, и могу, например, подкинуть новую информацию и посмотреть, как он ее усвоит.
 

Toshka

Новичок
вопросы пока не все решил и еще выскажусь по этому поводу, но по поводу 7 вопроса) прикинул - 2 должно быть на выходе... копирнул из опенофиса в редактор и как то так получилось, что строчка кода стала выглядеть так
PHP:
$this->arra['key'] = 2;
и блин 1 выводит... я аж документацию еще раз прочитал, пока заметил, что одна буква пропущена:)

в общем, прошел до конца:) все правильно, даж проверить не поленился. вообще, у меня есть некоторое предубеждение насчет таких тестов... нельзя конструктивно оценить знания по таким вопросам ИМХО. хотя человек, занимающийся программированием на PHP, без проблем ответит на эти вопросы, ЕСЛИ увидит все ключевые символы. бывает, что можно просто не заметить, например, & (в 9 задании вполне можно...). а 3 задание я сразу после прочтения пропустил. такое на бумажки не стоит выдумывать, тем более, у большенства наверняка есть уже готовые регулярки для такого...
я бы при приеме на работу просто поговорил с человеком. допустим, задал бы какую нить задачку (не как тут, на внимание, а на "подумать"), например "система распределения прав на сайте", "интеграция с форумом" и т.д. и т.п. _думающий_ человек, даже без хорошего знания php сможет дать разумный ответ. ведь программист это не человек, который может решить все примеры из хэлпа без ошибок, а человек, которые может решать, прежде всего, поставленные перед ним задачи, пользоваться хэлпом, форумом наконец.
 

phprus

Moderator
Команда форума
Toshka
$this->arra['key'] = 2;
и блин 1 выводит... я аж документацию еще раз прочитал, пока заметил, что одна буква пропущена
Если ошибки пропуска буквы вызывают у тебя затруднение, то это значит что ты не выполнил рекомендации данные тут: PHP FAQ: Ничего не работает! Что делать???. Краткие рекомендации.
А именно не выполнены вот эти рекомендации:
PHP:
ini_set('display_errors',1);
error_reporting(E_ALL);
При error_reporting(E_ALL) все ошибки возникающие из-за опечаток в именах переменных отлавливаются очень быстро.
 

Toshka

Новичок
да причем тут это? я просто копирнул код и так получилось, что 1 буква удалилась. я даже на код не смотрел после того, как мне "1" вывело:) после трудового дня думаю, не попутал ли я чего, не может же так быть. потом уже целенаправлено опечатку нашел сразу:)
 

Андрейка

Senior pomidor developer
Toshka
а почему в вопросе 7 должно быть именно 2, а не 1.. где в документации такое написано?
 

Андрейка

Senior pomidor developer
Toshka
нинада мануалом тыкать.. ничего похожего на ситуацию с вопросом 7 на этой страницек не нашел.. не поленись, процитируй плиз
 

Alexandre

PHPПенсионер
Покупаешь Zend PHP 5 Certification Practice Testing 10 тестов Усаживаешь кандидата за компьютер на полтора часа и смотришь результат.
ну ты загнул, ZCE на временную работу ....

самый лучший тест для кандидата - даешь ему кусок реального проекта и спрашиваешь как это работает.
2) по MySQL - если не умеет работать в консоле, значить мускуля не знает, простая ситуация - перенети БД, завести юзера и назначить ему права на эту БД, пользоваться хелпом - можно.
3) вопрос по апачу - модреврайт (любой пример)
4) один вопрос по теории ООП
 

akd

dive now, work later
Команда форума
Alexandre, консоль не показатель.
в случае с постгре мне очень редко приходится залазить в консоль, все из пгадмина на виндах .. тоже самое с мускулом, в консоль я лезу очень редко и почти всегда чтобы сделать дамп на хостинге.
 

Toshka

Новичок
Андрейка
Интересная постановка вопроса. Как это связано с обсуждаемой темой и почему прямой ссылки на хэлп Вам недостаточно? Про ссылки там вполне доходчиво объяснено. Если там нет такого же примера, то меня это мало волнует... Мне хватило для понимания первого абзаца:
Ссылки в PHP - это средство доступа к содержимому одной переменной под разными именами. Они не похожи на указатели C и не являются псевдонимами таблицы символов. В PHP имя переменной и её содержимое - это разные вещи, поэтому одно содержимое может иметь разные имена.
 
Сверху