Coder Social home page Coder Social logo

funbox's Introduction

Квалификационные задания для разработчиков HTML/CSS/JS

Level 1: Q1: Расскажите, чем, на ваш взгляд, отличается хорошая верстка от плохой с точки зрения:

  • пользователя
  • менеджера проекта
  • дизайнера
  • верстальщика
  • клиентского программиста
  • серверного программиста

A1: 1.С точки зрения пользователя считаю качественной ту вёрстку,которая удовлетворяет стандартам UserXperience и Usability. Интерфейс должен быть по возможности максимально интуитивно понятен,всё должно быть в одном стиле,общая цветовая палитра и шрифты должны не быть слишком яркими,быть приятными глазу и легкочитаемыми.Так же основополагающим фактом можно выделить скорость загрузки страницы и стилей.Идеальное время открытия сайта/приложения должно составлять 1-2 секунды,для того,чтобы пользователи не покидали сайт из-за долгой загрузки контента. 2.Для менеджера проекта,предполагаю,хорошая вёрстка - это готовый продукт без ошибок и багов в продакшн сборке,в котором всё соответствует требованиям к данному проекту. 3.С точки зрения дизайнера считаю хорошей близкой к Pixel Perfect или же Pixel Perfect вёрстку,внимание к деталям в самой вёрстке и гибкость кода для возможности последующих изменений в проекте.Корректное отображение на разных устройствах и экранах. 4.С точки зрения верстальщика хорошей вёрсткой,по моему мнению,можно назвать красиво оформленный код и логически связанное с контентом именование классов секций/блоков/элементов,например по БЭМ-методологии,что упрощает понимание и восприятие кода,адаптивность и кросбраузерность. Комментарии в коде с пояснениями и в трудночитаемых(понимаемых) местах скриптов. 5.С точки зрения клиентского программиста,к хорошей вёрстке можно отнести те же требования что и для верстальщика,но так же добавить такие моменты как:комментарии в коде к особо тонким моментам(если требуется),семантически корректную разметку,а так же корректный и валидированный по W3C стандарту код разметки и стилей(WEB), возможно,дополнительную документацию по проекту в README(в зависимости от сложности проекта). 6.С точки зрения серверного программиста хорошей является вёрстка содержащая разделение логики работы и представления(например HTML отдельно\PHP отдельно),оформление кода и осмысленное использование CSS.

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

A2: Основным аспектом можно назвать саму архитектуру проекта,командное следование определёныым принципам разработки и единую систему сборки. Так же важным считаю использовать модульный или компонентный подход.Это повышает гибкость проекта в случае внесения изменений. Так же использование командой одного и того же препроцессора/конфигурации сборщика и т.д. Многостраничных проектов пока выполнять не доводилось.Для вёрстки использую Sublime Text3 + Emmet + BrowserSync + KOALA(+autoprefix) + SCSS\LESS + БЭМ + JS + github. Для SPA и PWA использую Vue/React + webpack(webpack autoprefix\sass(SCSS)) + babel + webpack-devserver + webpack-CLI + NPM + github.

Q3: Опишите основные особенности верстки сайтов, которые должны одинаково хорошо отображаться как на любом современном компьютере, так и на смартфонах и планшетах под управлением iOS и Android. Расскажите о своем опыте верстки подобных сайтов: какие инструменты и технологии вы применяли, как проверяли результат на различных устройствах, какие именно устройства требовалось поддерживать.

A3: 1.Адаптивность/отзывчивость: Использование использование метатега vieport,использование медиазапросов или bootstrap,применение flexbox. 2.Использование вендорных префиксов для браузеров,или же автопрефиксов в сборщиках и компиляторах препроцессоров. 3.Проверка тегов и CSS свойств через ресурсы CanIUse или подобные.По возможности использовать только те,которые поддерживаются большинством браузеров. 4.Дополнительные скрипты для опрееления типа устройства и/или браузера. В больших проектах использую SublimeText 3 + BrowserSync + Emmet + KOALA + CSS/JS библиотеки + Git Kraken.

