Помогите найти тест на знание PHP

culturolog

Желательно устный. Т.е. чтобы спросить у человека несколько вопросов и тут же узнать результат его знаний ПХП. Подскажите, плз!

doublemother

1. Пхп — компилируемый или интерпретируемый? Можно ли его скомпилировать в байткод? А в нативный код?
2. Что такое ArrayObject? ArrayIterator?
3. Как по умолчанию в пхп передаются аргументы в функцию — по ссылке или по значению? Почему как правило не рекомендуется передавать данные по ссылке?
4. Какие функции в пхп называются магическими? Какие операторы в своём классе можно переопределить? Можно ли переопределить, например, оператор сложения?
5. Что выведет следующий код:
$a = new stdClass;
$a->q = "a";
$b = $a;
$a->q = "c";
print $b->q;

Как сделать так, чтобы $b->q отдавал "a"?
5. Как структуры данных пхп устроены изнутри? Как устроены переменная, массив, класс? Где хранятся пользовательские и встроенные функции, можно ли их заменить?
6. Какие типы данных знает zend_parse_arguments? Как можно сделать перегруженную функцию, принимающую, например, либо bool, либо два string, средствами пхп? А средствами его апи?
7. Можно ли средствами пхпшного апи заменить операторы класса?
Ну это так, навскидку придумал, можно ещё интересных вопросов задать.

doublemother

Ну и вообще перед постановкой подобной задачи стоит определиться, какого уровня кандидат ищется и зачем.

culturolog

Спасибо, но хотелось бы еще получить ответы на эти вопросы, т.к. проверяющий буду сам я.
Нужно это для того, чтобы определить с кем имею дело: с программистом или с "менеджером проекта", который потом найдет фрилансера и тот все сделает в итоге, а менеджер получит маржу.

uncle17

получит моржу
:grin:

elenangel

кстати, а какая тебе вообще разница, кто выполнит проект, если размер оплаты тебя будет устраивать?

slonishka

Спасибо, но хотелось бы еще получить ответы на эти вопросы, т.к. проверяющий буду сам я.
Нужно это для того, чтобы определить с кем имею дело: с программистом или с "менеджером проекта", который потом найдет фрилансера и тот все сделает в итоге, а менеджер получит моржу.
Чувак, ололо! Ты и есть менеджер проекта по составлению вопросов к php-собеседованию с ответами!
Но ты ошибся, "фри" в слове "фрилансер" означает "свободный", а не "бесплатный".
Поэтому ты сейчас сильно рискуешь вместо моржи словить в ебало! =)
А может даже склеить ласты!

culturolog

кстати, а какая тебе вообще разница, кто выполнит проект, если размер оплаты тебя будет устраивать?
Большая разница. Хочу иметь дело с исполнителем, а не с посредником.

culturolog

А кто говорит про бесплатность? Что плохого в том, что всю сумму N получит фрилансер? Зачем нужен еще посредник в раскладе?

slonishka

А кто говорит про бесплатность? Что плохого в том, что всю сумму N получит фрилансер? Зачем нужен еще посредник в раскладе?
Это шутка такая. Смотри, еще раз: ты хочешь исключить менеджеров из игры. При этом сам ведешь себя как менеджер!
Причем ищущий решения своей задачи забесплатно (максимизируя, таким образом, МОРЖА).
GOT IT?

culturolog

Действительно я МЕНЕДЖЕР проекта, т.к. я и заказываю этот проект! Я ищу программиста, чтобы тот выполнил мой проект. Готов платить деньги и хорошие деньги. Что криминального в этом я не понимаю?!
Просто при попытке найти программера на сайте фриласа очень часто натыкаюсь на студии. Недавно втсретился с вроде бы "программистами", оказалось 2 армянина. Сказали что работают в основном удаленно, но что-то мне подсазывают, что они просто возьмуться за мой проект, найдут программистов и передадут его им. Сами на этом и наживаются.
Я понимаю что это бизнес, но хотелось бы исключить заедомо лишнее звено в цепи.

elenangel

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

culturolog

Спасибо! Поэтом прошу ответить на те вопросы, которые привел :cool:
На этом топик можно будет закрывать, т.к. я усвоил все необходимые уроки бизнеса и жизни

elenangel

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

LevaLeva

