12 вопросов с собеседования по Ionic


Оглавление (нажмите, чтобы открыть):

22 самых распространенных вопроса на собеседованиях на должность веб-разработчика

Качественная подготовка — один из ключевых элементов, необходимых для успешного прохождения собеседования, которым, к слову, часто пренебрегают.

Несмотря на то, что данная статья не претендует на объективность, она включает в себя все основные вопросы, которые могут быть заданы по теме PHP, JS, JQuery, CSS, HTML, MySQL и ООП, а также развернутые ответы на них.

Изучив эти темы, вы заметно улучшите свою теоретическую базу и значительно увеличите свои шансы на получение заветной работы.

— Сколько типов данных в РНР?

PHP поддерживает 8 базовых типов данных.

4 скалярных типа:

— boolean. Логический тип данных, переменные данного типа могут принимать значения true или false.

ZIP Service, Москва, можно удалённо, от 100 000 ₽

— integer. Целочисленный тип данных, переменные могут принимать целые значения (…-2, -1, 0, 1, 2…) в диапазоне от -2^31 до +2^31. Если значение превышает данный порог — оно автоматически переводится в тип float.

— float. Числовой тип данных с плавающей точкой, может содержать как целые, так и дробные величины.

— string. Строковый тип данных. Содержит нефиксированное количество различных символов. PHP не накладывает никаких ограничений на длину строки, поэтому можно смело работать даже с ОЧЕНЬ большими строками.

2 комплексных (составных) типа:

— array. Массив, содержит упорядоченный список элементов.

— object. Объект, содержит некий объект (экземпляр класса).

2 специальных типа:

— resource. Ссылка на абстрактный элемент, т.н. внешний ресурс. Примеры внешних ресурсов — ссылка на файл и ссылка на результат выполнения запроса.

— NULL. Пустой тип данных, обозначающий отсутствие какого-либо значения. О таких значениях обычно говорят «не определено». Пустым значением можно инициализировать переменные любого другого типа.

— Что такое static функция и чем она отличается от «обычной» (не static)?

Static принадлежит классу, а не экземпляру класса. И вызывается у класса, а не у объекта, т.е. напрямую. Объявление свойств и методов класса статическими позволяет обращаться к ним без создания экземпляра класса. Атрибут класса, объявленный статическим, не может быть доступен посредством экземпляра класса (но статический метод может быть вызван). Так как статические методы вызываются без создания экземпляра класса, то псевдопеременная $this недоступна внутри метода, объявленного статическим. Доступ к статическим свойствам класса не может быть получен через оператор -> .

— Есть ли разница между одинарными и двойными кавычками в PHP?

В двойных кавычках данные «парсятся», а в одинарных – нет. При двойных кавычках в данном случае выведется Chimay , а при одинарных — $beer .

— Написать программу, которая выводит простые числа, т.е. делящиеся без остатка только на себя и на 1.

— Напиши программу-цензор, которая бы заменяла вводимые пользователем в форму слова «fuck», «idiot» и «bitch» на «f**k», «id**t» и «bi**h».

— Что такое динамические переменные?

Динамической переменной считается та, имя которой хранится в самой переменной. Это так называемая «переменная переменная». Например:

$$var — динамическая, ее имя может меняться вместе с изменением $var . Также можно связать имя переменной с содержимым другой переменной неявно:

— Что такое шаблоны (паттерны) проектирования?

Паттерн проектирования — это общее типовое решение некоторой проблемы, многократно повторяемое в процессе проектирования архитектуры программного продукта. Они показывают отношения и взаимодействия между классами, позволяют сделать систему гибкой и легко изменяемой. За счет их правильного использования повышается коэффициент использования готовых решений.

— Напиши пример реализации полиморфизма.

— Какие еще есть парадигмы (модели, подходы) программирования кроме ООП?

Из тех, что наиболее часто встречаются: функциональная, аспектно-ориентированная и процeдурная.

— Нужно алертом вывести какое-то сообщение, спустя 3 секунды после запуска скрипта. Как это сделать?

— Расскажите п ару слов об объектах в JavaScript

Объекты (они же — ассоциативные массивы, хэши) и работа с ними в JavaScript реализованы не так, как в большинстве языков. Объект в JavaScript представляет собой обычный ассоциативный массив или, иначе говоря, «хэш». Он хранит любые соответствия «ключ => значение» и имеет несколько стандартных методов.

— Есть две функции. Есть ли между ними разница? Если есть, то какая?

Разница есть — она заключается в видимости функции. Вариант функции без var виден везде в текущей области видимости. В том числе и до самого определения функции. Вариант с var присваивает функцию переменной, поэтому такая функция видна только после определения.

— Что cделает код: break me_baby; ?

Выйдет из текущего блока цикла или switch на метку «me_baby».

— Что такое SQL-инъекция?

SQL-инъекции — встраивание вредоносного кода в запросы к базе данных. С использованием SQL-инъекций злоумышленник может не только получить закрытую информацию из базы данных, но и, при определенных условиях, внести туда изменения. Уязвимость по отношению к SQL-инъекциям возникает из-за того, что пользовательская информация попадает в запрос к базе данных без должной обработки: чтобы скрипт не был уязвим, требуется убедиться, что все пользовательские данные попадают во все запросы к базе данных в экранированном виде.

— Допустим, у вас есть Интернет-магазин. Составьте запрос, который покажет, сколько денег принес каждый отдельно взятый покупатель в общей сложности за всё время существования магазина.

— В чем разница между записью #my и .my?

#my – селектор ID.

.my – селектор класса.

— Что такое псевдоклассы?

Псевдоклассы — это то, что обычно пишут после селектора через двоеточие, чтобы определить реакцию или состояние для данного селектора. Самые известные псевдоклассы — это :link, :hover, :visited и :active. Псевдоклассы обладают следующей структурой:

т.е. нужно всего лишь поместить двоеточие между селектором и псевдоклассом.

— Найти все элементы div с классом one, а также все элементы p с классом two, затем добавить им всем класс three и визуально плавно спустить вниз.

— Выбрать div`ы, у которых нет класса cls

— Что такое DOCTYPE и зачем он нужен?

DOCTYPE — это определение типа документа (Document Type Definition (DTD)), правила, в соответствии с которыми осуществляется проверка конкретного документа (веб-страницы) XML или (X)HTML. Благодаря этой записи браузер определяет, какая в данном документе используется версия DTD. А нужен он для того, чтобы браузеры правильно отображали разметку документа. Если не указан DOCTYPE, то браузер будет добавлять «отсебятину», причём каждый браузер будет добавлять свою «отсебятину». В результате ни о какой кроссбраузерности не может и речи идти.

— Что такое entities?

Entities — это комбинации знака & и буквенного или цифрового кода после нее, предназначенные для замещения символов, которые не могут встречаться в «чистом» виде в HTML-тексте, например, символа «

— Какие магические методы знаешь? Что это вообще такое?

Это методы, зарезервированные в php, которые начинаются с двойного подчеркивания “__”.

Список всех магических методов:

  • __construct
  • __destruct
  • __call
  • __callStatic
  • __get
  • __set
  • __isset
  • __unset
  • __sleep
  • __wakeup
  • __toString
  • __set_state
  • __clone

__construct и __destruct — самые популярные методы, которые реализуют базовые понятия объектно-ориентированного программирования: конструктор и деструктор;

__call, __callStatic, __get и __set – методы, связанные с перегрузкой обращений как к свойствам, так
и к методам. Методы __get() и __set() вызываются при установке и получении значения свойства,
а методы __call() и __callStatic — при вызове метода. Стоит заметить, что эти магические функции
будут вызываться только и исключительно в том случае, если запрошенные метод или свойство
не существуют;

__isset — метод, срабатывающий при вызове функций empty() или isset() на несуществующем
или недоступном свойстве класса;

__unset — срабатывает при вызове функции unset() на несуществующем или недоступном свойстве класса;

__sleep и __wakeup – методы, которые вызываются только из функций serialize и unserialize со-
ответственно. Метод __sleep будет вызван сразу при применении к объекту функции serialize, а
метод __wakeup – при применении unserialize. В настоящий момент методы применяются для сохранения текущего состояния системы с последующим восстановлением данного состояния
(например, коннект к базе);

__toString – метод, с помощью которого можно обращаться к классу как к строке (например, с
помощью print или echo);

__set_state – метод, который вызывается для классов, экспортирующих значения свойств функ-
цией var_export();

__clone – вызывается при клонировании объекта (введен для использования из-за того, что объ-
екты в php5 и выше передаются по ссылке);

__invoke – вызывается при попытке использовать объект в качестве функции.

Универсальный список вопросов для собеседования

Хотели ли вы когда-либо, чтобы существовал универсальный список вопросов, с помощью которых можно безошибочно оценить все навыки кандидата? Автралийский предприниматель Митчелл Харпер, нанявший сотни людей для пяти своих предприятий, кажется, нашел такой список.

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

«Я искал общее межу каждым кандидатом… и воссоздавал в памяти интервью с ними.
Даже с теми, кто пришел в начале 2000-х», — пишет Харпер «Я спросил себя «Что общего между ними? Что делает их всех высококлассными специалистами?»
«И тогда я создал этот список необходимых личностных качеств и навыков».

Так и появился список вопросов для интервью. Ниже следуют несколько основных из них:

1. Вы получали повышение на прежнем месте работы?
Профессионалы движутся по карьерной лестнице семимильными шагами. Харпер говорит, что «(получить повышение) один раз – хорошо, два – отлично, три – невероятно».
Если кандидат ни разу не получал повышения, то возможно он не от мира сего.

2. Вы когда-нибудь руководили крупными проектами?
Это покажет, достаточно ли у кандидата уверенности в собственных силах, чтобы руководить другими.

3. На предыдущем месте работы вы занимали такую же позицию?
Харпер придерживается мнения, что высококлассные специалисты не меняют место работы, они меняют свои роли, потому что это вызов самому себе, а такие работники любят оказываться в новых непривычных условиях.

4. Как вы относитесь к идее непрерывного обучения?
Постоянное желание развиваться имеет решающее значение. Спросите кандидата, чему он хочет научиться у вас и как он планирует этого достичь.

5. Что вам нравится в нашей компании? Что бы вы хотели изменить?
Профессионалы никогда не забывают про домашнее задание и приходят на собеседование, зная о предполагаемом месте работы если не все, то многое. Поэтому они должны быть готовы предоставить объемный отзыв и аргументированно объяснить, что привлекает их в вашей организации, а насчет чего они не уверены.

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

7. И еще один вопрос, который наниматель должен задать уже самому себе. Кандидат уверен в своих силах? Не зазнается ли он при этом?
По словам Харпера, здесь очень тонка грань. Идеальный кандидат прямо и четко говорит о своих достижениях, но при этом не боится принять помощь от коллег и наставников.

12 вопросов с собеседования по Ionic

Расширенный вариант резюме – это один из вариантов узнать, что из себя представляет претендент, однако самые интересные его качества таким способом не раскрыть. Каждый HR-директор заинтересован в том, чтобы узнать как можно больше полезной информации о соискателе за то небольшое количество времени, которое отведено для собеседования. HR -специалисты из Google , Facebook , Apple и других крупных компаний решили эту проблему, решив задавать кандидатам на работу нестандартные вопросы.

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

  1. «Представьте, что вам дали коробку с карандашами. Придумайте для них десять нетипичных применений».

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

  1. «Как бы вы проверили работу лифта?»

Этот вопрос кажется вполне логичным для собеседования в компании, которая производит лифты, но никак не в Microsoft , где его взялись задавать претендентам. Естественно, большинство ваших кандидатов ничего не смыслит в лифтах, но пытаясь дать ответ, они демонстрируют способность разобраться в новой и неизвестной для них области.

  1. «Назовите трёх людей, с которыми вы не знакомы лично, но которые вызывают у вас восхищение».

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

  1. «Как бы вы описали действие динамометра для восьмилетнего ребенка?»

Говорить о сложном простыми словами может только профессионал, и если потенциальный работник в состоянии это сделать – его компетентность не должна вызывать сомнений. Именно поэтому HR-специалисты из Tesla Motors просят объяснить претендента, что же такое динамометр.

  1. «Расскажите о достижении, которым вы особенно гордитесь».
Мастер Йода рекомендует:  PHP против ASP - В примерах, господа! PHP

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

Чем бы вы были, если бы не были человеком

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

  1. «Если бы вы были продуктом Sony, то каким именно?»

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

  1. «Если бы Вы были дорожным знаком, то каким?»

Тут все просто. Это самый простой способ понять, кто перед ним: сотрудник «Уступи дорогу» или сотрудник «Движение прямо».

Специалисты из JP Morgan Chase считают, что смеху есть место не только в свободное от работы время. Задав такой вопрос, вы ничего не узнаете о квалификации, опыте или лидерских качествах кандидата на вакантное место. Зато сразу оцените адекватность человека – в шутках она раскрывается в полной.

Некоторые из использующихся на собеседовании вопросов называют «негативными», так как они часто касаются тем, которые неприятны человеку, пытающемуся получить работу, и даже ставят их в тупик. Одним из самых интересных можно назвать вопрос от специалистов из Twitter:

  1. «Назовите причину, по которой я бы вас не нанял».

Давая ответ, человек покажет вам, как он может использовать свои слабые стороны. Именно поэтому эффективность вопросов такого типа становится очевидной все большему количеству Н R -менеджеров, ведь ответ на «Почему мы должны нанять именно Вас?» соискатели готовят заранее.

  1. «Каким был самый большой провал в Вашей карьере?» — спрашивают в Electronic Arts.

Абсолютно все люди совершают промахи, но далеко не каждый умеет их признавать. Задав этот вопрос можно понять, учится ли соискатель на своих ошибках и может ли он извлечь из них выгоду и позитивный результат в будущем.

  1. «Как Вы относитесь к работе в экстремальных условиях круглый год?»

Конечно же, никто не заставит кандидатов работать в пылающем здании или на крайнем севере. Это всего лишь покажет, готов ли человек работать сверхурочно и по выходным.

  1. «Случались ли с Вами двусмысленные ситуации? Как вы разобрались с ними?»

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

Все вышеперечисленные вопросы сбивают соискателей с толку и лишают их возможности использовать стандартные ответы. Таким образом, HR-директор сможет увидеть, что реально из себя представляет кандидат на должность и сделать действительно правильный выбор.

Интервью по компетенциям (поведенческое интервью по модели STAR)

Вопрос подбора «правильных» людей, думаю, будет стоять всегда — независимо от экономической ситуации, популярности удаленной работы и фриланса, IT-революций в рабочих процессах, эффективности обучения и развития в организациях. Ведь ставки очень высоки: сможет ли человек достойно справляться с задачами на новом месте работы? Можно ли провести собеседование и ответить на этот вопрос уверенно или остается лишь играть в русскую рулетку и надеяться на успешность понравившегося кандидата?

Разные виды интервью и ответы на эти вопросы дают по-разному:

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

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

В кейс-интервью (англ. case — случай) кандидат ставится в гипотетическую рабочую ситуацию. Ему предлагается рассказать, как бы он действовал в описанных обстоятельствах. Такое интервью выявляет в первую очередь качество знаний и профессиональный кругозор кандидата.

При поведенческом интервью (behavioral interview, BI, бихевиоральное интервью) рекрутер спрашивает кандидата не о гипотетических проблемах, а о реальных, которые кандидат решал в своей работе. Такой метод выявляет то, как кандидат справляется с определенными рабочими задачами. Иногда поведенческое интервью также называют интервью по компетенциям.

Поведенческое интервью применимо для кандидатов из любой сферы деятельности. В ходе интервью рекрутер собирает полные поведенческие примеры (ППП)из опыта кандидата. Из каждого такого становятся ясны:

    Ситуация, с которой кандидат столкнулся (situation);

Задача, которая стояла перед ним (task);

Действия, предпринятые кандидатом (action);

Результат, итог ситуации (result).

Эти компоненты легко запомнить по аббревиатуре STARSituation, Task, Action,Result.

Примечание. Существует похожая модель PARLA, сфокусированная на развитии:

Problem — проблема, сложность;

Action — предпринятые действия;

Result — результат;

Learned — полученный урок, сделанные выводы;

Applied — как впоследствии применялся этот опыт.

Как правило, достаточно получить по 2–3 полных поведенческих примера (ППП) для каждой интересующей компетенции, тогда картина опыта выходит более-менее ясной. Чтобы собрать валидные ППП и сделать вывод о компетенциях кандидатов, важно учитывать некоторые тонкости. Для каждой группы вопросов они свои.

Вопросы о ситуации (S) — «Расскажите о ситуации, в которой. »

Иногда можно отталкиваться от списка компетенций, но этого, как правило, недостаточно.

Например, если необходимо оценить компетенцию «Привлечение клиентов» при подборе менеджера по корпоративным продажам. То ответ на вопрос «расскажите, как вы привлекли нового клиента» может оказаться недостаточно информативным. Отвечая на подобные «свободные» вопросы, кандидат называет первые вспомнившиеся примеры, содержательности которых может попросту не хватить для оценки.

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

    Расскажите о самом крупном потенциальном клиенте, с которым вы вели переговоры.

Расскажите о самых сложных переговорах с потенциальным клиентом.

Привлеченные вами клиенты. Какой случай вы считаете самым выдающимся за последние полгода?

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

Когда мы спрашиваем о самом большом достижении в этой компетенции, то оцениваем нынешний «потолок» кандидата, ведь у кого-то самый золотой клиент имеет годовые обороты 100 тысяч рублей, а у другого — 10 миллионов.

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

Наиболее полные достоверные примеры приходятся на последние 3–6 месяцев. Более ранние мозг привычно «архивирует», отбрасывая детали (которые нам-то очень нужны).

Примеры S-вопросов для некоторых компетенций:

Управление людьми

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

Расскажите о ситуации, в которой вам было сложнее всего найти нужного специалиста.

Обучение на рабочем месте

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

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

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


Мотивация

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

Ваш подчиненный потерял интерес к работе. Расскажите об этом.

Оперативное руководство

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

Вспомните, как вы столкнулись с серьезной проблемой при постановке задач подчиненным.

Вспомните, когда вам пришлось менять режим контроля над выполнением задач.

Делегирование

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

Личная эффективность

Расстановка приоритетов

Вспомните, как на вас свалилось сразу несколько крупных задач и пришлось решать, какие из них делать в первую очередь. Расскажите об этом.

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

Принятие решений

Самое сложное решение, которое вы приняли на работе за последние полгода.

Какое из ваших решений за последние полгода было самым креативным?

Приведите пример ситуации, когда вы приняли ошибочное решение.

Продажи

Переговоры об условиях

Вспомните ситуацию, в которой вы наиболее активно торговались.

Вспомните случай, когда клиент активнее всего просил скидку или отсрочку.

Холодные звонки

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

Каким своим холодным звонком вы гордитесь больше всего?

Коммуникации

Командная работа

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

Когда вам было сложнее всего работать в команде?

Конфликтные ситуации

Какая ситуация при общении стала для вас наиболее эмоционально напряженной?

Вспомните, как вы общались с агрессивно настроенным собеседником.

Иной раз на этапе S-опроса мы сталкиваемся с тем, что кандидат не может привести нужный пример.

    Тогда можно пару раз задать вопрос иначе. Если и это не дает результата, то у кандидата нет опыта разрешения таких ситуаций.

Кандидат приводит примеры «не из той оперы»: спрашиваем про делегирование, а кандидат рассказывает об обычной постановке задач подчиненным. В этом случае нужно разъяснить задаваемые вопросы и убедиться, что кандидат правильно понимает, о каких ситуациях мы спрашиваем. Тогда он может либо привести подходящие примеры, либо подтвердить, что не сталкивался с подобными ситуациями и не имеет опыта их разрешения.

Вопросы о задаче (T) — «Какая задача перед вами стояла?»

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

T-вопросы ставятся в трех основных формулировках:

    Какая задача стояла перед вами?

Какую задачу вы бы поставили себе в этой ситуации?

Что было для вас главным в этой ситуации? [Чего вам было важнее всего добиться?]

Вопросы второго и третьего вида хороши, когда обсуждаются действия кандидата, которые он предпринял для решения проблемы самостоятельно (без указания руководства).

Вопросы о действиях (A) — «Что вы сделали?»

    Что именно вы сделали?

С какими трудностями вы столкнулись?

Что именно вы сказали?

Эта часть интервью требует от рекрутера умения возвращать обсуждение в нужное русло, придерживаться формата.

Отклонения в интервью

А-вопросы для уточнения

Неконкретное описание действий:

«Я убедил клиента»

Что именно вы сказали?

Описание конкретных действий кандидата:

«Я рассказал клиенту, как облегчит его заграничный отдых карта Gold»

Обобщение:

«Я в таких ситуациях всегда стараюсь найти доводы, чтобы убедить клиента»

Какие доводы вы нашли в конкретном случае?

Что вы сказали клиенту?

Кандидат рассказывает о «мы»-опыте:

«Мы поговорили с клиентом, рассказали ему о преимуществах карты Gold для путешествий, и он согласился»

stoicist / ios-questions-interview.md

Вопросы на собеседование iOS разработчика (дополненное издание):

Что такое полиморфизм ?

Что такое *инкапсуляция? Что такое *нарушение инкапсуляции?

Чем абстрактный класс отличается от интерфейса ?

Расскажите о паттерне MVC . Чем отличается пассивная модель от активной ?

Реализация синглтона (Singleton) в ARC и в non-ARC ?

Какие еще паттерны знаете?

Паттерны порождающие, создания объектов (Creational): Singleton, Abstarct Factory ?

Паттерны структурные (Structural): MVC, Decorator(Categories, Delegation), Adapter(Delegation), Facade, Composite ?

Патерны поведения и взаимодействия объектов (Behavioral): Observer(Notification, KVO), Memento(Archiving+UserDefaults), Chain of Recponsibility, Command(Target-Action mechanism) ?

Что такое responder chain ?

Как работают push нотификации ?

  • Опишите основные понятия ОО программирования в терминах Objective-C ( интерфейс, реализация, свойства, протоколы, и т.д)
  • Что такое назначеный инициализатор (designated initializer ), напишите любой элементарный инициализатор, почему он так выглядит? (имеется ввиду if (self = [super . ]) )?
  • Суть рантайма (Runtime), отправление сообщения ;
  • Объявление свойств (property) (retain, assign, nonatomic, readonly, copy) . С подвохом: вопрос о несуществующем параметре atomic , что он означает? Как правильно реализовать сетер для свойства с параметром retain? Вопрос о циклах в графах владения, и почему свойства delegate (предоставляющие доступ к делегату) обычно задаются как assign ?
  • В чем разница между точечной нотацией и использованием квадратных скобок? Что происходит когода мы пытаемся вызвать метод у nil указателя? Разница между nil и Nil?
  • Что такое селектор (selector) ? Как его вызвать? как отложить вызов селектора? Что делать если селектор имеет много параметров? (NSInvocation) Как запустить селектор во второстепенном (фоновом) потоке ?
  • Как запустить поток ? Что первым нужно сделать при запуске потока ? (NSAutoreleasePool) Что такое runLoop , кодга он используется? (timers, nsurlconnection . )
  • Что такое делегат (delegate) ? как его создать и использовать?
  • Как представлены структуры C (CGRect, CGSize, CGPoint) в Objective-C?
  • Чем объект Objective-c отличается от структуры С, что такое структура в С.
  • Какие существуют root классы в iOS? Для чего нужны root классы ? Корневые классы: NSObject, NSProxy? Как работает proxy? Как эмитировать множественное наследование?
  • Тип id . Что случится во время компиляции если мы посылаем сообщение объекту типа id ? Что случится во время выполнения если этот метод существует? Что произойдет здесь (компиляция + время выполнения): NSString *s = [NSNumber numberWithInt:3]; int i = [s intValue];
  • Что такое указатель isa ? Для чего он нужен?
  • Что происходит с методом после того, как он не нашелся в объекте класса, которому его вызвали? Цепочка ответсвенности, что происходит с методом после того как он не нашелся в объекте класса, которому его вызвали (в сторону forwardInvocation:)?
  • Чем категория отличается от расширения (extension, наименованная категория)? категория vs extension ?
  • Можно ли добавить ivar в категорию?
  • Когда лучше использовать категорию , а когда наследование ? категория vs наследование ?
  • Что такое notifications (уведомления) ? как мы должны их использовать?
  • Какая разница м/у использование делегатов (delegation) и нотификейшенов (notification) ?
  • В чем разница между NSArray и NSMutableArray ?
  • Чем отличается NSSet от NSArray ? Какие операции происходят быстро в NSSet и какие в NSArray ?
  • Формальный и неформальный (informal) протокол? Протоколы (protocols): основные отличия между c#/java интерфейсами и Objective-C протоколами. Что делать в случае если класс не реализует какой-то метод из протокола?
  • Есть ли приватные и защищенные методы в Objective-C?
  • Что такое быстрое перечисление (fast enumeration) ?
  • Как имитировать множественное наследование ?
  • Что такое KVO ? Когда его нужно использовать? Методы для обозревания объектов? Работает ли KVO с instance переменными (полями) объекта?
  • Что такое KVC ? Когда его нужно использовать?
  • Что такое designated initializer ?
  • Как удалить объект в ходе итерации по циклу?
  • Что такое Run Loop ?
  • Как лучше всего загрузить UIImage c диска(с кеша) ?
  • Какой контент лучше хранить в Documents , а какой в Cache ?
  • Как связаны NSRunLoop и NSAutoreleasePool на пальцах?
  • Почему нам не следует вызывать instance методы в методе initialize ,?
  • NSCoding, archiving
  • Протокол NSCopying , почему мы не можем просто использовать любой собственный объект в качестве ключа в словарях (NSDictionary) , что нужно сделать чтобы решить эту проблему? (разница между глубоким и поверхностным копированием)
  • Как происходит ручное управление памятью — MRC в iOS?
  • autorelease vs release ?
  • Что означает ARC ?
  • Что делать, если проект написан с использованием ARC, а нужно использовать классы сторонней библиотеки написанной без ARC?
  • Weak vs assign , strong vs copy ?
  • Atomic vs nonatomic . Чем отличаются? Как вручную переопределить atomic/nonatomic сеттер в не ARC коде?
  • Зачем все свойства ссылающиеся на делегаты strong/retain . :)))
  • Что такое autorelease pool ?
  • Как можно заимплементировать autorelease pool на с++ ?
  • Если я вызову performSelector:withObject:afterDelay: — объекту пошлется сообщение retain?
  • Как происходит обработка memory warning (предупреждение о малом количестве памяти)? Зависит ли обработка от версии iOS, как мы должны их обрабатывать?
  • Напишите простую реализацию NSAutoreleasePoll на Objective-C
  • Когда нужно использовать метод retainCount (никогда, почему?) Объясните что такое подсчет ссылок (retain count )?
  • Темы управления памятью, такие как владение retain/release/autorelease .
  • Что случится если вы добавите только что созданный объект в Mutable Array , и пошлете ему сообщение release ? Что случится если послать сообщение release массиву? Что случится если вы удалите объект из массива и попытаетесь его использовать?
  • С подвохом: сборщик мусора для iPhone.
  • Нужно ли ретейнить (посылать сообщение retain) делегаты ?
  • Для чего используется класс NSCoder ?
  • Опишите правильный способ управленя памятью выделяемой под Outlet’ы ?
  • Реализуйте следующие методы: retain, release, autorelease ?
  • Преимущества и недостатки синхронного и асинхронного соединения?
  • Что означает http, tcp ?
  • Какие различия между HEAD, GET, POST, PUT ?
  • Как загрузить что-то из интернета? В чем разница между синхронными и асинхронными запросами ? Небольшое задание. Опишите как загрузить изображение из интернета и отобразить его в ImageView — все это должно происходить после нажатия кнопки.
  • Что такое deadlock ?
  • Что такое livelock ?
  • Что такое семафор (semafor) ?
  • Что такое мьютекс (mutex) ?
  • Асинхронность vs многопоточность . Чем отличаются?
  • Какие технологии в iOS возможно использовать для работы с потоками. Преимущества и недостатки.
  • Как запустить поток? Что первым нужно сделать при запуске потока? (NSAutoreleasePool — пул автоосвобождения) Что такое runLoop, кодга он используется? (timers, nsurlconnection …)
  • Чем отличается dispatch_async от dispatch_sync ?
  • Для чего при разработке под iOS использовать POSIX-потоки ? pthread_create(&thread, NULL, startTimer, (void *)t);
  • А чем реально POSIX-потоки лучше чем GCD или NSOperationQueue вместе с NSOperation ? Приходилось ри реально использовать POSIX и как в этом были прюсы? Реально, просто интересно… Use POSIX calls if cross-platform portability is required. If you are writing networking code that runs exclusively in OS X and iOS, you should generally avoid POSIX networking calls, because they are harder to work with than higher-level APIs. However, if you are writing networking code that must be shared with other platforms, you can use the POSIX networking APIs so that you can use the same code everywhere.
  • Разница между свойствами bounds и frame объекта UIView? Понимание системы координат?
  • Какие бывают состояния у приложения?
  • Цикл жизни UIViewController ?
  • Что такое View (представление) и что такое window ?
  • Какого разрешение экранов iphon’ов, и в чем разница между points (точками) и пикселями (pixels) ?
  • Что такое responder chain (цепочка обязанностей, паттерн chain of responsibility , на примере UI компонентов iOS ), becomeFirstResponder .
  • Что означают IBOutlet и IBAction , для чего они нужны, и что значат для препроцессора?
  • Как работает UITableView ?
  • Как многопоточность работает с UIKit ?
  • Что можно сделать если клавиатура при появлении скрывает важную часть интерфейса?
  • Почему мы должны релизить IBOutlet’ты во viewDidUnload?
  • Что такое awakeFromNeeb , в чем разница между xib и nib файлами?
  • Иерархия наследования UIButton.


Базы данных, CoreData:

Составить SQL запрос на выборку всех проектов на которых сидит девелопер с >Developers:id,name; Projects:id,name; Developers&Projects:project_id,developer_id )?

Зачем нужно делать двустороннии связи в таблицах?

Что такое Core Data ?

В каких случаях лучше использовать SQLite , а в каких Core Data ?

Что такое контекст (Managed object context) ? Как происходят изменения в NSManagedObjectContext ?

Что такое Persistent store coordinator ? Зачем нужен NSPersistentStoreCoordinator ?

Какие есть нюансы при использовании Core Data в разных потоках ? Как синхронизировать данные между потоками (Как синхронизировать контекст)? Синхронизация разных типов NSManagedObjectContext (получение и изменение данных в child контекстах)?

Использовали ли NSFetchedResultsController ? Почему?

Что такое Fault и зачем он нужен?

Что таке Fetched Property и особенности работы с ним по сравнению с обычной связью?

Как использовать СoreData совместно с многопоточностью ?

Что такое NSManagedObjectId ? Можем ли мы сохранить его на потом если приложение закроется?

Какие типы хранилищ поддерживает CoreData?

Что такое ленивая загрузка (lazy loading) ? Что ее связывает с CoreData? Опишите ситуация когда она может быть полезной?

Интервью по компетенциям (поведенческое интервью по модели STAR)

Вопрос подбора «правильных» людей, думаю, будет стоять всегда — независимо от экономической ситуации, популярности удаленной работы и фриланса, IT-революций в рабочих процессах, эффективности обучения и развития в организациях. Ведь ставки очень высоки: сможет ли человек достойно справляться с задачами на новом месте работы? Можно ли провести собеседование и ответить на этот вопрос уверенно или остается лишь играть в русскую рулетку и надеяться на успешность понравившегося кандидата?

Разные виды интервью и ответы на эти вопросы дают по-разному:

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

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

В кейс-интервью (англ. case — случай) кандидат ставится в гипотетическую рабочую ситуацию. Ему предлагается рассказать, как бы он действовал в описанных обстоятельствах. Такое интервью выявляет в первую очередь качество знаний и профессиональный кругозор кандидата.

При поведенческом интервью (behavioral interview, BI, бихевиоральное интервью) рекрутер спрашивает кандидата не о гипотетических проблемах, а о реальных, которые кандидат решал в своей работе. Такой метод выявляет то, как кандидат справляется с определенными рабочими задачами. Иногда поведенческое интервью также называют интервью по компетенциям.

Поведенческое интервью применимо для кандидатов из любой сферы деятельности. В ходе интервью рекрутер собирает полные поведенческие примеры (ППП)из опыта кандидата. Из каждого такого становятся ясны:

    Ситуация, с которой кандидат столкнулся (situation);

Задача, которая стояла перед ним (task);

Действия, предпринятые кандидатом (action);

Результат, итог ситуации (result).

Эти компоненты легко запомнить по аббревиатуре STARSituation, Task, Action,Result.

Примечание. Существует похожая модель PARLA, сфокусированная на развитии:

Problem — проблема, сложность;

Action — предпринятые действия;

Result — результат;

Learned — полученный урок, сделанные выводы;

Applied — как впоследствии применялся этот опыт.

Как правило, достаточно получить по 2–3 полных поведенческих примера (ППП) для каждой интересующей компетенции, тогда картина опыта выходит более-менее ясной. Чтобы собрать валидные ППП и сделать вывод о компетенциях кандидатов, важно учитывать некоторые тонкости. Для каждой группы вопросов они свои.

Вопросы о ситуации (S) — «Расскажите о ситуации, в которой. »

Иногда можно отталкиваться от списка компетенций, но этого, как правило, недостаточно.

Например, если необходимо оценить компетенцию «Привлечение клиентов» при подборе менеджера по корпоративным продажам. То ответ на вопрос «расскажите, как вы привлекли нового клиента» может оказаться недостаточно информативным. Отвечая на подобные «свободные» вопросы, кандидат называет первые вспомнившиеся примеры, содержательности которых может попросту не хватить для оценки.

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

    Расскажите о самом крупном потенциальном клиенте, с которым вы вели переговоры.

Расскажите о самых сложных переговорах с потенциальным клиентом.

Привлеченные вами клиенты. Какой случай вы считаете самым выдающимся за последние полгода?

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

Когда мы спрашиваем о самом большом достижении в этой компетенции, то оцениваем нынешний «потолок» кандидата, ведь у кого-то самый золотой клиент имеет годовые обороты 100 тысяч рублей, а у другого — 10 миллионов.

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

Наиболее полные достоверные примеры приходятся на последние 3–6 месяцев. Более ранние мозг привычно «архивирует», отбрасывая детали (которые нам-то очень нужны).

Примеры S-вопросов для некоторых компетенций:

Управление людьми

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

Расскажите о ситуации, в которой вам было сложнее всего найти нужного специалиста.

Обучение на рабочем месте

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

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

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

Мотивация

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

Ваш подчиненный потерял интерес к работе. Расскажите об этом.

Оперативное руководство

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

Вспомните, как вы столкнулись с серьезной проблемой при постановке задач подчиненным.

Вспомните, когда вам пришлось менять режим контроля над выполнением задач.

Делегирование

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

Личная эффективность

Расстановка приоритетов

Вспомните, как на вас свалилось сразу несколько крупных задач и пришлось решать, какие из них делать в первую очередь. Расскажите об этом.

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

Принятие решений

Самое сложное решение, которое вы приняли на работе за последние полгода.

Какое из ваших решений за последние полгода было самым креативным?

Приведите пример ситуации, когда вы приняли ошибочное решение.

Продажи

Переговоры об условиях

Вспомните ситуацию, в которой вы наиболее активно торговались.

Вспомните случай, когда клиент активнее всего просил скидку или отсрочку.

Холодные звонки

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

Каким своим холодным звонком вы гордитесь больше всего?

Коммуникации

Командная работа

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

Когда вам было сложнее всего работать в команде?

Конфликтные ситуации

Какая ситуация при общении стала для вас наиболее эмоционально напряженной?

Вспомните, как вы общались с агрессивно настроенным собеседником.

Иной раз на этапе S-опроса мы сталкиваемся с тем, что кандидат не может привести нужный пример.

    Тогда можно пару раз задать вопрос иначе. Если и это не дает результата, то у кандидата нет опыта разрешения таких ситуаций.

Кандидат приводит примеры «не из той оперы»: спрашиваем про делегирование, а кандидат рассказывает об обычной постановке задач подчиненным. В этом случае нужно разъяснить задаваемые вопросы и убедиться, что кандидат правильно понимает, о каких ситуациях мы спрашиваем. Тогда он может либо привести подходящие примеры, либо подтвердить, что не сталкивался с подобными ситуациями и не имеет опыта их разрешения.

Вопросы о задаче (T) — «Какая задача перед вами стояла?»

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

T-вопросы ставятся в трех основных формулировках:

    Какая задача стояла перед вами?

Какую задачу вы бы поставили себе в этой ситуации?

Что было для вас главным в этой ситуации? [Чего вам было важнее всего добиться?]

Вопросы второго и третьего вида хороши, когда обсуждаются действия кандидата, которые он предпринял для решения проблемы самостоятельно (без указания руководства).

Вопросы о действиях (A) — «Что вы сделали?»

    Что именно вы сделали?

С какими трудностями вы столкнулись?

Что именно вы сказали?

Эта часть интервью требует от рекрутера умения возвращать обсуждение в нужное русло, придерживаться формата.

Отклонения в интервью

А-вопросы для уточнения

Неконкретное описание действий:

«Я убедил клиента»

Что именно вы сказали?

Описание конкретных действий кандидата:

«Я рассказал клиенту, как облегчит его заграничный отдых карта Gold»

Обобщение:

«Я в таких ситуациях всегда стараюсь найти доводы, чтобы убедить клиента»

Какие доводы вы нашли в конкретном случае?

Что вы сказали клиенту?

Кандидат рассказывает о «мы»-опыте:

«Мы поговорили с клиентом, рассказали ему о преимуществах карты Gold для путешествий, и он согласился»

19 непростых вопросов к собеседованию от Большой тройки консалтинга

Собеседование в компаниях Большой тройки — серьезный вызов даже для самых лучших кандидатов. Чтобы справиться с ним, нужно быть готовым к неожиданностям. В помощь вам мы подготовили подборку «вопросов на засыпку», которые задавали на реальных собеседованиях в Big3.

По данным Gateway, независимого интернет-издания о карьере, компании Большой тройки крайне избирательны в вопросе кадров, ведь они получают множество резюме от выпускников самых престижных университетов и бизнес-школ. В свое время в штате трех гигантов побывали CEO HP Мэг Уитман (Bain & Company), CEO GE Джеф Иммельт (Boston Consulting Group) и COO Facebook Шэрил Сэндберг (McKinsey & Company).

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

Более подробно ознакомиться с кейсами можно на сайте каждой из компаний, а ниже представлены 19 вопросов, отобранные нами из материалов Glassdoor.

«Сколько весит Боинг 747, отправляющийся из ЛаГвардиа в Хитроу?» — Bain

«Если бы ваш успех был книгой, как бы она называлась? Какими бы были названия глав?» — McKinsey

«Назовите двух любимых писателей. Почему они? Последнее из их произведений, которое вы прочли?» — BCG

«Представим, что вы приняты на работу, а я ваш новый руководитель. Что я напишу в вашей характеристике через год?» — Bain

«Сколько почтальонов в городе Х?» — McKinsey

«Вам удается сохранять баланс между жизнью и работой? Насколько успешно?» — BCG

«Расскажите о случае, когда вы стали лидером, не имея при этом формального руководства» — McKinsey

«Над какими двумя чертами вашей личности вам нужно работать? Как вы планируете это делать?» — BCG

«Как бы вы подошли к оценке коровы?» — Bain

«Сколько теннисных мячей можно уместить в самолет?» — McKinsey

«Какой навык вам нужно развить, чтобы добиться успеха на этой должности?» — BCG

«Каков угол между стрелками часов в 9:30?» — Bain

«Расскажите то, что мне следовало бы о вас знать» — McKinsey

«Почему вы были лучшим учеником в своем классе? Что этому поспособствовало?» — BCG

«Как вы думаете, в чем состоит самая серьезная проблема, с которой может столкнуться консультант? Как бы вы с ней справились?» — Bain

«Что вы будете делать, если не получите работу у нас?» — McKinsey

«Расскажите о руководителе, на которого вы хотели бы равняться» — BCG

«В чем, по вашему мнению, состоит самая серьезная экономическая проблема?» — McKinsey

«Сколько пианино в Польше?» — BCG

Конечно, правильные ответы на такие вопросы не обеспечат вам место в Big3, огромное значение имеют ваши профессиональные компетенции и опыт. Но они, скорее всего, есть у всех кандидатов, которые доходят до стадии интервью, поэтому ваша задача — выделиться глубиной и оригинальностью мышления. Уверены, что наш список вопросов поможет вам сделать это!

Сервисы для соискателей

Продвижение резюме

Доверьте составление резюме профессионалам!

Узнайте какой вы специалист и добейтесь большего

Автоматическое поднятие резюме в результатах поиска

Отправьте свое резюме в ведущие кадровые агентства

Отправьте свое резюме в компанию мечты

Образование и консультации

Интервью по компетенциям: инструкция по применению

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

О наличии той или иной компетенции говорят конкретные поведенческие проявления. Авторы книги «Руководство по компетенциям» Стив Уиддет и Сара Холлифорд дают такое определение: «Поведенческая компетенция описывает поведение людей, наблюдаемое тогда, когда эффективно действующие исполнители проявляют личные мотивы, черты характера и способности в процессе решения задач, ведущих к достижению нужных результатов в работе». То есть для оценки компетенций на самом деле нужно оценить поведение человека в определенных ситуациях. Это и нужно сделать на интервью.

Сильные стороны метода

Во многих компаниях популярны компетенции «Планирование и определение приоритетов», «Инновативность», «Работа в команде», «Эффективная коммуникация». При этом понимать их можно по-разному. Что для нашей компании означает «эффективная коммуникация»? Какие у нее индикаторы: четко выражает свои мысли? Адаптирует стиль коммуникации под собеседника? Не боится отстаивать собственную точку зрения? Или что-то другое?

Еще один плюс интервью по компетенциям — возможность спрогнозировать успех кандидата на данной позиции. Метод дает возможность предсказать, как человек будет работать. Мы получаем не социально-желательные ответы, а реальные рабочие примеры. Мы узнаем, как человек поступал, а не как он считает нужным поступать в данной ситуации.

Как провести интервью по компетенциям

Перед началом интервью нам необходимо разработать профиль позиции и определить компетенции, которые будут для нас ключевыми, а также приемлемый для нас уровень компетенций. На получении информации именно об этих компетенциях будет сфокусировано интервью.

Для того чтобы оценить предыдущий опыт кандидата, нам необходимы примеры. Для получения качественных примеров и объективных знаний о наличии компетенции обычно используют определенную последовательность вопросов. Самые распространенные — модели STAR (Situaton-Task-Action-Result) и PARLA (Problem-Action-Result-Applied-Learned).

Рассмотрим широко распространенную модель STAR. Она состоит из 4 основных блоков: Situation — ситуация, Task — задача, Action — действие, Result — результат. В каждом из блоков мы задаем соответствующие вопросы.

  • Ситуация (Situation). Нам важно понять, как возникла данная ситуация. В каком контексте и условиях происходили события? В зависимости от компетенции, которую мы проверяем, мы можем попросить привести пример проекта, сложной ситуации с клиентом, сложных переговоров и т. д. Нам также важно знать, какова роль кандидата в проекте, переговорах и так далее. Кто еще участвовал? На этом этапе мы можем уточнить, какие KPI были у проекта.
  • Задача (Task). Необходимо понять, какая задача стояла перед кандидатом, кто ее ставил: сам кандидат или его руководитель.
  • Действие (Action). По объему это самый большой блок: именно в нем мы узнаем, что фактически человек делал. Мы уточняем, что конкретно делал кандидат, выполняя проект, задачу или решая сложную ситуацию с клиентом. Что было хорошо? Были ли сложности?
  • Результат (Result). На этом этапе для нас важно понять, чем закончился проект и какие выводы сделал кандидат. Мы можем уточнить, какую обратную связь он получил. Как он сам оценивает результат для себя, для компании? Как бы он поступил в аналогичной ситуации в следующий раз?

Необходимо получить полный пример из прошлого опыта кандидата. Если интервьюер забыл спросить про задачу или результат, пример считается неполным, и его сложно использовать при оценке данных. Интервьюер должен следить за тем, чтобы кандидат приводил примеры из прошлого опыта, а не теоретические воззрения: «Всем необходимо обладать навыком планирования. Я очень хорошо планирую и всегда соблюдаю сроки».

Кроме этого, примеры должны соответствовать нескольким критериям:

  • Релевантность. Хорошо, если пример из рабочего опыта. Но что делать, если кандидат не работает? В этом случае примеры собирают из основной деятельности человека. У студентов обычно собирают примеры из студенческой жизни и учебы. Например, как кандидат писал курсовые проекты и диплом.
  • Актуальность. Если с момента ситуации прошло не более 1 года, то пример считается актуальным, а кандидат помнит детали.
  • Законченность. Проект должен быть завершен, а результаты известны.

На каждую компетенцию необходимо собрать хотя бы 2—3 примера, включая негативные. Если вы оцениваете 3 компетенции, то получается минимум 6— 9 примеров. После интервью нужно определить, достаточно ли информации для оценки компетенции, проанализировать примеры с точки зрения эффективности, влияния на бизнес и релевантности для будущей работы. Конечно же, хорошо, что кандидат организовывал студенческие вечеринки или походы, но насколько этот пример актуален, если это менеджер с 10-летним опытом?

  • ярко выраженная компетенция часто проявляется во множестве примеров. Например, инициативность кандидата: многие проекты начались, потому что кандидат проявил инициативу и вызвался решить проблему;
  • один пример, в свою очередь, может содержать информацию по нескольким компетенциям;
  • стоит задуматься, если кандидат затрудняется приводить примеры ситуаций, либо приводит один и тот же пример на все.

Интервью обычно проводят несколько человек. Каждый интервьюер самостоятельно оценивает полученные примеры после интервью. Компетенции оцениваются удобным для компании образом. Например, по пятибалльной шкале, при которой «пятерка» предполагает, что подавляющее большинство индикаторов компетенции позитивны, а «единица» — негативны.

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

Ограничения метода

Для эффективного использования поведенческого интервью не стоит забывать о том, что:

  • метод трудозатратен: для сбора 9 примеров по 3—4 компетенциям потребуется не меньше часа, не считая проверки мотивации и сбора дополнительной информации на интервью;
  • сотрудник должен быть специально обучен;
  • если интервьюер использует только этот метод, могут выпадать важные сведения, связанные с образованием, переходами сотрудника из компании в компанию и так далее.

Но эти особенности не отменяют достоинств метода. Для более полной картины его сочетают с другими способами оценки компетенций. Например, профессиональным тестированием: так можно проверить себя и получить более полную картину сразу по десяткам компетенций, важных в работе. Провести тестирование по методике SHL можно онлайн с помощью нашего сервиса «Оценка талантов»: он подойдет и кандидатам, и вашим сотрудникам, так как не требует регистрации на сайте. Удачи в поиске лучших!

Вопросы на собеседование по React / Redux

Дата публикации: 2020-01-22

От автора: вопросы собеседования React становятся одной из самых популярных тем для изучения будущими разработчиками. Спрос на знание именно этого фреймворка легко объясним. React — одна из самых популярных и влиятельных JavaScript платформ последнего времени. Ее популярность становится все больше и больше, как показывают результаты состояния JS за последние три года.

И не только это, React также остается самым популярным front-end фреймворком.

С такой популярностью и уровнем внедрения во всех компаниях, от стартапов до крупных технологических корпораций, есть много возможностей получить работу, если мы овладеем этим фреймворком.

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

В этой статье я хочу рассмотреть некоторые часто задаваемые вопросы на собеседовании по React и одной из наиболее распространенных библиотек, используемых в комбинации с ним: Redux (отличная реализация архитектуры Flux, которая имеет большое значение в корпоративных приложениях, где она обрабатывает сложные и объемные данные состояния). Если мы хотим устроиться на работу, как React разработчик, хорошая идея также изучить и Redux.

Вы можете ознакомиться с вопросами для собеседования на вакансию разработчика JavaScript полного стека. Давайте начнем с некоторых вопросов собеседования по React.

Что такое React?

React — это библиотека JavaScript с открытым исходным кодом, созданная Facebook для разработки сложных интерактивных пользовательских интерфейсов в веб- и мобильных приложениях. Основная цель React — создание компонентов пользовательского интерфейса; их часто называют просто «V» (View) в архитектуре «MVC».

Что такое Виртуальная DOM?

Виртуальная DOM является представлением реальной DOM в памяти. React создает кэш структуры данных в памяти, вычисляет результирующие различия и затем эффективно обновляет отображаемую DOM браузера. Это позволяет программисту писать код, как будто вся страница отображается при каждом изменении, в то время как библиотеки React отображают только те подкомпоненты, которые действительно изменяются.

В чем разница между состоянием и свойством?

И свойства, и состояние являются простыми объектами JavaScript. Хотя оба они содержат информацию, которая влияет на результаты рендеринга, они различаются по функциональности в отношении компонента, т.е.:

Свойство передается компоненту аналогично параметрам функции

Состояние управляется внутри компонента аналогично переменным, объявленным внутри функции.

Какие существуют фазы жизненного цикла компонентов React?

Существует четыре различных этапа жизненного цикла компонента React:

Инициализация: На этом этапе компонент React готовит установку начального состояния и параметров по умолчанию.

Монтирование: Компонент React готов для монтирования в DOM браузера. Этот этап охватывает методы жизненного цикла componentWillMount и componentDidMount.

Обновление: На этом этапе компонент обновляется двумя способами, отправляя новые свойства и обновляя состояние. Этот этап охватывает методы жизненного цикла shouldComponentUpdate, componentWillUpdate и componentDidUpdate.

Размонтирование: На этом последнем этапе компонент не нужен и отключается из DOM браузера. Этот этап включает метод жизненного цикла componentWillUnmount.

Как работает React?

React создает виртуальную DOM. Когда состояние изменяется в компоненте, он сначала запускает алгоритм «различий», который определяет, что изменилось в виртуальной DOM. Вторым шагом является согласование, при котором обновляется DOM с результатами сравнения отличий.

Что такое JSX?

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

JSX является расширением синтаксиса JavaScript и поставляется с полной функциональностью JavaScript. JSX производит «элементы» React. Вы можете встроить любое выражение JavaScript в JSX, заключив его в фигурные скобки. После компиляции выражения JSX становятся обычными объектами JavaScript. Это означает, что вы можете использовать JSX внутри операторов if и циклов for, назначать его переменным, принимать в качестве аргументов и возвращать из функций.

Что такое потомки?

В выражениях JSX , которые содержат открывающий и закрывающий тег, содержимое между этими тегами передается в компоненты автоматически в качестве специального свойства: props.children. В React API есть несколько методов для работы с этим объектом. К ним относятся React.Children.map, React.Children.forEach, React.Children.count, React.Children.only, React.Children.toArray.

Что такое состояние в React?

Состояние похоже на свойство, но оно является частным и полностью контролируется компонентом. State — это обязательно объект, который содержит данные и определяет, как компонент отображается и ведет себя.

Что такое контролируемые компоненты?

В HTML элементы формы, такие как input, textarea и select, как правило, поддерживают свое собственное состояние и обновляют его на основе пользовательского ввода. Когда пользователь отправляет форму, значения из элементов, упомянутых выше, отправляются вместе с формой. В React это работает по-другому. Компонент, содержащий форму, будет отслеживать значение ввода в своем состоянии и повторно визуализировать компонент каждый раз, когда вызывается функция обратного вызова onChange, например, при обновлении состояния. Элемент ввода формы, значение которого контролируется React, таким образом называется «контролируемым компонентом».

Что такое Flux?

Flux — это парадигма разработки приложений, используемая в качестве замены более традиционного шаблона MVC. Это не фреймворк или библиотека, а новый тип архитектуры, который дополняет React и концепцию однонаправленного потока данных. Facebook использовал этот шаблон при работе над React для создания рабочего процесса между компонентами диспетчера, хранилища и представления с различными входами и выходами следующим образом:

Что такое Redux?

Redux — это контейнер с предсказуемым состоянием для приложений JavaScript, основанный на шаблоне проектирования Flux. Redux может использоваться вместе с ReactJS или с любой другой библиотекой представлений. Он очень компактный (около 2 КБ) и не имеет никаких зависимостей.

Как изменяется состояние в Redux?

Единственный способ изменить состояние — это создать действие, объект, описывающий произошедшее. Это гарантирует, что ни представления, ни сетевые обратные вызовы никогда не будут выполнять запись напрямую в состояние. Вместо этого они выражают намерение преобразовать состояние. Поскольку все изменения централизованы и происходят одно за другим в строгом порядке, не существует существенных условий конкуренции. Поскольку действия являются просто обычными объектами, их можно регистрировать, сериализовать, хранить и затем воспроизводить для целей отладки или тестирования.

Что такое «хранилище» в Redux?

Хранилище — это объект, который хранит состояние приложения и предоставляет несколько вспомогательных методов для доступа к состоянию, отправки действий и регистрации прослушивателей. Все состояние представлено одним хранилищем. Любое действие возвращает новое состояние через редукторы. Это делает Redux очень простым и предсказуемым.

Что такое чистая функция?

В компьютерном программировании чистая функция — это функция, которая имеет следующие свойства:

Ее возвращаемое значение одинаково для тех же аргументов (без изменений с локальными статическими переменными, нелокальными переменными, изменяемыми ссылочными аргументами или входными потоками с устройств ввода-вывода).

Ее оценка не имеет побочных эффектов (нет мутации локальных статических переменных, нелокальных переменных, изменяемых ссылочных аргументов или потоков ввода-вывода).

Таким образом, чистая функция является вычислительным аналогом математической функции.

Как бы вы отключили хранилище Redux, чтобы оно не принимало никаких изменений в состоянии?

Один из способов сделать это — установить для флага exit в редукторе корневого состояния значение true, просто оставляя состояние неизменным.

Автор: Eduardo Pineda

Редакция: Команда webformyself.

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

ReactJS: основы

Изучите основы ReactJS и создайте ваше первое приложение на ReactJS

25 прикольных вопросов для собеседования по машинному обучению

Могут ли вопросы на собеседовании по машинному обучению быть одновременно прикольными и глубокими?

Многие из исследователей данных изучают машинное обучение (МО) в основном с точки зрения практического специалиста. Как следствие, мы можем сосредотачиваться скорее на освоении как можно большего количества новых пакетов, фреймворков и методик, чем на глубоком рассмотрении основополагающих теоретических аспектов МО. Кроме того, в этом материале моё определение машинного обучения включает в себя обыкновенное статистическое обучение (т. е. не ограничивается глубинным обучением).

Однако пытливый, рассудительный и упорный ум может придумать множество чудесных вопросов по МО, разбор ответов на которые прекрасно способен обнаружить более глубокие его аспекты. В общем, такие вопросы могут помочь высунуть голову из кучи с картинки выше. Мы ведь не хотим целыми днями перемешивать данные — мы хотим нырнуть в глубины свойств, странностей и тонкостей методик машинного обучения и проникнуться ими…

В конце концов, в интернете хватает статей о «стандартных вопросах для собеседования по машинному обучению». Может, сделать кое-что другое, поинтереснее?

Сразу скажу: я публикую эти вопросы, просто чтобы вдохновить вас на размышления и разговоры. Готовых ответов не даётся. В некоторых вопросах есть подсказки, но они на самом деле больше для обсуждений, они не указывают на определённый ответ. Каждый вопрос заслуживает подробного обсуждения. Нет какого-то одного ответа. Некоторые вопросы заумные, а некоторые просто забавные. Приятного чтения 🙂 Вдобавок я вставил смешной мем после каждого 5-го вопроса…

Прикольные вопросы

89% данных лежат в пределах ±3 стандартных отклонений от среднего значения. ( Подсказка: научный руководитель Маркова)

  • Большая часть алгоритмов машинного обучения так или иначе связана с операциями над матрицами, например перемножением или обращением. Дайте простое математическое доказательство, почему мини-пакетная версия такого алгоритма МО может быть более эффективна с точки зрения объёма расчётов, чем обучение на полном наборе данных. ( Подсказка: временная сложность перемножения матриц…)
  • Не кажется ли вам, что временной ряд — это очень простая задача линейной регрессии с единственной переменной отклика и с единственным предиктором — временем? В чём проблема метода линейной регрессии (необязательно с единственным линейным членом, с многочленами тоже) в случае данных временного ряда? ( Подсказка: прошлое указывает на будущее…)
  • Добавить комментарий