Проверял и тестировал через Chrome + Chrome Devtools + отладка по USB на своём мобильном устройстве через ADB(Android Debug Bridge) + FireFox + Opera.В ближайшее время планирую изучить JEST. Требовалась поддержка основных базовых устройств(Desktop/Tablet/Mobile/Mobile S).

Q4: Расскажите, какие инструменты помогают экономить время в процессе написания, проверки и отладки кода.

A4: Относительно простой вёрстки: 1.Emmet + emmet snippets. 2.SublimeText Browser sync(Аналог Gulp Watch или других). 3.KOALA compiller + KOALA debug 4.БЭМ. 5.Тестировка кода проходит вручную в основных браузерах(кроме Safari). Относительно SPA/PWA: 1.Babel/ESLint 2.Webpack(devserver,CLI) 3.React PropTypes(редкое использование), 4.LESS/SCSS. 5.Sublime Syntax+Syntax HighLight. 6.Vue/VueX devtools/React devtools. 7.Lighthouse. 8.Преимущественно Axios для запросов и API/REST API. Тесты провожу в 3х браузерах.

Q5: Вам нужно понять, почему страница отображается некорректно в Safari на iOS и в IE на Windows. Код писали не вы, доступа к исходникам у вас нет. Ваши действия? Сталкивались ли вы с подобными проблемами на практике?

A5: Просмотрю код через панель разработчика(F12 для Chrome),Сохраню файлы через Chrome DevTools.Так можно сохраить html и css/js файлы.Просто скопипастить код из просмотра кода страницы в файлы(Если сайт не на CMS.Имея доступ к CMS,её адрес можно найти через запросы в рзделе "Network" в DevTools Chrome). На данный момент мне не приходилось сталкиваться с такой ситуацией. Q6: Дизайнер отдал вам макет, в котором не показано, как должны выглядеть интерактивные элементы при наведении мыши. Ваши действия?

A6: Уточню у дизайнера,как должны выглядеть эти элементы и как они должны работать. Предложу дизайнеру своё решение. В противном случае,воспользуюсь примерами из других макетов или работ.Постараюсь примерно угадать с анимацией и эффектами сам.

Q7: Какие ресурсы вы используете для развития в профессиональной сфере? Приведите несколько конкретных примеров (сайты, блоги и так далее). Какое направление развития вам более близко: JS-программирование, HTML/CSSверстка или и то, и другое? Какие ещё области знаний, кроме тех, что непосредственно относятся к работе, вам интересны?

A7: Сайты:

  • Habr
  • developer.mozilla.org
  • learn.javascript.ru
  • htmlbook.ru
  • ru.reactjs.org
  • StackOwerflow
  • документация к конкретному инструменту\библиотеке\фрэймворку

Каналы и паблики:
  • TechRocks
  • Типичный Верстальщик
  • Love Frontend
  • Senior Frontend
  • For Web
  • Code Blog(+ общий чат по JS)
  • Web /> HTML CSS JavaScript
  • Hexlet(+подкасты)
  • Веб-стандарты подкаст
  • Журнал "КОД"
  • Яндекс для разработчиков

YouTube каналы:
  • Владилен Минин
  • LoftBlog
  • WebDev

Оба направления считаю интересными,но больше нравится программировть на JS.Предпочитаю писать на React.js.Близка концепция данной библиотеки,подход к написанию(JSX) кода и возможности. Планирую изучить более низкоуровневые языки(C,Java,Pyton).Хотелось бы создавать полезные для людей приложения или программы,именно по этому я начал с web-разработки.

Q8: Расскажите нам о себе и предоставьте несколько ссылок на последние работы, выполненные вами.

A8:

В свободное время стараюсь изучать новые инструменты\библиотеки\фрэймворки для front-end разработки,играю на гитаре(когда-то была своя группа),люблю комедию и стендапы. Переодически паяю какую-нибудь электрику или ремонтирую электронику друзей и знакомых.Пытаюсь освоить Kali Linux и основы информационной безопасности как хобби или в свободное время припровождения.

Примеры моих работ и дополнительную информацию обо мне вы можете найти в моём портфолио: https://dmitri2205.github.io/Portfolio/

funbox's People

Contributors

dmitri2205 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.