Skip to content

Latest commit

 

History

History
286 lines (234 loc) · 26.2 KB

File metadata and controls

286 lines (234 loc) · 26.2 KB

📟 Список вопросов для интервью

Список должен постоянно пополняться и в него должны часто вноситься изменения!

О себе, перспективы и стремления

  • Расскажите о себе. Где родились, сколько Вам лет, где учились, где работали и работаете сейчас? Район проживания, прописка? Семейное положение, дети?
  • Чем занимаетесь в свободное время? Есть ли у вас хобби и как много времени Вы на него тратите?
  • Какие у Вас основные стремления и жизненные планы на ближайшие несколько лет?
  • Какое у Вас образование? Диплом? Оценки?
  • Какие есть "заслуги" помимо образования (спортивные достижения, курсы, прочее)?
  • Какие у Вас сильные стороны?
  • Какие у Вас слабые стороны?
  • Есть ли у Вас вредные привычки?

Смена места работы

  • Расскажите про причины поиска нового места работы.
  • Расскажите про предыдущее место работы? Какую позицию Вы занимали? Как долго? Что входило в Ваши обязанности?
  • Расскажите про ваше собеседование на предыдущее место работы? Какие вопросы Вам задавали?
  • Что привлекло Вас в нашей компании? Почему Вы хотите работать у нас?

История попадания в профессию

  • Как Вы попали в разработку? Сколько уже этим занимаетесь? Нравится ли Вам это?
  • Расскажи про "путь обучения"
  • Как Вы устроились на своё первое место работы в сфере IT. Компания, позиция, сложность.

Опыт и технологии

  • С какими технологиями Вы работали на коммерческой основе (предыдущее место работы, подработка, фриланс)? Какие впечатления? Что нравилось больше всего?
  • С какими технологиями Вам было не интересно работать? Что не нравилось больше всего?
  • С какими техническими проблемами Вы сталкивались в процессе работы? Как решали?
  • Какие проблемы (помимо технических) встречались в Вашей работе (плохо отлаженные процессы, неадекватное начальство)? Как Вы пытались их решать?
  • В каких проектах Вы участвовали? Какие фичи реализовывали? Какое было самое серьезное достижение (сделали сервис авторизации, реализовали микросервисную архитектуру, внедрили Docker, настроили CI/CD или руководили командой, которая успешно реализовала проект)?
  • Что чаще всего вызывает у Вас затруднения? Какие слабые стороны в разработке? Как Вы думаете, какие задачи сейчас (на новом месте) вызовут у Вас наибольшие затруднения?
  • Что Вы делаете для того, чтобы закрыть эти проблемные места?

Иностранные языки

  • Какими языками, помимо русского, Вы владеете и на каком уровне?
  • Какой у Вас уровень владения английским языком?
  • Можете ли Вы читать техническую документацию на английском языке без переводчика?

Новые технологии

  • Какие технологии Вам интересны? Почему именно они?
  • Владеете ли Вы технологиями "другой стороны" разработки (фронт, бэк, девопс)? Было ли желание попробовать или переквалифицироваться?
  • Что Вы изучили за последнее время? Год, полгода, месяц? Что изучаете сейчас? Применяли ли вы это на последнем месте работы? Хотели ли бы вы (и реально ли это) работать с этими технологиями на новом месте?
  • Какие материалы Вы преимущественно используете для обучения (книги, видео, курсы)?
  • Тратите ли Вы деньги на своё обучение? Готовы ли Вы их тратить (покупка книг,курсов)?

Лидерские качества

  • Как вы оцениваете свои лидерские качества? Что Вам нравится больше, писать код или заниматься процессами постановки и регулирования выполнения задач?
  • Был ли у Вас опыт управления (руководства людьми или проектами)?

Организационные вопросы

  • Как Вы относитесь к тому, что Вам придется задержаться в офисе или поработать в выходной?
  • Как Вы относитесь к прохождению испытательного срока?
  • В случае положительного ответа с нашей стороны когда Вы готовы приступить к обязанностям?
  • Какие у Вас ожидания по заработной плате?

Базовые вопросы по взаимодействию частей приложения

  • Понимаете ли Вы работу связки 'frontend' - 'backend'?

  • Понимаете ли Вы работу связки 'веб-сервер' - 'php' - 'база данных'?

  • Настраивали ли Вы такую связку самостоятельно? Или всегда пользовались готовыми сборками (LiveServer, LAMP)?

  • Опишите свой процесс подготовки к работе над новым проектом.

HTML

  • Что такое HTML?
  • Что такое DOCTYPE? Что будет, если не указать DOCTYPE?
  • Что такое 'div' и 'span' и в чём разница?
  • Что такое комментарии, зачем они нужны и как они выглядят? Будут ли они переноситься?
  • Что такое семантическая верстка? Какие основные принципы? Зачем она нужна?
  • Что такое ссылка? На какие типы адресов бывают ссылки? Как задать ссылке?
  • Что такое якорная ссылка? Зачем она нужна?
  • Как определить класс и id-атрибут? Чем они отличаются? Зачем они нужны?
  • Что делают теги 'em', 'b', 'strong', 'i'?
  • Что такое 'ol', 'ul', 'li'?
  • Что такое тэг HEAD, зачем он нужен и что в нём указывают?
  • Зачем нужны теги 'dl', dt', 'dd'?
  • Обязательно ли писать атрибут 'alt' в тэге 'img'? Что он делает?
  • Зачем нужны теги 'tr', 'th', 'td'?
  • Набросайте минимальную разметку для HTML формы
  • Что такое data-атрибуты и как они могут использоваться?
  • Какие ешё могут быть атрибуты у HTML?
  • Как подключить скрипты?
  • Что такое 'async' и 'defer'? Какая между ними разница?
  • Как правильно реализовать многоязычность контента с точки зрения html? Какие атрибуты для этого используются?

Pug/Jade

CSS

  • Что такое CSS?
  • Почему таблицы стилей CSS называются каскадными?
  • В чем разница между записью '#my' и '.my'?
  • Что такое 'margin' и 'padding'? В чем разница между ними?
  • Какая разница между значениями '0' и 'auto' в свойстве 'margin'?
  • Слышали ли вы про свойства 'border-position' и 'border-all'? Для чего они применяются?
  • Какое свойство задает цвет фона?
  • Какие ещё свойства 'background' вы знаете?
  • Как выглядят комментарии в CSS и будут ли они переноситься по строкам?
  • Что такое певдоклассы? Какие вы знаете?
  • Что такое псевдоелементы? Какие вы знаете?
  • Расскажите про свойство 'float'
  • Расскажите про 'flexbox'
  • Расскажите про 'grid'
  • Что такое медиа-запросы? Как они работают?
  • Что такое 'z-index'?
  • Работали ли вы с 'bootstrap' сеткой и как она устроена?
  • Приходилось ли Вам работать с другими сетками?
  • Приходилось ли Вам писать свои сетки?
  • Что такое keyframe в CSS?
  • Работали ли Вы с SVG? Расскажите про свой опыт

SASS/SCSS

Javascript

  • Что такое javascript? Где используется? Зачем он нужен и на каких устройствах можно встретить javascript в 2019 году?
  • javascript - это компилируемый или интерпретируемый язык программирвоания? Что такое компиляция и интерпритация? Можешь привести пример компилируемого и интерпритируемого языка? Что лучше? Что быстрее?
  • Что такое event loop?
  • Какие типы данных встречаются в javascript?
  • Javascript поддерживает строгую/сильную/динамическую типизацию?
  • Что такое замыкания (в нескольких словах)? Приведи пример использования? Какие задачи можно решить через замыкания? В ES6+ замыкания имеют смысл?
  • Что из себя представляет ключевое слово this?
  • Вы знаете как устроен 'hoisting' - подъем переменной?
  • Что означают ключевые слова 'var', 'let', 'const'? В чём разница?
  • Что делает деректива 'strict mode'?
  • Что означают операторы '==' и '==='? Какая между ними разница?
  • В чём разница между 'null' и 'undefined'?
  • Что такое 'конструктор'? Как он работает?
  • Как можно проитерировать объект? Как можно проитерировать массив?
  • Расскажите про ES6
  • Что такое 'rest' и 'spread' операторы? Приведите пример реального использования.
  • Опишите поведение методов массива 'forEach', 'filter', 'map', 'reduce'
  • Что такое прототипы? Что такое прототипное наследование?
  • В javascript есть ООП? Как оно реализовано?
  • Как устроены классы в javascript? Что у них 'под капотом'?
  • Какие еще есть парадигмы (модели, подходы) программирования существуют кроме ООП? Какие из них поддерживает javascript?
  • Что такое 'стрелочная функция'. Чем она отличается от классической функции? Когда используется?
  • Расскажите про методы 'call', 'apply' и 'bind'
  • Что такое многопоточность? javascript поддреживает многопоточность? (вопрос с подвохом про nodejs)
  • Знаете что-нибудь про nodejs? Сталкивались с ним? Использовали в работе? Можете рассказать ключевые особенности?
  • Можете рассказать про API? Реализовывали ли Вы свои API? Работали ли с открытыми API каких-то сторонних сервисов? Можете привести примеры взаимодействия?

Хранение данных на клиенте

  • Что такое хранение данных на клиенте? Приходилось ли работать с локальными хранилищами?
  • Что такое Cookies? Какие преимущества и какие недостатки? Пример использования?
  • Что такое Web Storage API? Что произошло с того момента, как оно появилось?
  • Что такое localStorage? Какие преимущества и какие недостатки? Пример использования?
  • Что такое sessionStorage? Какое отличие его от localStorage? Какие преимущества и какие недостатки? Пример использования?
  • Что такое IndexedDB? Чем оно отличается от прочих хранилищ? Какие преимущества и какие недостатки? Пример использования?
  • Что такое WebSQL? Почему он умер и его использование считается нежелательным?

PHP

  • Что такое PHP? Где используется? Зачем он нужен и на каких устройствах можно встретить javascript в 2019 году?
  • php - это компилируемый язык или интерпретируемый? Что такое компиляция и интерпритация? Можешь привести пример компилируемого и интерпритируемого языка?
  • Что такое "области видимости" и как они работают?
  • Какие типы данных встречаются в PHP?
  • Есть ли разница между одинарными и двойными кавычками в PHP?
  • Что такое ООП? В чём разница между ООП в PHP и "ООП" в javascript?
  • Назовите базовые принципы ООП и расскажите про каждый из них?
  • Что такое абстрактный класс? Что такое интерфейс? В чем разница между абстрактным классом и интерфейсом?
  • Приведите пример правильной реализации наследования от абстрактного класса и пример правильной реализации имплементации интерфейса?
  • Какие фишки внедрили в последней версии PHP? Что из этого Вы считаете самым полезным и почему?

Паттерны проектирования

  • Что такое паттерны проектирования?
  • Из каких элементов состоит паттерн? (имя, задача, решение, результат)
  • Какие существуют типы шаблонов? (порождающие, структурные, поведенческие)
  • Назовите порождающие паттерны? Напишите реализацию любого на выбор (Abstract factory, Fatrory method, Builder, Singletone, Prototype)
  • Назовите поведенческие паттерны? Напишите реализацию любого на выбор (Chain of responsibility, Command, Iterator, Mediator, Momento, Observer, State, Strategy, Template method, Visitor, Interpreter)
  • Назовите структурные паттерны? Напишите реализацию любого на выбор (Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy)
  • Какие вы паттернов всего используете в работе?
  • Что такое "антипаттерны"? Приведите пример (Big ball of mud, Yo-Yo problem, Magic number, Magic button, Gas Factory, Analiys paralisys...)
  • Что такое "антипаттерны"? Приведите пример (Big ball of mud, Yo-Yo problem, Magic number, Magic button, Gas Factory, Analiys paralisys...)
  • Что вы знаете о принципах ООП? Расскажите про OOD, OOA, DRY, KISS, YAGNI?
  • Что вы знаете о SOLID? Расскажите про каждый из принципов

Контейнеризация и виртуализация

  • Были ли проблемы с разными версиями разного (php или mysql)?
  • Что Вы знаете о технологиях виртуализации? Контейнеризации?
  • Что такое virtualbox? Был ли опыт работы?
  • Что такое docker? Был ли опыт работы?
  • Можешь объяснить принципиальную разницу между docker и virtualbox?

UNIX и инструменты разработки

  • Какую операционную систему Вы предпочитаете?
  • Какую операционную систему Вы используете (дома, на работе)? Почему?
  • Что такое UNIX-based системы? Имеется ли опыт работы с такими?
  • Можете рассказать подробнее про macOs или Linux?
  • Почему windows - это плохо для разработчика (или хорошо)?
  • На предыдущем месте работы тебе дали уже настроенную рабочую машину, или ты настраивал локальное окружение сам (операционная система, инструменты разработки, плагины, скрипты, сервера, контейнеры, виртуалки)?
  • Какие сейчас используешь инструменты в разработке? Делишься ли ты интересными инструментами со своими коллегами?