1. Компилируемый. В байт код не только можно скомпилить - более того, это делается самим интерпретатором.
Как выглядит обработка сценария на PHP обычным интерпретатором:
Чтение файла
Генерация байткода
Выполнение кода
Выдача результата

PooH

2. Что такое ArrayObject? ArrayIterator?
очень удобная штука!

doublemother

1. Компилируемый. В байт код не только можно скомпилить - более того, это делается самим интерпретатором.
А в нативный код его можно скомпилировать при помощи hiphop от фэйсбука (который в общем-то в промежутке транслирует его в c++, но в результате получаем искомое).

culturolog

Смысл это здесь постить если нету ответов. Мне нужен тест с ответами.

apl13

даже эти 2 армяна выполняют некоторую полезную работу - ищут тебе исполнителя и ищут исполнителю заказ. при этом у них те же сложности - отличить посредника от программиста что и у тебя
Жаль только, количество денег ограничивает длину этой цепочки (или у нас можно уже доли копейки платить? а то бы я с удовольствием посмотрел на бесконечную последовательность посредников. :D

doublemother

Смысл это здесь постить если нету ответов. Мне нужен тест с ответами.
Смысл постить ответы, если ты не разбираешься в предметной области? Вопросы я запостил исключительно потому, что сначала думал, что ты программист, который затрудняется с набором вопросов для собеседования.
Вот первый вопрос мы разобрали. Придёт к тебе программист и на первый (подробно расписанный ) вопрос скажет следующее: «Компилируемый. Компилируется он в опкод, в нативный код скомпилировать нельзя, но можно сохранить сгенерированный опкод при помощи различных кэшеров — <список>». Как ты будешь оценивать, правильно он ответил или нет? На ответ (особенно с учётом моего дополнения к этому ответу) это, мягко говоря, не слишком похоже.
И кстати на бóльшую часть вопросов тебе ответить смогут только люди, которые к тебе никогда не придут. А если тебе нужна какая-нибудь опердень типа "написать мегамодуль для друпала", то подходящий кандидат в лучшем случае ответит на один, может два вопроса.

okis

Был тест от badoo: http://php.feedme.ru/ , но он сейчас не работает и весьма mysql-ориентирован.

SCIF32

Фишка в том, что если ты мало понимаешь в php и веб-разработке
(видимо это так, т.к. не можешь составить опросник)
то проверить качественно ли сделана работа и
правильно ли работник выставляет сроки, ты не сможешь.
Как при этом ты собираешься управлять проектом?

okis

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

SCIF32

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

stm7884696

И кстати на бóльшую часть вопросов тебе ответить смогут только люди, которые к тебе никогда не придут.
На большую часть вопросов могут ответить люди, которые будут опознаны как фанаты PHP. К реальному опыту разработок эти вопросы имеют посредственное отношение. Над человеком, который знает ответы на все эти вопросы обязательно должен стоять архитектор приложения и еще несколько менеджеров, которые будут направлять и указывать знатоку, куда его знания применять.
Я бы довольствовался тем, что попросил бы описать последний проект и с какими трудностями при его реализации пришлось столкнуться разработчику. А уже по ответам на его вопросы можно было бы судить, к какому звену он относится. Если техническими проблемами будет сыпать или похвастается удачной реализацией нового класса или метода, то скорее всего кодер, если будет про красивенькие дизайны рассказывать, то верстальщик или дизайнер, технических знаний которых хватит только на нарезку макета под движок WP, а если в финансовую часть углубиться, то "коня потеряешь" (кто дочитал простыню - молодец).
Вобщем ответы будут понятны и без специальных знаний, а если какой ответ непонятен - всегда можно будет попросить дать более развернутый вариант, заодно сам узнаешь что новое, да и глубину знаний кандидата поймешь.

uncle17

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

stm7884696

тестировщики :)
подвид: кодер-тестировщик :)

uncle17

точнее как... мои мне давали некое задание, я его реализовывал, а потом еще раз пять по столько времени с высоты опыта работы с ними придумывал, что они меня попросят поменять/добавить через неделю, и реализовывал сразу и это. Ну и да, наибольшая защита от дурака.

stm7884696

ну я и говорю, один к пяти, кодер - тестировщик :)
еще конечно есть замашки архитектора, но я подозреваю, что ты пришел уже на готовую архитектуру и сначала, как обычно, долго ругался, а потом чему-то и сам у нее научился :)
Оставить комментарий
Имя или ник:
Комментарий: