Требуется раб-универсал

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

Теория
На дворе 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. Куда же без него? :) Без него теперь и в дворники не берут.

И самое главное. Никто у нас не знает всего этого одновременно, чего и от вас не требуем. :) Но хотя бы иметь представление, о чём идёт речь в каждом из пунктов очень стоит. Правда. Очень.

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

Что скажете?

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*


4 + один =

*