Типичное техническое интервью включает введение, дискуссию о проектах, а также углубленные вопросы о ваших знаниях, умениях и навыках. Успех на собеседовании зависит от уровня подготовки и способности понимать интервьюера, превосходя его ожидания. Изучите компанию-работодателя. Узнайте, какие технологии и фреймворки там используют. Каковы перспективы компании-работодателя на следующую пятилетку? С какими фирмами она сотрудничает? Это исследование даст вам не только общие темы для разговора, но и покажет интерес к бизнесу. Найдите своего интервьюера в LinkedIn. Узнав его, вы сможете адаптировать ответы: например, директор по персоналу может не знать технического жаргона, а ведущему инженеру-программисту термины будут по душе.
Давайте разберем вопросы, которые обычно задают веб-разработчику средней руки на собеседованиях и дадим на них правильные ответы:
1) Объясните, каковы основные обязанности веб-разработчика?
· Программа тестирования и отладки веб-приложений;
· Проектирование, разработка и развертывание веб-приложений;
· Загрузка сайтов на сервер и регистрация его в различных поисковых системах;
· Координация действия с другими специалистами (дизайнерами и программистами);
· Исправление ошибок, устранение неполадок и решение проблем;
· Разработка структур кода для решения конкретных задач;
· Поддержка и помощь в содержании и обслуживании веб-сайтов;
· О тветственность за код на всех этапах подготовки, разработки, тестирования и производства.
2) Что должен знать веб-разработчик?
Хороший веб-разработчик должен знать:
· PHP / Ruby / Python;
· JavaScript и фреймворки.
3) Перечислите преимущества HTTP / 2 по сравнению с HTTP / 1.1?
Список преимуществ HTTP / 2 по сравнению с HTTP / 1.1:
· Сжатие данных заголовков HTTP;
· Параллельная загрузка элементов страницы через одно соединение TCP;
4) Объясните, что такое длинный опрос?
Длинный опрос – это шаблон разработки веб-приложений, используемый для имитации передачи данных с сервера клиенту. Когда используется длинный опрос, клиент отправляет запрос на сервер, и соединение остается неизменным, пока сервер не будет готов отправить данные. Соединение будет закрыто только после того, как данные отправятся обратно клиенту или истечет время ожидания соединения.
5) Объясните, как можно изменить цвет фона элемента формы в CSS, когда пользователь вводит текст? Это работает во всех браузерах?
Да, вы можете изменить внешний вид элементов формы по умолчанию, стилизовав теги HTML: input, select и textarea, но это не будет работать во всех браузерах.
6) Какой тег нужно использовать в HTML для управления вводом многострочного текста?
Для управления вводом многострочного текста вы можете использовать тег «textarea».
7) Объясните, как можно ссылаться на файл CSS на веб-странице?
Вы можете обратиться к файлу .CSS на веб-странице с помощью тега <link>. Он должен находиться между тегом <head> </head>.
8) Перечислите несколько способов уменьшить время загрузки страницы?
Вы можете сделать следующее, чтобы сократить время загрузки страницы:
· Уменьшить размер изображения;
· Удалить ненужные виджеты;
· Использовать сжатие HTTP;
· Разместить CSS вверху, а ссылки на скрипт внизу или во внешних файлах;
· Использовать к еширование;
9) Чем XHTML отличается от HTML?
· XHTML требует, чтобы все теги были в нижнем регистре;
· XHTML требует, чтобы все теги были правильно закрыты;
· XHTML требует, чтобы все атрибуты были заключены в двойные кавычки;
· XHTML запрещает встроенным элементам содержать элементы уровня блока.
10) Перечислите новые API, предоставляемые стандартом HTML 5?
HTML 5 поставляется с рядом новых API:
· API текстовой дорожки;
· API кэша приложений;
· API передачи данных;
· Взаимодействие с пользователем;
· API проверки ограничений;
11. Как вы организуете код JavaScript?
· Систематизируем свой код;
· Разделяем JavaScript и HTML;
· Р азбиваем JS на логические блоки и храним его в отдельных файлах;
· И спользуем скрипт для объединения отдельных файлов в один пакет;
· И спользуем правильное пространство имён в JavaScript, чтобы не захламлять глобальное пространство имён.
12. Какие инструменты вы используете для поиска багов?
Ответ будет зависеть от среды разработки. Для разных языков программирования используются разные профилировщики, некоторые библиотеки имеют встроенные инструменты для поиска и устранения багов. Главное, знать не инструмент, а подход к решению той или иной проблемы.
13.Учитываете ли вы SEO, UX и безопасность при создании приложения?
Вы должны понимать и сочетать эти факторы в работе. Из ответа будет ясно, чему вы отдаёте приоритет. Если, к примеру, речь про интернет-издание, важнее будет производительность сайта и SEO, а если нужно разрабатывать сайт крупной финансовой компании – превыше всего окажется безопасность.
Начиная обучение на веб-разработчика, готовьтесь пройти множество собеседований – хороших и плохих. Каждое интервью – это опыт, который поможет вам развиться и получить хорошую высокооплачиваемую должность в солидной компании. Если вы только осваиваете профессию, стоит обратить внимание на учебные курсы по веб-разработке онлайн-академии GeekBrains. Под руководством опытных преподавателей вы сможете получить необходимые для начала карьеры знания и существенно сократить путь к вожделенной должности. Актуальная программа предполагает 2 – 3 вебинара в неделю и 2 месяца стажировки, а успешно окончившим курс студентам академия помогает с трудоустройством.