[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопросы к собеседованию
Страницы: 1, 2, 3, 4, 5
Invis1ble
SlavaFr
Вот эту темку глянь. Человек уже более года мучает бедную кохану, не зная основ синтаксиса php.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

OleKh
Вопрос на засыпку ) не глядя в мануал

var_dump (...функция?...('A'));


Результат string(1) "N"
SlavaFr
Цитата (Invis1ble @ 14.02.2013 - 12:09)
SlavaFr
Вот эту темку глянь. Человек уже более года мучает бедную кохану, не зная основ синтаксиса php.

Там другая проблема, он или не захотел заглянуть в код библиотеки, или заглянул но не смог с ним разобратся по причине "X". OOP конечно не означает только умение конфигурировать и заменять компоненты и параметры, хотя в идеальном случае это является целю. Конечно надо уметь в случае ошибки залезть в приватный метод или при желании наследовать имеющиеся классы разбератся в ихних protected методах, или как в тобой указанном случае с методом "where" попытатся найти ответ в коде, если не можеш найти его в документации или в поисковых машинах.
На моей предыдущей работе (4 года назад) к нам пришел Java-программист который без проблем писал плугины для Eclipse, но не имел опыта в PHP. За неделю он прочел книгу о PHP в которой была данна оснавная информация связаная с этим языком, a через 2 недели большенство наших программистов включая меня могли поучится у него. Через 2 месяца все работали по принцыпам "Clean Code" и новые классы писались только с Unit-Тестами, а исправление ошибок в старом коде по меньшей мере с функциональными тестами.

Я это к чему smile.gif, когда человек знает как программировать правильно (OOP) , то он с особеннасями конкретного языка справится без особых затруднений , так что знание ООP стоит обязательно учесть при тесте.

@twin если человеку пийдется поломать голову и потратить время для поиска выражения типа "substr(htmlspecialchars(strip_tags(trim(" , то 2 раз ему это делать уже не прийдется, так как это будет закапсулированно в классе занимающейся фильтрацией. После этого нужно електрошокером уничтожить тот участок мозга в котором это выражение запомнилось smile.gif

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
Invis1ble
SlavaFr
Цитата
Там другая проблема, он или не захотел заглянуть в код библиотеки, или заглянул но не смог с ним разобратся по причине "X".

нет, там как раз именно то, о чем я написал. Он до сих пор не знает, что методы можно вызывать не только в виде цепочки. Посмотри этот коммент для наглядности. Тупо копирует все как попугай, без осмысления. Не может отдельный метод (ORM::where) вынести в отдельное условие (if).

Ты бы взял такого на работу к себе? Я бы - нет.
Лучше взять того, кто понимает, что он делает и зачем и знает сам язык (речь даже не идет о знании штатных функций php). Такой человек всегда сам сможет разобраться в любом фреймворке.

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

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Dezigo
Надо задавать вопросы и по ООП и по алгоритмам.

Так как это тема относиться вообще к любому языку и в результате, пиши тест на чём хочешь.

lock12
Invisible, очень плохой пример ты приводишь. Все равно что о профи php судить по работе чудика, только изучившего уроки Попова.

Оценивать работу на фреймворке можно оценивая работу на нем профессионала.

То чего стоят php программисты велосипедисты, они уже доказали своим говнокодом. Но это же не распространяется на всех. А как тыкать в фреймворк, так выбираете примеры работы неспособных.

Наугад с фреймворком они работают потому что их требуют с ним работать, но понять его они не способны. Т.к. такие фреймворки на ооп и написаны не так просто и чтобы понять реальную механику надо постараться. Это же не тупо использование функций. С функциями любой говнокодер сможет.
Invis1ble
lock12
пример отличный, доказывает необходимость осознания того, что делаешь.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

paul85
Господа, ИМХО, на любом собеседовании (не только на вакансию программиста PHP) следует проверять аналитические способности. Если человек умеет мыслить и делать правильные выводы - то есть осознавать то, что он делает - при надлежащей мотивации из него можно вырастить профессионала экстра класса.

Натаскаться по практическим вопросам и заучить нативные функции могут многие. А вот грамотно распоряжаться ими - единицы. Концепция ООП, с этой точки зрения, в определенной мере может показать интеллектуальные способности кандидата.

Задавать конкретные задачи на применение функций считаю нецелесообразно. "Программист" может обладать энциклопедическими знаниями, но сложить 2+2 не сможет. Слава богу, справочная информация сегодня не дефицит и проверять ее в высшей степени неразумно. ИМХО.

Прошу прощения, может быть не оригинален, но если бы вы знали как надоели собеседования по конкретным вопросам, направленные чисто на зубрежку... (Россия. Москва)
twin
Кpaul85
Цитата
Господа, ИМХО, на любом собеседовании (не только на вакансию программиста PHP) следует проверять аналитические способности. Если человек умеет мыслить и делать правильные выводы - то есть осознавать то, что он делает - при надлежащей мотивации из него можно вырастить профессионала экстра класса.
Вот это верное направление.

