В сферу моих профессиональных обязаностей входит проведение собеседования для соискателей на должность PHP разработчика. И дальше речь пойдет о собеседовании…
Два года назад подобный пост вызвал бурное обсуждение как на моё блоге так и на Хабре, я не буду говорить что изменилось, я думаю вы сами это увидите.
Наши HR-ы уже достаточно опытны и поэтому часть вопросов берут на себя:
– Почему ушли с предыдущего места работы?
– Почему выбрали нашу компанию?
– С чего начали изучать программирование?
– Почему выбрали PHP?
Ответы на данные вопросы формируют первое впечатление о человеке. Зачастую оно верно…
Далее разговор переходит в техническое русло. Можем начать с основ ООП – наследование, инкапсуляция и полиморфизм, а возможно и пропустим сей шаг.
– С какими PHP библиотеками, фреймворками знакомы?
Соискатель должен знать о существовании таких фреймворков как Zend Framework, CakePHP, CodeIgniter или Symfony, и желательно иметь опыт работы с одним из них (список можно расширить – это не так принципиально).
– С какими API приходилось работать?
Интересуют Google API, AMF PHP, различные payment gateway, Facebook API, Twitter API и т.д.
– Есть ли опыт работы с различными CMS?
Опыт работы не как web-мастера, а как программиста…
– Работал с PHP 4? Назови различия с 5-ой версией.
– Что нового в PHP 5.3?
– Типы данных в PHP?
Этот вопрос на добивание, он часто ставит в тупик, если человек отвечает что их восемь, а потом начинает их перечислять, значит он готовился к собеседованию :)
– Что такое сериализация?
– Что самое сложное разрабатывали на PHP?
Этот вопрос может расставить все точки над “i”, но не стоит его задавать в самом начале – это пугает…
– Какие шаблоны проектирования знаешь? Расскажи в чем соль каждого?
– Что есть MVC? Какую роль выполняет каждый из составляющих элементов?
– С какими web-серверами работал? Apache? Nginx? IIS?
– Можешь описать как можно подробнее, что происходит между тем, как пользователь ввёл в адресной строке http://google.com и тем, как браузер показал страницу?
– Системы контроля версий? SVN? CVS? Git? Что есть branch/trunk/tags?
– Багтрекинг системы?
Немного мучаю по БД:
– С какими БД работал? Что такое транзакции, хранимые процедуры, тригеры?
– Коль работал с MySQL то сможешь назвать различия между версиями 4.1, 5.0, 5.1?
– Каковы различия между MyISAM и InnoDB?
И для полноты знаний web-разработчика естественно не хватает вопросов о HTML, CSS, Javascript:
– Ваша субъективная оценка своих знаний по CSS по пятибальной шкале?
– Приходилось ли верстать сайт?
– Почему CSS это каскадные таблицы стилей?
– Что здесь написано? Напишите HTML код к которому будет применен данный стиль.
1 2 3 4 | #my p.sel:first-line, .main li li a:hover + span { color : #f00 ; /* Что это за цвет? */ } |
– Ваша субъективная оценка своих знаний по Javascript’у?
– Что самое сложное разрабатывали с использованием Javascript’a?
– С какими Javascript фреймворками работали? Какие плагины использовали? Писали ли плагины, виджеты?
Интересуют jQuery/UI, Prototype/Aculo, MooTools/MochaUI, Dojo Toolkit, ExtJs.
– Каким образом можно реализовать наследование в Javascripte?
– Что такое AJAX и как он работает?
– Что такое JSON? С JSONP сталкивались?
И последний вопрос – Какие у Вас есть к нам вопросы? – интересно узнать что же все-таки интересует соискателя.
Бывает еще задаю вопросы на сообразительность, иль какие не по теме – что-бы сбить с толку (не гуманен я)…
Так всё же, что поменялось? Поменялись требования к соискателям, разработчиков уровня Junior на рынке труда сейчас предостаточно, хочется заполучить более опытные кадры, от которых в наименьшие сроки можно получить отдачу
Updated: список вопросов дополнил – не все ведь сразу вспомнишь…
Интересно, спасибо.
Дополню со своей колокольни – так же в процессе собеседования возможно стоит задавать вопрос об опыте работы с *nix системами.
Не уверен, что данный список вопросов позволит адекватно оценить уровень соискателя.
Из лично опыта знаю, что теоретические знания часто не подкреплены практикой. Для соискателей уровня выше junior, я бы добавил пару практических вопросов в каждую из тем.
ну это ж просто блог-пост. собеседования они такие – каждое индивидуально-уникальное.
задания просто часто не нужны, т.к. на 60% вопросов просто говорят “я не знаю”.
Это вопросы на позицию пхп-джуниора? за 600 баксов зарплаты?
А в опыт работы в космосе вам пока ещё не нужен? нет??? – зря!!! – я бы обязательно включил этот пункт
совсем охренели :)
блин я чё теперь навсегда останусь безработным…. “Ачуметь!!!” (с)
а с чем связана такая бурная реакция? тут разве что-то заоблачное спрашивают?
кстати и с заоблачным советую ушами не хлопать – скоро вакансии будут требовать опыт работы с гуглевейв :)
ню-ню.. ну если для вас не заоблачное – могу только позавидовать:
– PHP: Zend Framework, CakePHP, CodeIgniter или Symfony
– API: Google API, AMF PHP, различные payment gateway, Facebook API, Twitter API и т.д.
– CMS: опыт работы как программиста, т.е. написание плагинов и других расширений функциональности
– PHP: 4 – 5 – 5.3 различия
– шаблоны проектирования – назначения и различия
– веб-сервера: Apache, Nginx, IIS
– Системы контроля версий и багтрекинг системы
– БД: основные понятия
– MySQL: различия между версиями 4.1, 5.0, 5.1
– CSS, HTML, верстка
– JavaScript: общие сведения
– JavaScript: jQuery/UI, Prototype/Aculo, MooTools/MochaUI, Dojo Toolkit, ExtJs
– AJAX, JSON, JSONP
и вы ещё УДИВЛЯЕТЕСЬ по-поводу моей бурной реакции!?!?!?
нет честно – я вам ОФИГЕННО ЗАВИДУЮ… просто ОФИГЕННО
Во-первых, давайте читать внимательно.
Любой программист сталкивается с промышленными фреймворками. Почти в любом блоге, на хабре или ленте новостей ПХП встречаются все вышеперечисленные фреймворки, и если вам действительно интересно программировать, вы хотя бы один, да попробовали. Кроме того, практически любая фирма использует свой велосипед, потому достаточно описать тот фреймворк, который там использовался. Если вы только закончили институт и не написали свой фреймворк или не использовали сторонний – вы очень-очень junior.
Вопрос про API не обязательно требует ответа. Не работали – и ладно, если работали – отлично. Так в тексте и написано. То же касается и CMS.
Различия разных версий PHP – это база, без которой никуда. Даже я, не PHPист, их знаю (возможно без тонких деталей, но все же).
Шаблоны проектирования подразумевают не все подряд (от большинства практической пользы мало, в крайнем случае можно подглядеть), но как минимум Singleton, Observer, enterprise patterns вроде MVC и ActiveRecord знать нужно.
Без веб-сервера вы не запустите приложение. Если у вас есть опыт работы – значит вы сталкивались с ними и скорее всего сможете настроить локально. Как работает конкретный веб-сервер изнутри – это уровень senior и черпается из документации за полдня.
Конкретный фреймворк JavaScript – да, таковы реалии, без фреймворка сейчас писать не принято, ибо медленее и велосипеды на каждом шагу. Откройте хабр и рассматривайте.
Остальное – это база, без которой никуда вообще.
Мы не требуем знать всё, любой Junior разработчик в повседневной работе сталкивается со всем этим в той или иной мере.
А вот от старших разработчиков требуется не только умение использовать, но и само понимание инструментария, поверьте – если программист понимает как устроен один фреймворк, то разобраться в другом для него плевое дело, вот передо мной и стоит задача выяснить, перешагнул ли соискатель этот этап, а если нет то где он находится…
да да джуниор :) в принципе ответив на все можно получить больше 600 уе. Senior/Lead должен знать много больше.
+1 к практическим вопросам. Например,
1. Как реализовать паттерн Singleton в PHP.
2. Есть таблица Orders и LineItems, получите список заказов и сумму каждого заказа.
3. По CSS я бы еще добавил задание на верстку (вроде вот 4 дива, напишите CSS, чтобы выровнять их вот так [например, по часовой стрелке])
Кроме того, было бы неплохо получить представление о знаниях СУБД (например, для MySQL это могут быть вопросы “чем отличается MyISAM от InnoDB”, “на основе каких соображений вы добавляете индексы, какой индекс стоит добавить для этого запроса [тут запрос]”.
Да, еще нет ни одного вопроса на понимание сути веб-разработки. Чем отличается GET от POST? Какие есть возможные проблемы безопасности при разработке для Web (sql-injection, xss, перехват пакетов, кэширование паролей на proxy, etc, etc).
Если требуется разработчик для высоконагруженных проектов, нельзя обходить стороной кэширование. Какие виды кэширования бывают (на серверной и клиентской стороне). Использовали ли memcached, APC, PHP Accelerator?
Как вы отлаживаете проекты? Как обрабатываете ошибки?
Ну и необходимыми вопросами (с моей точки зрения) является “ведете ли вы профессиональный блог” и “откуда получаете информацию о нововведениях в мире веб-разработки” (блоги [какие?], подкасты/скринкасты [что это?], книги [o_O], от друзей [познакомьте, мы их пригласим на собеседование], из практических задач [приведите пример]).
Вообще я обычно подстраиваюсь под соискателя и стараюсь не налегать на области, в которых он плавает, вместо этого переключаясь на другие вопросы, где он (возможно) чувствует себя увереннее. Хотя со стороны это может выглядеть, что я пытаюсь завалить, и требую знать _все_. Да, Lekz? :-)
Завалить. Неееееет… Ты отлично провел те два собеседования. Лично мне очень пронравилось и все вопросы считаю уместными(учитывая требования, которые были предьявлены к кандидату).
что до понимания вёба, то Дарк просто забыл любимый вопрос “опишите как можно подробнее, что происходит между тем, как пользователь ввёл в адресной строке браузера http://www.ya.ru и тем, как браузер показал страницу”
О да, только обычно это google.com :)
ещё 1 забытый “глубокий” вопрос: “почему CSS это _каскадные_ таблицы стилей?”
По БД меня часто мучали о нормализации, инкапсулировании. Еще бы можно по ООП погонять (интерфесф, абстрактные, завершенные, уровни доступа). =) Это так из личного опыта. А спрашивать алгоритм пузырьковой сортировки глупо. =)
Надо обязательно включать решение тестовой задачи, иногда одна задача даст больше о человеке, чем все собеседование.
Пример такой задачи?
Сколько денег платят человеку, ответившему на все эти вопросы? :)
даааа.. меня тоже очень интересует этот вопрос… и ещё на какую должность его садят…
я за каждый пункт возьму по 300 баксов – по самым-самым-самым скромным подсчётам там 13 более-менее чётких пунктов – итого 4к баксов
ребята – у кого есть такое бабло – обращайтесь :)
Вот об этом я и говорю. Любой человек, выучивший синтаксис PHP требует килобаксы денег. Уважаемый, деньги не берутся с неба, и за воздух не платятся. Учитесь и вам будут платить реальные деньги (к слову, все вышеперечисленное потянет на 1.5-2k в среднем, но как уже неоднократно повторялось, junior не обязан все это знать, вопросы задаются чтобы понять широту и глубину знаний).
И много разработчиков на рынке успешно отвечающих таким требованиям?
присоединяюсь к вопросу – на какую должность и з/п в вашей компании сможет претендовать человек, успешно прошедший это собеседование? сами вопросы имхо вполне адекватны
ну тригерры и прочие радости за 3 года проф. пхп работы мне не понадобились. писал давно под оракл только. отличия мускл и прочего – это плохой вопрос. я считаю, что хороший тон – это когда человек знает SQL, а уже его диалектики – легко. думаю стоит спросить про способы хранения иерархических структур данных в БД. виды жоинов.
из практических задач – проверить или строка полиндром, реверс строки и что-то на array_map/reduce/filter.
Проблема отрасли в том, что каждый товарищ, который прослушал/прогулял курс лекций в ВУЗе считает себя программистом и требует зарплату $600+. Список вопросов, которые привел Антон – это базовые вопросы, и ответить на них должен любой человек, считающий себя программистом. Кроме того, Junior не обязан отвечать на все, но если он плавает по всем вопросам – то о чем с ним можно говорить? Найти по-настоящему хорошего программиста среди шлака, которым заполнен рынок, очень сложно.
ЗЫ. Тестовая задача – это очень хорошая мысль. Для веб-девелопера это не должна быть алгоритмическая задача (а если и будет, то алгоритм должен быть разъяснен соискателю, если он не знает). Цель – посмотреть на подход, применяемый при разработке. Решение задачи не обязательно подразумевает написание кода, достаточно идей реализации. Примеров много – берете любой кусок системы, над которой вы работаете,- и вперед. Например: как бы вы реализовывали страницу dashboard на фейсбуке (как хранить в базе, как организовать темплейты, что будет делать код), как реализовать вопросник а-ля brainbench (проблемы безопасности, где хранить, как выглядит код и база если есть), реализация иерархического меню конечной или бесконечной вложенности, хранение настроек в базе (разные типы данных, веб-интерфейс), система авторизации на сайте, поддерживающая логин/пароль, openID, oauth, facebook connect (суть технологий разъясняется), список постов в блоге + 5 последних комментариев к ним. Уровень задач разный, и самих задач – миллион и маленькая тележка. Проявляйте креативность.
Глупости.
Ничего подобного. Человек, считающий себя программистом, должен уметь отвечать на совсем другие вопросы. Например, о сортировках множеств, о логике высказываний, об оценке сложности алгоритмов, типах типизации и прочем. А то что нужно резюмирующему — собачка, отягощенная баззвордами, выучившая по доке на пхп.нет сколько таки типов в пхп (вообще идиотский вопрос). Вопросы про паттерны проектирования, фреймворки и вёрстку с транзакциями (кстати, неясно почему про хранимки и транзакции вопрос есть, а про отношения в [b]реляционной[/b] модели ничего нет) — хорошие вопросы, но их нужно задавать когда уже выясняешь уровень [b]технологической[/b] готовности соискателя.
ха-ха 3 раза. перечисленное применяется меньше, чем 1% программистов. суровые реалии программирования – это скрупулезная работа над множеством _простых_ задач, которые надо выполнить _очень_ точно. чуть ли не основным показателем профессионализма является умение интегрировать-связывать, а не создавать-креативить (не умаляя нужды в умении создавать).
да понятно дело.. конечно… буду я ещё какому-то выскочке платить ЦЕЛЫХ 600 баксов, заработанных тяжким трудом…..
да… куда уж нам…..
конечно “зачем платить больше” если можно нанять рабов за 400.. пачками
Глупость. Как часто ты сортируешь множества при разработке web-сайтов? Как часто оцениваешь сложность алгоритмов? Да, это те темы, в которых должен разбираться senior-developer или архитектор. Но для обычного веб-девелопера (подчеркну еще раз, речь идет о web),- все эти темы как телеге пятое колесо: прикольно но бесполезно.
Steward, согласен с Вами.
В этом году закончил универ, лекции и пз. по программированию не прогуливал (ну если их так можно назвать), но те вопросы которые перечислены выше, ух, нужно под учить.
Пока буду их осваивать, дядя Военком постучит в дверь и даст мне путевку в жизнь.
А как хотелось в столицу убежать… :(
Без этих тем ты будешь получать запросы к базе в рекурсивных функциях. Без этих тем ты будешь сортировать массивы чисел запихивая их в базу и вынимаю с order by-ем. Это всё реальные примеры от людей, которые знают что такое “полиморфизм”. И так далее.
Я смотрю многие хотят знать ответ на меркантильный вопрос “Сколько?”, отвечу уклончиво, но правдиво – http://www.developers.org.ua/salary-db/averages/total_experience/Украина/Харьков/программист/PHP/ :)
1800 – это нормально, для того кто способен хорошо ответить на все твои вопросы. Больше надо давать, если он покажет знания на уровень выше заданных вопросов, обычно таких специалистов мало.
вы или не с этой планеты, или как минимум не из этой страны… 1800 баксов сейчас… в Харькове… не смешите мои тапки… 800… максимум 1000
Вот потому у вас и 800, что так реагируете. Вместо этого стоило бы взять вопросы на вооружение, прошерстить блоги и добавить те, где есть нужная информация, в RSS Reader. Получить больше $1000 не проблема, да что далеко ходить – вон выше Lekz отписывался, они искали.
у меня ваще 0 – я безработный :)
и вот из-за таких требований даже смысла на собеседования ходить нет
получить 1000 не проблема – слабо уволиться прямо с первого сентября и хотя бы за сентябрь найти себе достойную работу на 1000 баксов хотя бы в Киеве.. с белой зарплатой и уютным офисом – слабо?
эх жаль у меня бабла маловато – а то я бы даже такую акцию проспонсировал :(
Нет конечно. Все комментаторы этого поста, кого я знаю (включая автора поста их четверо), найдут работу в течение пары дней после увольнения. И это будет > 2k. В Харькове.
На собеседования нужно ходить, но не с пустой головой, дабы не отбирать время у собеседующих. За день можно найти информацию по всем указанным вопросам, за месяц – разобраться во всем до уровня, достаточного, чтобы на работу попасть. А дальше опыт приходит сам. И кончайте дурить и провоцировать :-)
Завидую Харькову и его зарплатам… в Киеве всё гораздо хуже :)
Рас такая пьянка, то отвечу со своей колокольни.
На все вопросы не составит труда ответить профессиональному программисту, притом я еще добавлю, что стоит требовать решения тестовой задачи.
В ответ Piom, задачу стоит выбрать такую, какие вы сами повседневно сталкиваетесь в своей компании.
Например вы работаете с большими сайтами, попросите его спроектировать на ходу структуру flickr или сделать тестовое задание по работе с веб сервисом wikipedia или твиттер, посмотрите как он справиться и вы многое о нем узнаете.
То же относиться и к другим отраслям разработки: сайты на CMS, задача написать модуль CMS, в общем обратитесь к самому себе для составления тестовой задачи.
Тоже хорошие вопросы…
Антон, офтопик, почему ты убрал ссылку из имени комментаторов на ихние блоги? Все таки, кому нибудь может будет интересно узнать, кто комментирует твои статьи и посмотреть или даже подписаться на их блоги.
Не убирал О_о, я только сейчас это заметил – если незалогиненым читать…
Возможно сие произошло после апгрейда wp либо какого из плагинов…
Сказал человек, который настолько крут, что имея блог на ВП уже очень давно, разбираясь во всех ферймворках, базах данных и прочей чепухе не корректен в простом, бональном ВП, плагины это расширение стандартного функционала, и обновляясь ВП не обновляет плагины, а только ядро. Так что, уважаемый автор, подучите ВП. Спасибо
То ли спам, то ли русский язык не учил…
Собеседующему тоит определиться тыкает он соискателю или уважительно на Вы.
Однозначно на “Вы”.
У наших HR-ов есть коронная фраза – “Если Вы не против, мы перейдем на Ты” …
Сложно однозначно объяснить, но примерно выглядит так: при общении на “Вы” соблюдается определенная дистанция между соискателем и собеседующим. В этом случае психологически проще задавать вопросы, на которые соискатель не может ответить (нет неудобства, мы говорим о делах, я Вас уважаю, но мне нужен специалист, потому я задаю Вам такие каверзные вопросы). В таком случае пропадает дискомфорт при собеседовании друзей (да, я тебя давно знаю и мы с тобой не одну чашку пива распили, но сейчас Вы проходите собеседование, потому давайте общаться с подчеркнутой уважительностью, корректно и без всяких “данунах, что ты у меня такое спрашиваешь”).
Я бы добавил ещё вопрос на наличие опыта тестирования веб приложений и знание гибких (agile) методологий.
А вопрос про пузырьковую сортировку, что советуют в комментариях не корректен: за последний год работы мне ни разу не приходилось сортировать данные средствами пхп. Знание подобных алгоритмов (сортировки, алгоритмы на графах и т.п.) в веб-разработке особых преимуществ не дает, разве что план выполнения запросов к базе понимать и предсказывать будет по-легче..
А вообще список вопросов хороший :)
Практика показывает что такие нормальные вопросы для людей очень сложны ;-))) я совсем недавно опубликовал свой вариант тестирования – так вот его тоже умудряются заваливать хотя там все гараздо проще.
Да буквально пару дней назад отвечал на эти вопросы, правда на должность python-developer, и однозначно на них смотрелся как идиот ;). О своих впечетления написал пару строчек на своем блоге http://tutamc.com/node/197.
Хотя исходя из того что отвечал хорошо на сложные вопросы все таки был принят на работу к вам (я так думаю, точно конечно же не могу знать).
Уже жду не дождусь когда начну работать!
Вот мне интересно как человеку, который ответит легко и уверенно на 2/3 вопросов утвердительно и рзвернуто, но считающего себя, возможно, чуть-чуть выше junior — Человек с каким багажом знаний может претендовать на senior?
Т.е. это как на баше было объявление о вакансии системного администратора со списком требований и комментарием, что-то вроде, “Этож сколько человек сокращают?”
Что это за “человек-комбаин” такой, что он за завтраком может сверстать пару-тройку сайтов, подключить их к CMS и еще помочь новичку в освоении вчера вечером появившейся технологии которую он уже знает как свои 5 пальцев (конечно, все новое — это хорошо забытое старое)?
И вопрос в догонку к местным экспертам: Как я бы мог себя позиционировать на собеседовании (руководствуясь правилом “Ставить планку чуть выше”) и на какой диапазон оплаты могу претендовать? При опыте в два с половиной года в веб-программировании (ранее, 7 лет Win-программирования), имея за плечами 2 CMS полностью своей разработки для двух веб-студий и программную поддержку не малого кол-ва уже работающих сайтов?
Таблицы зарплат на developers.org.ua смотрел… Если кто может сказать конкретнее по Донецку — буду рад.
На самом деле, за вопрос:”Почему выбрали нашу компанию” Хрюшу нужно расстреливать на месте. Мне в принципе пофиг в какой конторе работать, лишь – бы условия были нормальными, неужели не понятно?
+1, вопрос дурацкий. Я пришел посмотреть на компанию и показать себя. Я еще ничего не выбирал, посколько компания еще не сделала предложение, собственно предложение будет сделано после собеседования.
А у меня её и не было так иногда баловался
Вы занимаетесь разработкой сайтов и мне это интересно
Просто было интересно. Класса наверно с пятого начал. Зачем до сих пор не понимаю :)
Я его не выбирал, а начинал на нем писать потому что хотелось делать сайты(так для себя), а так люблю C++,C# С++ – давно писал но какие-то основы помню, C# – изучал как обьектно ориентированные язык.
Про все перечисленные фреймворки слышал, но сам использую yii, начал с него и он меня удовлетворяет.
Читал про многие. понимал их суть, но не с одним не работал, документацию изучить всегда можно)
Пытался писать под joomla но не понравился их фремворк
Лучше сказать, что не работал. А различия, что стала лучше работа с классами PHP появились magic функции, и конструктор и деструкртор класса стали писаться как __construct(), __destruct() в отличии от php4 где использовался синтаксис () – конструктор ~()- деструктор
честно не знаю
1) Они все стараются быть приводимыми.
2) Если не ошибаюсь int, string, float, boolean а дальше не знаю)
Понятия не имею
Затрудняюсь ответить… Помню курсовую по примерной реализации магазина продажи по. Курсовая больше была нацеляна на знания бд, но для меня это было тяжелее всего
Ну так-с начнем Singleton-одиночка суть в том, что если к чему-то не однократно надо обращаться но не известно в каком месте, то его удобно использовать(к примеру соединение с БД). Fasade- удобно использовать для контроля с многими объектами. Adapter – позваляет один класс представить через другой класс(или интерфейс другого класса). Compositior – работает для создания и управления каким-то множеством объектов. Decorator – испольюуется для навешивания на обьяет всяких рющечек(типа свойств, атрибутов методов) от других классов, Decorator используется как дополнение функционала
MVC – паттерн Model, View, Controll – используется для работы с даннымы.
Model – отвечает за работу с данными как доступ, сохранение редактирование.
View – представление данных
Controll – использование и изменение данных при каких-то событиях.
Работал только с Apache под win32 и linux
Ну как ответить на вопрос что такое система контроля версий? Это средство упраления слежения за изменением каких то данных. SVN – subversion. А дальше не знаю. branch – уже релиз, trunk – разработка, tags – не знаю.
Не знаю. но похоже на отслеживание ошибок в продукте и их залатывание
Работал с Oracle( чуть-чуть), MySql. транзакции-случаии при доступе к одним и тем же данным и попытки их решения. Хранимые процедуры/функции – Некий набор действия на языке PL/SQL. Триггеры – тоже какие-то действия на языке PL/SQL срабатываемые при прохождении запроса.
между 4.1 – 5.0 Появление хранимых процеду и тригеров. Между 5.0 и 5.1 так то что можно у одной таблицы хранить данные в разных файлах используя COMPARE а так больше не смогу.
наверно 3
Да самый простой
[css entities=’1′]#my p.sel:first-line, .main li li a:hover + span
{
color:#f00; /* ЧÑ
Сразу оговорюсь, что я понимаю то, что разговор идет об основах CSS. Но лично я считаю что
#my p.sel:first-line, .main li li a:hover + span
лишнее.
Я уже на столько привык что HTML, CSS занимается верстальщик, а Javascript js-программист (у нас правда он в одном лице, т.к. js у нас используется по минимуму), что для меня это несколько дико. Все таки специализацию придумали не зря. Простой пример, сдан сайт и в каком то феерическом браузере есть небольшой косяк в цсс, человек знающий основы тут не поможет, а нужен профессионал в верстке. Оказываясь в таких ситуациях часто, я решил отдать это дело профессионалам, а самому заниматься совершенствонием именно в программировании, а не в верстке, в конце концов это мне не интересно. Я не спорю что есть люди легко сочетающие все эти умения, но это разносторонние талантливые люди, но не факт что они профессионалы. Для того чтобы вырасти над собой и стать кем ты хочешь нужна целеустремленность и нудная работа и умение находить у себя недостатки сочетае его со стремлением к постоянному обучению.
От web-разработчика не трубуется умение верстать, хотя оно не лишне, но вот читать CSS разработчик должен.
Последний раз вообще открывал css файл год назад. Я разработчик. Получается что не должен? Или должен при других требованиях к разработчику? Когда я собеседовал людей, вопросов про css вообще не задавал. Т.к. у нас это разработчику и не понадобится. А в целом конечно статья понравилось, опредленно что то возьму на вооружение. А ваша точка зрения конечно же правильна, я лишь выразил свое мнение, при другой постановке процесса разработки и скорее всего других задачах.
– Можешь описать как можно подробнее, что происходит между тем, как пользователь ввёл в адресной строке http://google.com и тем, как браузер показал страницу?
гораздо
веселееинтереснее спрашивать “что происходит когда человек нажимет на кнопочку submit в форме” и “где же все таки прячутся данные в запросе post” :) 80% отсеивается мигом.Относительно систем контроля версий – неплохо помогает понять соискателя вопрос “Какие системы знаешь?” – покажет как минимум кругозор и способен ли смотреть чуть дальше своего носа. А после это уже можно спрашивать с какими системами работал, плюсы/минусы этих систем. “branch/trunk/tags” жесткая привязка на svn, на мой взгляд лучше общая пара вопросов относительно бранчевания – покажет реальные знания, а не то что описано в svn book и тоннах мануалов.
Присоединюсь к разговору.
Вопрос к авторам и вообще к тем, у кого есть опыт проведения собеседований. Скажите, как нужно отвечать на первые 4 вопроса (ну вообще на НЕтехнические)? Ну то бишь, одного единого варианта нету, это понятно, но всё же хотелось бы понять, какие ответы какие реакции у работодателей могут вызвать :) Всяко может же быть такое, если я всё знаю (допустим) из перечисленных вопросов, но ответил “мне всё равно где работать, главное – зарплата”, то могут не взять только из-за одной этой фразы.
Прочитав ваши “вопросики”, я понял, что в универе протирал штаны. На кое-какие вопросы, я бы ответил, но чувствую, что надо начинать учить все сначала. Может вы посоветуете с чего начать :).
Добрый день.
Подскажите, пожалуйста, а как вообще отличить, кого ищут на ту или иную должность? В смысле, очень часто описывают все вышеперечисленные требования к кандидату, причем, требуют знать их все обязательно. Получается, всем нужны как минимум “сеньеры”… Это, конечно, все понятно. Но судя по комментариям, некоторые могут взять и людей, которые сталкивались не со 100% задач, т.е. “младенцев”.
Я так понимаю, что вопросы о четвертых версиях mysql и php связаны с тем что приходится поддерживать старые проекты которые на них сделаны. Правильно?
Проекты бывают разные, и часто к нам обращаются с требованием оптимизировать текущий проект, т.к. текущая реализация загибается, так вот – поиск и решение таких задач без знаний специфики конкретных версий практически не возможен…
а может просто выяснить развивается человек или нет,т.е. читает блоги,следит за новостями,а не 100 лет назад научился писать echo на php и думает ему этого будет достаточно-)))к сожалению есть и такие.
Привер из жизни. у нас в фирму взяли пхпешника(не знаю правда кто его взял) и он после 2-х месяцев спрашивал у меня такие вопросы – что значит $str.=$str1 и у
Я бы добавил еще вопрос по поводу средств разработки (типа Zend Studio, Eclipse и тд.). Инструменты которыми разработчик пользуется о многом могут поведать.
Лично я со многими вопросами даже не сталкивался.
Например php4 – ни одного скрипта для него не писал.
Google API, AMF PHP, различные payment gateway, Facebook API, Twitter API и т.д.
Тоже, что и php4 – не приходилось. А чем допустим работа с Google API отличается от Zend Framework? – размером
CSS – по мере надобности, а поскольку такая надобность редкая ( есть куча CMS с еще большей кучей шаблонов), то и читается он с трудом.
Javascript фреймворки типа jqueryUi – постепенно сводят работу с Цсс до подправил/поменял/посмотрел/сохранил.
Это не относится к оригинальным, фирменным дизайнам, но и php программеры не относятся к людям способным творить сие чудо.
Но, работал с Zend_Framework достаточно плотно и глубоко.
Вопрос насчет IDE есть в нашем шаблоне резюме, который мы просим заполнить всех соискателей.
Знание PHP4 – не критично, но является плюсом, тоже про API.
Мой вопрос по CSS – это лишь основы, и сталкиваться с ними приходится достаточно часто.
Антон, на твои вопросы я попытался дать комментарии и советы веб разработчикам в свое посте Ответы на вопросы в интервью по веб разработке. Я старался подвести читателя как можно ближе к истине, смотрите что получилось.
Очень даже информативно получилось, спасибо.
абсолютно не понял смысла написанного… точнее ЗАЧЕМ расписывать очевидные вещи…
смысл всего обсуждения в данном топике сводится (во всяком случае мной) к тому, что требования к нанимаемым сотрудникам очень сильно завышены – работодатели просто охамели, реально охамели.
Расскажу историю: у нас (на гос предприятии где я раньше работал) работала девочка. Работала всего год, до этого она училась в институте. Ну т.е. пришла без опыта работы.. ну в общем новичёк полный. Девочка умная, никто не спорит – в работу влилась быстро, научилась программировать на ABAP (это язык разработки системы SAP). Естественно никаких курсов никто не устраивал – только документация бумажная + интернет + добрые советы коллег. Зарабатывала она 400 баксов или даже меньше.
Потом уехала в Германию… и вот тут началось самое интересное – SAP вообще-то немецкая система, поэтому там в Германии она чуть ли не на 9 предприятий из 10.. – естественно спецов всегда не хватает и всегда есть где работать. Так вот – это девочка с годом опыта работы, без единого сертификата и не очень обширными познаниями (только потому что мало опыта – повторяю – девочка очень умная) – устроилась там на работу за неделю после приезда, получает очччччень неплохую зарплату. Всё руководство того предприятия в шоке – ни одного сертификата, а девочка уделывает местных спецов с опытом работы в несколько лет и кучей сертификатов.
Я это всё к чему: ребята – ПОПУСТИТЕСЬ со своими требованиями или платите нормальную зарплату (я уже писал про 4к баксов – желающие платить мне не нашлись случайно?) Только за эти 4к не раб на галере, т.е. в офисе и который умеет всё – от починки унитаза, до имения опыта работы в открытом космосе и работает по 48 часов в сутках, потому что уже давно изобрёл себе анигилятор времени и пространства.
Ладно… реально надоело уже это всё объяснять – надеюсь я с вами никогда не пересекусь по работе… очень бы не хотелось….
Полностью с тобой согласен.
Особенно дико смотрятся эти требования именно на Украине с их мизерными зарплатами и требованиями “покоритель мира за копейки”. В Москве это не так, в Европе – тем более.
Всё это у них от бедности. И сам Антон мало зарабатывает по Российским и европейским меркам (но не по украинским), поэтому и другим планки зарплаты приходится ставить ещё ниже, а ещё чувство городсти есть, собственного превосходства, поэтому и вопросы хочется задать поненужнее и потяжелее, даже если половина из них не будет использоваться, а та что будет, вроде тяжёлых фреймворкоф или ООП, будет дико тормозить высоконагруженный проект (если такими там вообще занимаются).
Я например вообще не смотрю в сторону ООП и даже ближайшее будущее не собираюсь – всё именно в производительности. Делать свой код в 2-3 раза медленее ради сомнительных удобств в ООП просто не хочется. При этом всё работает и без них, проекты выдерживают громадные посещаемости, и эти дебильные сингетоны и прочяя ООП хуйня нахрен не нужна.
Странные очень вопросы, конечно позволит сразу напугать студентов и откинуть ничего не знающих, а для других совсем не показатель.
я сам джуниор, но если мне такое зададут – то я подумаю что меня за идиота считают. Такие вопросы настораживают, лучше идти в русло дружественного разговора, а такие вопросы можно и на бумаге быстро тестом пройти ну и узнать подробности во время разговора к примеру о каком-нибудь популярном сайте или ранее выполненом проекте.
Я где-то полтара года назад проходил подобное собеседование. Вопросы были похожие и про API jsFrameworkov и про Шаблоны проэктирования и тесты не хилые на написание на бумажке SQL запросов с разными закавыками.
Тогда я не прошел. Прошло время я это все подтянул и теперь понимаю что если фирма действительно занимается серезными проэктами то брать человека который 3 месяца будет только изучать азы (а это именно они и есть) ну как минимум затратно.
Сейчас к примеру работаю над проэктом вместе с еще одним программером – у него делфи интерфейс у меня php сервер и вот столкнулись с необходимостью нанять еще одного помошника, для php – серверной части.
И давай думать что он должен уметь чтобы сходу максимум за неделю смог влится в проэкт.
По минимуму
– Знание основ работы Zend Framework или похожего (любого) с API опыт внедрения в свой проэкт
– опыт работы с jquery||dojo или любой другой jsFramework
– понимание работы ajax-приложений
– опыт ООП програмирования (шаблоны проэктирования – опыт использования хоть одного)
– Mysql – опыт создания сложных (с foreign key и innodb) баз данных (не критично, но желательно)
Это наши требования к junior php программер
Не больше и не меньше.
Но найти такого juniora реально сложно.
Обычно собеседование в таком режиме.
вопрос ответ
Zend Framework или похожее помощь зала
jquery||dojo 50 на 50
ajax звонок другу
шаблоны проэктирования …подсказок больше нет
Mysql О ну это я знаю
мне кажется junior php не должен проектировать сложные БД (это делает senior php or system architect) и соответственно не обязан это уметь. А чтобы человек за неделю смог влиться в проект где используется Zend, Ajax, InnoDB(раз это используется значит проект этого требует и проект достаточно сложный) на это нужен опыт работы с похожими вещами хотя бы года 3. А это уже не junior. У Вас прослеживается все та же проблема – берем на зарплату junior (+поправка на чернигов), а хочется чтоб знал все
Да забыл сказать что проживаю в Чернигове – город небольшой по меркам Киева Харькова, а потому наплыва соискателей не предвидится… Но ничего будем искать
ну я вам скажу так.. если вы будете выдвигать аналогичные требования (как в топике) – то вы ваще никого не найдёте, тем более в Чернигове :)
Был я на таком собеседовании… Чувак, который принимал, сам недавно закончил курсы по PHP и начал меня грузить подобными вопросами из учебника. Слава Богу я не прошел по конкурсу в ту контору, т.к. с такими людьми трудно работать. Да и всех тех премудростей (вроде некоторых тех что статье) знать не обязательно, чтобы писать грамотный код. После той конторы попал на собеседование в Компанию раз в 100 крупнее и таких “задротов” на собеседовании там не было и поэтому я уже 3 года успешно тут работаю. Всем удачи в поиске работы!
А меня интересует вопрос, если всё это выучить, то можно смело приезжать в Харьков и устраиваться к вам на работу? постоянно ли вам требуются новые РНР разработчики?
P.S. Никак не могу найти где регистрироваться на вашем сайте?
Список вопросов впечатляющий ))
но .. на мой взгляд неправильный
неправильный для собеседования, а для тестирования общей эрудиции вполне хорош. У вас в проектах используется MySQL 3.1? JQuery и mootools одновременно?
Разработка более менее серьезного проекта занимает около 3 месяцев, а действительно серьезного от 6 месяцев. Узнать отличия версия mysql, php занимает 1-2 дня (часа). То есть по Вашей логике, если человек не знает этих отличий, то он не подходит для серьезного проекта? А если он до этого 2 года делал сайты на PHP5 + MySQL5? И с другой стороны человек месяц назад прочитал статью по всем этим отличиям и как раз переписал какой нить проект с PHP4MySQL3 на новые версии – он спец?
Я например уже 10 лет программирую, лет 6 для web. Но сходу назвать отличия mysql 3 версии от 5 … (Я вообще Postgres предпочитаю). А с Google API вообще только месяц назад столкнулся. Зато я могу за несколько часов поправить template и настроить работу jquery в самопальном компоненте Joomla – ни разу до этого с этой CMS не работая.
Это не потому, что я очень умный (до идеала к сожалению очень далеко :-) ), но работать с чужим кодом – моя сильная сторона )). Версткой я например тоже не занимаюсь. Зачем? Есть профессионалы – верстальщики, эту часть работы я отдаю им.
Мое мнение – на собеседовании должны быть совершенно другие вопросы – из области общей эрудиции, и главное на определение характера человека, его работоспособности. Чтобы понять комфортно ли с этим человеком будет работать? Способен ли он выложиться ради пректа? Для оценки профессиональных качеств есть тесты и испытательный срок еще.
HR менеджеры как раз и должны уметь это определять. О программисте например очень многое может сказать внешний вид и стиль одежды. Порядок на рабочем столе (тот на котором стоит монитор).
Можно задавать вопросы типа – что Вы думаете о политике Обамы?
или Какой Ваш любимый предмет в школе? и последующий вопрос Назовите 3й закон Ньютона (для физики). или что значит выражение “Рукописи не горят”? и кто его автор?
А почему вы думаете, что Ваш ответ нас не удовлетворит? Кстати в вопросе фигурирует таки версия MySQL 4.1…
Насчет JavaScript фреймворков – у нас есть проект где для админки используется Dojo, а для фронт-енда – jQuery, и никого это особо не смущает.
Собеседование необходимо дабы не пустить на испытательный всех кого не попадя, а адекватный человек пройдет его на ура.
Хорошие вопросы =)
Нехватает только чего-то более комплексного, что смогло бы объединить в себя неявно несколько пунктов.
Обычно это задачи на прототипирование архитектуры или поиск некоторого проектного решения (ООП/нагруженные системы/проблемы решаемые именно конкретными шаблоном(ами) проектирования/т.д.). Но это, конечно, если “отсеивающие” вопросы пройдены, или же не пройдено ничего, чтобы дать, так сказать, соискателю последний шанс раскрыть свои скрытые таланты :D
Смысл мля в обсуждении, если ты удаляешь дельные комментарии о бедности в Украине и всех бед от этого ?
???
Ваш комментарий доступен – см. чуть выше – http://anton.shevchuk.name/php/php-interview-today/comment-page-1/#comment-59078
вполне здравые требования. по поводу “обвинений” в некоторой избыточности – на мой взгляд, она минимальна и вполне оправданна – ведь цель соБеседования не столько расставленные галочек напротив пунктов “любит mvc, умеет cms, видел php3”, сколько беседа с потенциальным сотрудником, частью коллектива, а значит субъективная оценка реакций человека, и, как следствие, адекватности/совместимости.
например, не может не обратить на себя внимание обилие знаков препинания и верхний регистр гневных комментариев пользователя со скорпионом на аватарке – яркая иллюстрация того как человек, не зависимо от уровня знаний, способен завалить не начавшееся собеседование.
ps: к слову, я также в Киеве проживаю и не стоит верить в рассказанные ужасы про 600уе зарплаты, адские условия и тд. всё у здесь как и везде – ежели что-то из себя представляешь, долговременные финансовые затруднения – сказка не про тебя.
pps: между прочим, классный блог =)
До кризиса требования к PHP Junior были чуть ли не на порядки скромнее(не скажу точно за NIX Solution). Сейчас же, пользуясь кризисом, большинство дружно задрали планку и сделали вид, что так всегда и было. Некоторые фирмы в Харькове по 2-3 месяца(на данный момент) не могут выбрать себе несчастного джуниора, хотя до кризиса, думаю, далеко не каждая фирма могла бы позволить себе такое. С другой стороны, охота за опытными программистами и Senioram-и идёт полным ходом, сервера трещат от объявлений “требуеться Senior”. Но Senior-ы, видимо, от добра добра не ищут в наше время. Создаёться впечатление, что хотят набрать людей, максимально близких по уровню к так желаемым(но не отвечающим взаимностью) Senior-ам и платить этим людям как джуниорам(или,если имеет место внезапная щедрость, добавить им немного сверх нормы, на пиво)
На 100% с вами согласен… так оно и есть… – я об этом написал в самом начале – пользуясь кризисом за 600 баксов хотят нанять себе рабов и стричь с них бабло…
Я не знаю как дела обстоят в сфере пхп разработок, я немного из другой области… так вот – в моей области (внедрение сложной информационной системы) консультант получает сейчас в кризис до 1500 баксов… чаще меньше 1000, при этом один день работы консультанта стоит 1000 баксов, т.е. заказчик платит твоей фирме 1000 за один день твоей работы… – посчитайте… за вас платят 20к в месяц, вам перепадает 1000-1500.
Получается что вы два дня работаете на себя и 18 на дядю.
Уверен что в других сферах соотношение примерно такое же…
Да… и требования к новым кандидатам конечно поднялись… примерно в три раза, т.е. раньше нанимали трёх консультантов в разных областях, теперь требуют знания от одного…
ну сколько можно тупить?!? а?
описанные тут вопросы – это ВОПРОСЫ, а не требования к кандидату.
собеседование – это беседа: где-то ответишь – молодец, где-то нет – не конец света. в любом случае смотрим на голову, а не на энциклопедичность знаний (хотя они, конечно, тоже приветствуются).
что же касается “рабов” и прочего – хватит ныть уже. есть 2 прекрасных варианта:
1) основать профсоюз и качать права
2) работать на себя.
слабо и там и там? не ной!
а я вас ждал :)))
1. никто не ноет…
2. давно работаю на себя и давно не в конторе… конторы и собеседователи с такими требованиями посылаются нах… сразу и безвозвратно…
3. не все новички знают что надо поступать именно так, многие просто тупо боятся… особенно это касается первых собеседований – вот именно для них адресованы мои сообщения
4. оказывается так же как я думаю не я один… это радует…
5. “описанные тут вопросы – это ВОПРОСЫ, а не требования к кандидату.” – извините за резкость – это очень дебильное замечание. ВОПРОСЫ на собеседовании это ТРЕБОВАНИЯ к кандидату… иначе нахрена их вообще задавать!?
6. я вас больше не жду… можете не отвечать на этот мой пассаж… потому как мы скорее всего по разные стороны баррикады… а как известно: сытый голодного не разумеет…
7. всем удачи :) – ищущим желаю найти, и не важно работу или сотрудника :) – всем всего…
ну было понятно, что так будет :) отвечаю по пунктам:
1. судя по постам, не заметно
2. судя по постам, не верится
3. эээ. боятся чего?
4. я бы не радовался распространению затупов :)
5. хм. на работу хоть раз кого-то принимал? похоже, что нет.
6. я знаю, _что_ я могу, можно мне не сообщать :)
7. +1
Пару раз натыкался на этот блог уже, пока гуглил разные темы в интернете. Но эта тема особо затронула, т.к. в кризис столкнулся с тем, что работодатели просто наглеют.
Я не буду расписывать про цены и наглость работодателей. Напишу лишь для сравнения. Сейчас я плачу в среднем по 150 долларов за верстку одной страницы (я не ошибся – одной!). Зарплату в 600 долларов даже для начинающего программиста считаю унизительной.
И для сравнения. В совершенстве владею английским. Но тест на грамматику и правила языка я напишу балла на 3 (из 5). Так что тесты при приемах на работу – это бред. Если даете тесты программисту PHP, то давайте и компьютер с Zend Studio, а не блокнот и ручку.
– Почему ушли с предыдущего места работы? странный вопрос – все равно вы не поймете правда это и нет.
– Почему выбрали нашу компанию? – как сказано выш пока выбираю
– С чего начали изучать программирование? со школы или с института – в чем отличие , что было – то призабылось если не использовать.
– Почему выбрали PHP? – понравился , опять же глупо
– С какими PHP библиотеками, фреймворками знакомы? – нормальный вопрос и по теме.
– С какими API приходилось работать? – PHPшными любой нормальный разберется как юзать gdata и т.п.
– Есть ли опыт работы с различными CMS? – если и работал то врядли уже захочет , а еси и захочет то такой точно нафиг не нужен.
– Что нового в PHP 5.3? – нормальный вопрос , по существу , его поставить бы на место где 4 и 5 пхп сравниваются
– Типы данных в PHP? – ну я назвал 8 , я не готовился – бред.
– Что самое сложное разрабатывали на PHP? – таких задач небыло если вы конечно не уволились с НИИ РАМН.
– Можешь описать как можно подробнее, что происходит между тем, как пользователь ввёл в адресной строке http://google.com и тем, как браузер показал страницу? – отвечал на похожий вопрос , начал с handshake – тех. не понял уверял меня что в HTTP 1.1 такого нет – поржал
– Коль работал с MySQL то сможешь назвать различия между версиями 4.1, 5.0, 5.1? – а это важно ?, любой разраб. сидит на мануале dev.mysql.com , а вот если он не знает основ БД , например почму нужно создавать индексы – то печально.
– Ваша субъективная оценка своих знаний по CSS по пятибальной шкале? – 0 , вы странные люди acid у каждого браузера свой , заведите шаблонизатор и верстака кот. это уж точно знает на 10.
– Приходилось ли верстать сайт? – а вы кого ищите то ?
– Почему CSS это каскадные таблицы стилей? – туда же – в топку
– Что здесь написано? Напишите HTML код к которому будет применен данный стиль. – ответ выше
Резюме – 60% бред сивой кобылы и объективного понимания не дает , вы нанимаете веб-мастера с пониманием веб-серверных технологий , а вот программист к вам увы не пойдет , т.к. поймет что ищут рабочую лошадку – кодера, и как следствие коэффициент умственного развития вашей группы будет на том же уровне что и год назад , за исключением полной головы API инструментов разработки , различий версий субд , печально как то….
Как хорошо Вы резюмировали – да, мы ищем рабочую лошадку, а все желающие поплевать в потолок – идут лесом…
P.S. Как-то я не понял, если человек знает CSS значит КУР у него ниже, нежели у PHP программиста без оных знаний?
P.P.S. Сам считал, что handshake не имеет отношение к HTTP, вроде он пониже будет…
Да, за год
требованиявопросы сильно выросли у вас, теперь, наверное, меня не взяли бы на испытательный срок (полтора года назад согласны были :) ) – знаний и опыта прибавилось, но не настолько :(.P.S. Насчёт новых версий смущает то, что очень многие разработчики фреймворков и CMS, библиотек и прочего редко ориентируются на новейшие версии. Например у многих хостеров стоит по умолчанию Debian Stable с PHP (на данный момент) 5.2.6 и MySQL 5.0.51. Примерно на такой конфиг и ориентируются массовые продукты (не говоря о том, что те же CodeIgniter или Drupal еще тащат PHP4). Вышел тот же 5.3, почитал про основные отличия, в голове отложилось что-нибудь типа namespaces и goto (в лучшем случае какие-нибудь грабли, на которые наступал и то, если читал полностью ченжлог), но на практике это использовать негде и забывается до поры до времени, пока не начнешь активно использовать. А вот когда на собеседовании задают такие вопросы, то ответив “namespaces и goto” чуствуешь себя полным идиотом, лучше уж сказать, что вообще не знаешь, так за полгода с момента релиза он еще не успел стать массовым. Хотя может у вас цель такая, поставить в стрессовую ситуацию. Хорошо хоть не задаете вопросы “Как должен оцениваться труд дворника? А врача? А таксиста?”, которые мне задавали.
P.P.S. Потому luz и “ржал”, что “тех.”, похоже, ниже HTTP ничего не знает и, видимо, уверен, что ответ должен быть примерно такой:
браузер посылает “GET / HTTP/1.1\r\nHOST google.com\r\n..заголовки..\r\n\r\n”
сервер отвечает “200 OK\r\n..заголовки..\r\n\r\n<html …>…”
Нашел я этот блог примерно месяц назад и добавил в ридер.
Прочитал этот пост и комментарии. В некоторых комментариях упомянули про верстальщиков. Сам вот учусь на программиста на четвертом курсе. Кто уже устроился работать, кто нет, кто фрилансом кто на заказы(по базе заказчиков). Так вот у меня мой одногрупник, он верстальщик, так он за верстку получает столько же во сколько оценивается PHP Джуниор. Получается что нет разницы между знанием языков программирования и прочих сопутствующих технологий и HTML – верстальщиком…
PHP достаточной простой язык программирования. Если хочется заработать деньги, то надо изучать JAVA.
Кстати, тут автор совпадает с хабр-автором? Или просто статьи от туда скопированы?
Деньги можно заработать на PHP ;)
Автор совпадает…
Интересно, а почему сразу предположение, что статья оттуда скопированы, а не наоборот, на хабр отсюда? ;)
HTML/CSS/JS тоже вполне себе языки и, имхо, знать верстку в совершенстве не проще (или немногим проще), чем в совершенстве освоить PHP. Плюс и верстальщику часто нужно знать основы PHP (если используется “нативный” шаблонизатор) или язык какого-нибудь другого шаблонизатора (Smarty или, вообще, XSLT)
Мой одногрупник верстает шаблоны не под какие либо движки, а просто чисто верстку index.html и style.css получает от 30$-60 $ за 3 часа работы
Что бы пойти на должность php программиста, надо знать вот то что тут написано в статье. Я вот привожу пример живой что человек знает только html и css а зарабатывает не плохо… вот такая вот не справедливость…
Ява, да но там входной порог еще выше…
PHP достаточной простой язык программирования. Если хочется заработать деньги, то надо изучать JAVA.
2moder: прошу простить, не читал весь пост, увидев знакомый текст сразу в комментарии полез.
а как адекватно оценить свои знания и возможности?
думаю многие “специалисты” ищущие работу действительно считают себя хорошими спецами, но на практике оказывается что они преувеличивают свои знания и на самом деле действительно хороших задач никогда не решали, хотя возможно для предудыщего места работы такого уровня было достаточно или может быть даже и много.
какие интересные задачи для тренеровок и дальнейшего развития вы могли бы посоветовать попробовать выполнить?
Не стоит пытатся объективно себя оценивать.
Хороший специалист, это тот который усердно работает, и ему любая задача поплечу. Дело только во времени.
Если вы не понимаете, что то в своей программе, то не останавливайтесь до тех пор пока не разберетесь, что кстати получается обычно не с первого раза/подхода.
Как это не стоит? Наоборот объективная оценка нужна, чтобы или не работать за копейки обогащая работодателя, или не тратить зря время работодателя на собеседования, или, упаси Боже, на испытательные сроки.
P.S. А как можно не понимать в своей программе что-то – я не понимаю :)
Если вы пишите все с нуля, то понимать все возможно.
Но, если вы используете сторонние библиотеки, то очень часто возникают ситуации, когда, что то ижет не так. Поэтому и приходиться разбираться.
Или у вас в программе никогда не было багов :) ?
Теже баги, это часто неправильное использование возможностей языка.
Оценивая себя как талантливого, гуру разработчика, но при этом ленясь работать – то, вы ничего не стоите, ну или не стоите тех денег, которые хотите засвои “таланты”.
Отправте свой код работодателю и тогда вас оценят более объективно и по достоинсту.
Человека ценять за его работу, а не за его (ЭГО) самомнение.
Баги, конечно, были. Но это я не отношу к непониманию своей программы, это или непонимание/незнание стандартных/сторонних библиотек, или непонимание языка, вернее его недостаточное знание, или даже его конкретной, вплоть до билда, платформы и окружения, реализации. Но когда программа отлажена и работает, то там всё понятно (если код бездумно не копипастил, конечно, или отладка не проходила методом научного тыка – “А давай-ка попробую здесь на единичку увеличить, может заработает. Заработало! Пошел сдавать”).
Так вопрос у mb и был о том, если я правильно понял, какую задачу можно реализовать (читай какой велосипед изобрести :) ), чтобы если что послать свой код работодателю, или, хотя бы, знать, что ты такие задачи решать в состоянии. Если у меня на предыдущей работе не стояло задач сложнее разработки гостевых книг :), то вряд ли работодателю этот код будет интересен в принципе, как бы идеально он не был написан, если задача стоит разработка системы управления предприятием