Нашел тут на просторах сети список требований к соискателю работы, или иными словами, какими видят верстальщиков со стороны клиенты и работодатели, что например работодатели вкладывают в обязательные знания специалиста. Вот пост одной из компаний с их тестовым заданием:
Теория
На дворе 2012 год. У вас задание сверстать полный редизайн сайта.
- Какой doctype выберете и почему?
- Что такое progressive enhancement и graceful degradation? При чем здесь Modernizr?
- Какие браузеры вы считаете нужным поддерживать сегодня?
- Валидно, семантично или работоспособно? Что важнее?
- Что такое типографика и зачем она нам сдалась?
- Windows, Mac или Linux?
- Rebel or Empire?
Практика
- Сверстайте резиновый блок с круглыми уголками и с тенью при наведении, чтобы фон страницы можно было менять не трогая блок.
- Возможно ли это сделать без картинок? А в IE7? А в Opera 9?
- Со звёдочкой: сверстайте пост, оформленный пятью оттенками зелёного (заголовки, текст, фон, автор, дата, рамки — что угодно). Но сделайте это так, чтобы зелёный цвет задавался только в одном месте, и при изменении зелёного на синий в этом месте, все оттенки становились оттенками синего. Sass использовать можно. :) Кстати, шрифт заголовка поста должен быть нестандартным и работать в максимальном количестве браузеров. Никаких картинок, разумеется. Сможете ли вы к такому посту организовать нестандартную рамку с разными уголками, не меняя HTML страницы? В каких браузерах? А без JS?
- Со звездищей: напишите чат. Да, вот так просто. Только чтобы он работал на WebSockets, когда они доступны, и откатывался до FlashSockets — когда нет. Никаких фреймов.
- Напишите команду с использованием jQuery, которая заставит все ссылки, ведушие за пределы сайта, открываться в новой вкладке/окне. Перехода по ссылке при этом быть не должно. А после клика по такой ссылке чтобы рядом с ней появлялась галочка.
- Организуйте выпадающее меню без использования JavaScript. Можно ли сделать, чтобы оно появлялось не сразу, а постепенно — через прозрачность, и если да, то где это может работать?
- Создайте сайт из трёх страничек, переход между которыми не вызывает перезагрузку страницы. Данных должно передаваться как можно меньше. А URL при переходе — меняться, и при заходе на любой из них, пользователь должен попадать туда, куда намеревался.
- Напишите простой сайт из двух страничек — на одной должен быть калькулятор, на другой — генератор случайных чисел. Единственное условие: он должен работать оффлайн (в Хроме) и запоминать последние результаты после закрытия браузера даже при выключенных куках (во всех топовых браузерах — но совместимость со старыми станет огромным плюсом).
- Со звёздочкой: что такое ООП? Своими словами.
- Со звёздочкой: выскажите своё мнение о перспективах Dart.
- Со звездищей: расскажите о хотя бы трёх способах наследования JavaScript.
А так же соискатель должен знать:
- Git. Или, хотя бы, SVN. И в целом, VCS. ;)
- MVC и ООП. Или хоть что-то из двух.
- RIA, Comet, Socket. А если Вы написали какое-нибудь RIA самостоятельно, то Вы уже почти приняты.
- Веб-фреймворк. В частности, Ruby on Rails, Django, Symfony, Zend — представление о том, как они работают, даёт 100 очков.
- JS-фреймворк. jQuery, Prototype или что-то подобное знать настоятельно рекомендуется. Кроме случая, когда Вы — Гуру низкоуровненого JS, и пишете код, совместимый со всеми браузерами, вплоть до Netscape Gold и IE4 включительно.
- CSS-фреймворк. Blueprint или Compass станут отличными компаньонами для Вас на собеседовании.
- HTML-шаблонизаторы. Haml, Slim, ERB (Erubis), Smarty, Jinja2, Jade, Moustache, Textile, Markdown… Да даже просто Wiki сослужит Вам хорошую службу.
- CoffeeScript. Мы так любим кофе. Чего и вам желаем.
- DSL для CSS. Sass, Scss, Less — будет прекрасно понимание механизмов работы mixin, CSS-переменных и прочих кавайных вещей.
- JSON — нужно понимать его с полускобки. YAML тоже не будет лишним. XML подразумевается.
- TCP/IP, DNS, HTTP (S), SSH… Нет, сисадмин нам не нужен. :) Но такие знания не будут лишними и для веб-технолога. Как минимум стоит понимать отличия URL от URI и иметь представление о REST.
- DOM, XHTML, DHTML. Понимание этих понятий станет таким же существенным плюсом, как и способность назвать 10 отличий между Strict и Transitional будучи разбуженным посреди дня. Посреди 1 января.
- SEO. Ваша великолепная вёрстка должна быть приятна не только людям и валидаторам, но и (а может, и в первую очередь) поисковикам.
- Web 1.0/2.0 — знать и понимать, что это такое. Web 3.0 — знать и понимать, что никто не знает, что это такое. Semantic Web — знать и понимать, что это не Web 3.0, но тоже очень важно. А круче всего — иметь собственное мнение по всем этим вопросам.
- БЭМ. Или что угодно подобное. Хоть какая-нибудь идеология. А в идеале — своя собственная, любимая, но при этом адекватная.
- HTML5. Куда же без него? :) Без него теперь и в дворники не берут.
И самое главное. Никто у нас не знает всего этого одновременно, чего и от вас не требуем. :) Но хотя бы иметь представление, о чём идёт речь в каждом из пунктов очень стоит. Правда. Очень.
Присылайте свои мысли по поводу того, почему мы должны взять вас на работу.
Что скажете?
Оставьте первый комментарий