Сеть, сетевые протоколы

  • Что такое сетевые протоколы? Какие уровни протоколов Вы знаете? Какие и за что отвечают?
  • Чем отличаются протоколы http/tcp/upd? Расскажите про каждый. Когда какой используется? Их сильные и слабые стороны?
  • Что такое web-socket? Для чего используются и как устроен?
  • Есть ли у Вас опыт работы с серверами? Выделенные сервера или хостинг? Какая операционная система, какие инструменты?
  • Рассказать про разницу между хостингом и выделенным сервером? Какие плюсы и минусы?
  • FTP, sFTP или SSH? Какая разница и что лучше использовать в каком случае?
  • Расскажите про протокол SSH и базовый принцип алгоритма его работы.
  • Что такое SSH ключи и зачем они нужны?
  • Что такое ip-адрес? В чём разница между внешним и внутренним ip-адресом? Как узнать свой локальный ip-адрес (в рамках любой системы)? Зачем это может понадобиться?
  • Что такое mac-ардес?
  • Что значит "пробросить порт"? Как это сделать?
  • Какие команды для работы с "сетью" Вы знаете?

Деплой, CI/CD

  • Что такое Cron? Использовал ли ты его в работе? Можешь привести пример?
  • Что такое Ansible? Использовал ли ты его в работе? Можешь привести пример?
  • Что ты знаешь про CI/CD? Приходилось ли использовать в работе?
  • Имели ли Вы дело с GitLab CI?
  • Как на последнем месте работы происходил деплой в препрод/прод? Кто занимался проектированием архитектуры, выбором технологий и настройкой?

Домены и почта

  • Что такое доменные имена? Какие типы записей существуют у доменных имен? Какая запись за что отвечает?
  • Что такое NS-серверы?
  • Как устроены почтовые серверы? Доводилось ли производить настройку почты на выделенном сервере? Какие проблемы возникали?

Алгоритмы и структуры данных

  • Что такое алгоритм? Приведите пример алгоритма на объектах реального мира
  • Что вы знаете об алгоритмах в сфере computer science?
  • Что такое асимптотика? Как она помогает определить поведение функции? Как проанализировать функцию? Что такое "большое О"?
  • Какие базовые алгоритмы вы знаете?
  • Что такое сортировка? Какие алгоритмы сортировки вы знаете? Можете привести пример хорошей и плохой сотрировки?
  • Что такое "машина Тьюринга"?
  • Что такое "структуры данных"? Какие структуры данных вы знаете?
  • Что такое "связный список"? Односвазный, двусвязный? В чём разница? Можете написать реализацию (можно псевдокодом) любого списка на выбор? В каком реальном кейсе может быть использован данный список?

Тестирование кода

  • Вы пишете тесты? Хотите ли вы писать тесты? Нравится ли Вам их писать? Как Вы думаете, насколько они нужны и действительно ли они приносят пользу?
  • Какие подходы к тестированию вы знаете?
  • Какие бибилиотеки для тестирования вы используете?

Git

  • Что такое системы версионирования кода? Какие системы Вы знаете? Для каких целей их используют?
  • Если ли у Вас реальный опыт использования? Сколько человек было в вашей команде?
  • Какие команды Вы чаще всего используете в работе?
  • Сталкивались ли Вы с конфликтами? По каким причинам они возникали и как Вы их решали?
  • Использовали ли вы в компании фича-бранчинг или фича-форкинг? Какие проблемы решают эти подходы?

СУБД

  • Что такое СУБД? Какие СУБД Вы знаете?
  • С какими СУБД Вы работали?
  • Расскажите про MySQL?
  • Расскажите про PostgreSQL?
  • Расскажите про основные различия между этими СУБД
  • Что такое SQL?
  • Что означает понятие "реляционная база данных"?
  • Что такое "отношения между сущностями"? Как они реализованы?
  • Что представляет SQL-инъекция? Так ли она страшна в 2019 году?
  • Что такое "prepare statement"?
  • Какие СУБД бывают помимо реляционных?
  • Расскажите про "NOSQL"? Что означает "NO"? В чемпринципиальная разница между реляционной и NOSQL базой данных?
  • Что такое "документоориентированная база данных"?
  • Расскажите про mongoDB.
  • Расскажите про redis и его архитектуру.
  • Вы что-нибудь знаете про RabbitMQ? Для каких целей используют подобные инструменты?