У меня где-то был тест Гугла при приеме программистов на работу. Не могу найти, но суть, что основная масса вопросов была такого плана:
Цитата
Почему крышка колодца круглая?

Первична все-таки логика и умение построить алгоритмы. Алгоритмы в PHP практически невозможно строить, не зная низовую матчасть. И только потом уже всякие фантики и рюшечки типа ООП и фреймворков.

Здесь же на форуме кто-то показывал, как люди, легко ориентирующиеся в километровых веревках плана
$this->redirect(Base::app()->user->returnUrl);
впадают в ступор при виде такого кода
    function stripslashesDeep($data)     
{
if(is_array($data))
$data = array_map("stripslashesDeep", $data);
else
$data = stripslashes($data);
return $data;
}


Так вот, повторюсь. Смотря какой нужен результат. Если это вакансия кодера-копипастера (негра на слэнге), то да, SlavaFr прав. Там человек, не владеющий методикой решения алгоритмов даже полезнее - не будет лезть куда не надо. Дали либу и сиди довольный.

Если нужен программист, то ООП при опросе должно быть на последнем месте. А фреймворки еще дальше, если вообще должны.

А по сути топика. я пытался сделать он-лайн тест. И даже сделал. Сам скрипт. Уперлось все как раз в вопросы(((

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
inpost
Лучше 2 раза исправить конфиг, чем 1000 раз писать mysql_connect. А ООП тут каким боком?

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
olgatcpip
Цитата (Zzepish @ 12.02.2013 - 18:58)
Да! работа с массивами: когда foreach и когда for.
Какуй ключ у второго значения
array('vasya'=>'Привет',"Поривет");

А вот меня до жути заинтересовала эта задача и я провела эксперимент


$v = array('vasya'=>'Привет',"Привет");
print_r($v);
echo '<br>-------------------------<br>';
foreach($v as $i=>$val)
{
echo "<br>--$i:".print_r($val);
echo '====';
}


резальтат

Цитата
Array ( [vasya] => Привет [0] => Привет )
-------------------------
Привет
--vasya:1====Привет
--0:1====


И всё бы ничего...... да только с одной стороны print_rv показывает индекс однозначно 0
С другой.... никакого индекса, поменяля порядок вывода и что значит --0:1==== ? я только могу догадываться...

_____________
Ласковое слово и кошке приятно... Плюсик в карму сойдет wink.gif
*smarty дока - новая любовь
Моё рукотворение ругайте, хвалите smile.gif
Веду маленький блог
в этом блоге публикую новые работы
WMR217126627282 wink.gif

Zzepish
olgatcpip
ну, все правильно) ключ у второго значения 0 ))
S.Chushkin
Цитата (paul85 @ 18.02.2013 - 05:16)
Натаскаться по практическим вопросам и заучить...

Вот тут Вы абсолютно правы - любой тест, в т.ч. и на аналиттика, можно "заучить". Т.е., если тестируемый захочет "надуть" тестера, он это сделает. Особенно, если тестер не профессионал в этих вопросах.
Основная цель простых тестов (аля ЕГЭ) - отсеивание случайных людей. Такие тесты точны, если тестируемый их честно выполняет. Для профессионалов, спецов с многолетним опытом, они бесполезны и даже вредны зачастую.
Для прошедших такие тесты или для опытных спецов есть только один способ реального/точного отбора, - практическая работа. Если через 1-2-4 недели (в зависимости от сложности) результат работы нанятого вас не устраивает, то значит это не тот спец, кто вам нужен. (но не значит, что он плохой спец вообще - он просто не подходит именно для этой работы)
Как-то так...

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
bestxp
Алгоритмы

1. Расположите в порядке возрастания сложности алгоритма O(N), O(logN), O(N^2), O(N*logN), O(exp(N))?
2. Что такое сложность алгоритма, что она характеризует?
3. От чего зависит, критична ли сложность выбираемого алгоритма для решения конкретной задачи?

Оптимизация

1. Какие возможности есть у xdebug для профилирования приложения?
2. Опишите пример практического опыта использования xdebug в режиме профилирования.
3. Опишите возможные уровни кэширования в приложении, сервер-сайд. Укажите плюсы и минусы каждого из них.
4. Опишите два-три опыта оптимизации приложения, сервер-сайд.
5. Опишите опыт оптимизации приложения, клиент-сайд.

Работа PHP

1. Что такое раннее связывание и позднее связывание?
2. В чём суть copy-on-write? Приведите пример.
3. Как работает APC (Alternative PHP Cache)?
4. Приведите 3 разных варианта замены в строке всех символов “а” на “б”?


Нормальный middle программист ответит на все вопросы
Студент на большую часть
Показушник сдуется сразу
S.Chushkin
Цитата (bestxp @ 18.02.2013 - 12:28)
...
Нормальный middle программист ответит на все вопросы
Студент на большую часть
Показушник сдуется сразу

Туповатые вопросы, если "в общем".
Вот я, практик с 20 летним опытом программирования вообще и с многолетним PHP, на половину вопросов не отвечу без чтения документации. Значит я "Показушник" smile.gif

_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.