Вести Экономика
Foto: Shutterstock
Во время собеседования при приеме на работу менеджеры по подбору персонала часто задают очень непростые вопросы, с помощью которых они хотят выудить из кандидата информацию, которую кандидат может захотеть не раскрывать.
Иногда такие вопросы задают для того, чтобы посмотреть на реакцию кандидата или на то, как он будет вести себя в стрессовой ситуации.
Не важно, чего добиваются HR-менеджеры, важно быть готовым к самым неожиданным вопросам.
В своей книге “301 умный ответ на непростые вопросы на собеседовании” (“301 Smart Answers to Tough Interview Questions “) Вики Оливер советует подготовить умные и продуманные ответы на самые сложные вопросы заранее.
Ниже мы приводим самые распространенные вопросы, которые любят задавать HR-менеджеры на собеседовании, однако приведенные ответы не являются универсальными для каждой ситуации. Важно не пытаться обманывать во время собеседования, так как ваша ложь в какой-то момент может стать явью, и работодателю это вряд ли понравится.
1. Вопрос: Какая ваша самая большая слабость, которая действительно является слабостью, а не скрытой сильной стороной?
Ответ: Я очень нетерпелив. Я жду, что мои сотрудники начнут проявлять себя с самого первого задания. И если им это не удается, я перестаю делегировать им полномочия и начинаю все делать самостоятельно. Но чтобы компенсировать эту слабость, я могу готовить сотрудников, объясняя им, что конкретно ожидается от них.
2. Вопрос: Вы хотите занять мою должность?
Ответ: Возможно, через 20 лет, но к тому времени Вы будете управлять компанией, и Вам понадобится хороший, верный помощник, который будет помогать Вам управлять компанией.
3. Вопрос: Если Вы знали, что дела в компании идут не очень хорошо, почему Вы не ушли из нее раньше?
Ответ: Я очень много работал, чтобы сохранить свою работу, в то время как других сотрудников увольняли, поэтому у меня не было времени искать другую работу. Учитывая все слияния и поглощения, которые имеют место в нашей отрасли, увольнения – это обычное явления. Ну по крайней мере, я сделал все, что было в моих силах.
4. Вопрос: Представьте, что Вы работаете в нашей компании уже пять лет, и Вас до сих пор не повысили. Многие из наших сотрудников так и не получают повышения. Вас это огорчает?
Ответ: Я считаю себя амбициозным, но я также довольно практичен. Пока я учусь новому и расту как специалист на своей должности, меня все устраивает. Разные компании повышают сотрудников на самых разных уровнях, и я уверен, что если я буду работать на вас, это будет мотивировать и стимулировать меня в течение следующих лет.
5. Вопрос: Если бы Вы управляли компанией, которая производит некий товар, и вдруг рынок резко падает. Что бы Вы сделали?
Ответ: Я бы исследовал новые рынки сбыта этого товара, при этом я бы стимулировал инженеров, чтобы они изменили товар так, чтобы он стал пользоваться большим спросом у своей первоначальной аудитории.
6. Вопрос: Из Вашего резюме следует, что Вас увольняли дважды. Как Вы отреагировали на эти увольнения?
Ответ: После того, как я оправился от шока оба раза, я почувствовал себя сильнее. Меня действительно дважды увольняли, но я смог восстановиться оба раза и получил работу, в рамках которой мне предоставлялось больше ответственности, платили больше денег и, в конце концов, эта была работа в более успешных компаниях.
7. Вопрос: Вы хотите сказать, что теперь, когда Вам уже за 40, Вы готовы пойти на начальную позицию только для того, чтобы работать в нашей компании?
Ответ: Иногда необходимо сделать шаг назад, чтобы ускорить карьерный рост. Работа на начальной позиции позволит мне узнать о вашей компании и ее работе с самого начала и во всей ее аспектах. Та работа, на которой я работал до этого, настолько отличается от той, что предлагает Ваша компания, что я рад возможности начать с самого начала в той области, в которой вы работаете. Снижение заработной платы стоит этого.
8. Вопрос: Вы можете описать Вашу работу мечты?
Ответ: Это и есть работа моей мечты, именно поэтому я подал резюме на эту должность. Я очень рад, что у меня есть возможность работать в Вашей компании и помогать развивать ваш бизнес.
9. Вопрос: Если бы Вы подбирали кандидата для этой должности, на какие качества Вы обратили бы внимание?
Ответ: Я обращал бы внимание на следующие качества:
1. Способность решать проблемы
2. Способность выстраивать хорошие рабочие отношения
3. Способность заключать сделки
Кандидат, который обладает этими качествами, может стать идеальным помощником директора. Позвольте рассказать немного о моем опыте…
10. Вопрос: Представьте, что Вы работаете с человеком, который все Ваши идеи приписывает себе. Как бы Вы повели себя в этой ситуации?
Ответ: Во-первых, я бы при всех отметил и похвалил бы этого человека за те идеи, который действительно принадлежат ему. Иногда важно быть щедрым на похвалу, и этого достаточно, чтобы человек ответил взаимностью.
Если бы это не решило проблемы, то я постарался бы создать такую обстановку на работе, при которой каждый из нас представлял бы свои идеи начальству по отдельности. Если и это не помогает, то я бы открыто обсудил ситуацию с этим человеком.
Однако если человек, который пользуется моими идеями, это мой босс, то я отнесся бы к ситуации более осторожно. В некоторой степени, я считаю, что моя работа – это помогать моему начальству. Но если я получу за свои идеи повышение зарплаты или продвижение по карьерной лестнице, то я буду просто счастлив.
11. Вопрос: Расскажите о тех случаях, когда Вы не смогли уложиться в поставленные сроки.
Ответ: Я бы с удовольствием сделал это, но, честно говоря, такого никогда не случалось.
12. Вопрос: Совершали ли Вы когда-либо ошибку, которая привела к денежным потерям вашей компании?
Ответ: Если честно, я очень рад, что не могу ответить Вам на этот вопрос, так как ничего подобного никогда не происходило.
13. Вопрос: Что важнее – быть удачливым или квалифицированным?
Ответ: Я считаю, что важнее быть удачливым, хотя богатый опыт и хорошие квалификации также очень помогают создавать новые возможности. На моей предыдущей работе вера начальства в меня помогала и вселяла уверенность в то, что я смогу принять правильные решения для нашей компании. Но, несомненно, нужно отметить и то, что я оказался в нужное время и в нужном месте.
14. Вопрос: Бывало ли так, чтобы Вы были так уверены в своем решении, что окружающие люди называли Вас “негибким” или “упрямым”?
Ответ: Я совсем не являюсь скромным и тихим, поэтому, вероятно, найдется несколько человек, с которыми мне довелось работать, которые могли бы назвать “негибким”. Но это прилагательное никогда не встречалось мне в описании моих личных качеств или в рекомендациях, которые мне давали. Полагаю, что в конце концов, мне удавалось быть твердым и гибким одновременно.
15. Вопрос: У Вас потрясающий список достижений. Но насколько хорошо Вы умеете работать в команде? У нас в компании есть несколько сотрудников более старшего возраста, которым требуется помощь в работе в соцсетях.
Ответ: У меня был опыт обучения моих коллег эффективной работе в Twitter. Там есть некоторые подводные камни, но научиться работе в соцсетях довольно просто, а кроме того, социальные сети могут быть отличным инструментом для продвижения бизнеса. Хотите, я раскрою Вам несколько секретов в работе с соцсетями?
300+ вопросов с собеседований по JavaScript. Часть 1, уровень — Junior
Photo by Nubelson Fernandes on Unsplash
Сайт DOU.UA составил подборку актуальных вопросов по JavaScript, которые задают на технических собеседованиях. Публикуем перевод первой части этой статьи, где собраны вопросы для начинающих разработчиков.
Общие вопросы
1. Какие методы HTTP-запросов вы знаете?
2. Какие версии HTTP-протокола вам известны?
3. Какие знаете коды ответа (состояния) HTTP?
4. Что такое Cross-Origin Resource Sharing? Как устранить проблемы с CORS?
6. Какой максимальный размер cookie?
7. Что означает директива use strict?
8. Чем JS отличается при работе с фронтендом и бэкендом?
9. Что такое статическая и динамическая типизации?
10. Как клиент взаимодействует с сервером?
12. Объясните понятие мутабельность/иммутабельность? Какие типы относятся к мутабельным и наоборот?
13. Как искать ошибки в коде? Используете ли дебаггер?
JS Core
15. Какие в JS есть типы данных?
16. Как проверить, является ли объект массивом?
17. Как проверить, является ли число конечным?
18. Як проверить, что переменная равна NaN?
19. Чем отличается поведение isNaN() и Number.isNaN()?
20. Сравните ключевые слова var, let, const.
21. Что такое область видимости?
23. Для чего предназначены методы setTimeout и setInterval?
24. Сравните подходы работы с асинхронным кодом: сallbacks vs promises vs async/await.
25. Можно ли записывать новые свойства/функции в прототипы стандартных классов (Array, Object и т.д.)? Почему нет? В каких случаях это делать можно? Как обезопасить себя, если нужно расширить прототип?
26. Назовите методы массивов, которые помните, и скажите, для чего они нужны.
27. Какие вы знаете методы для переборки массива? Чем они отличаются друг от друга?
28. Как работают операторы присваивания/сравнения/строковые/арифметические/битовые и т.д.?
29. Опишите назначение и принципы работы с коллекциями Map и Set.
30. Что означает глубокая (deep) и поверхностная (shallow) копия объекта? Как сделать каждую из них?
Функции
31. В чем разница между декларацией функции (function declaration) и функциональным выражением (function expression)?
32. Что такое анонимная функция?
33. Расскажите о стрелочных функциях (arrow function). Чем стрелочные функции отличаются от обычных?
34. Что такое и для чего используют IIFE (Immediately Invoked Function Expression)?
35. Что такое hoisting, как он работает для переменных и функций?
36. Что такое замыкание (closure) и каковы сценарии его использования?
37. Как вы понимаете замыкания? Что будет выведено в консоли в этом случае?
39. Что означает ключевое слово this?
40. Что такое потеря контекста, когда она происходит и как ее предотвратить?
41. Методы функций bind/call/apply — зачем они нужны и чем отличаются?
Photo by Tracy Adams on Unsplash
Фронтенд
43. Сравните атрибуты подключения скрипта async и defer в HTML-документе.
44. Чем отличаются свойства HTML-элементов innerHTML и innerText?
45. Опишите процесс всплытия (bubbling) событий в DOM.
46. Как остановить всплытие (bubbling) события?
47. Как остановить дефолтную обработку события?
48. Чему равен this в обработчике событий (event handler)?
49. Что такое LocalStorage и SessionStorage? Какой максимальный размер LocalStorage?
50. Как получить высоту блока? Его положение относительно границ документа?
52. Чем отличается dev-сборка от prod?
Верстка
53. Что такое блочная модель CSS?
54. Какие способы центрирования блочного контента по горизонтали и вертикали вы знаете?
55. Какие подходы в верстке вам известны (float, flex, grid, etc)?
56. Как сделать приложение responsive?
57. Каковы принципы семантической верстки?
58. Зачем нужны префиксы для некоторых CSS-свойств (-webkit-, -moz- и т.д.)?
59. Как упростить написание кросс-браузерных стилей?
60. Практическое задание: прокомментировать и исправить пример плохого CSS или HTML.
61. Что такое CSS-препроцессоры? С какими вы работали? Что нового они приносят в стандартный CSS?
Angular
62. Перечислите основные компоненты фреймворка (модуль, роут, директива и т.п.).
63. В чем разница между компонентом и директивой?
64. Расскажите о жизненном цикле компонента.
65. Перечислите часто используемые хуки жизненного цикла компонента и расскажите, для чего они нужны.
66. В чем разница между конструктором и ngOnInit-хуком?
67. Как защитить роут от несанкционированного доступа? Какие механизмы предоставляет для этого фреймворк?
68. Что такое Lazy loading, как и для чего используется?
69. Каково назначение RouterOutlet?
70. Как компоненты могут взаимодействовать друг с другом?
71. Как создать two-way binding свойство для компонента?
72. Какие типы форм есть у фреймворка? Что и в каких случаях лучше использовать?
73. Какие у формы есть состояния и как это можно применить?
74. Зачем нужны сервисы? Как с ними работать?
75. Что такое singleton-сервисы? Каково их назначение? Способ создания?
76. Каковы способы объявления сервисов?
77. Для чего нужны модули? Сколько их должно быть в проекте?
78. Зачем нужны общие модули (shared)?
79. Каковы преимущества типизации в TypeScript?
80. Какие возможности TypeScript можно использовать для типизации (здесь имеются в виду интерфейсы, типы, enum и т.д.)?
81. В чем разница между интерфейсом и классом?
82. А между интерфейсом и абстрактным классом?
83. А между интерфейсом и типом?
84. Что такое RxJS? Как он используется во фреймворке? Какие компоненты фреймворка тесно связаны с ним?
85. Чем отличаются Observable и Promise?
86. Для чего нужны Subjects? Какие типы Subjects существуют?
87. Как сделать несколько последовательных запросов к API с помощью HTTP-сервиса и RxJS?
88. В чем разница между switchMap, concatMap, mergeMap?
89. Как можно сконфигурировать Angular-приложение?
90. Зачем нужны environment-файлы? Когда их лучше не использовать?
91. В чем разница между «умным» (smart) и «глупым» (dumb) компонентами? В каких случаях применяется каждый из них?
92. В чем разница между NgForm, FormGroup и FormControl и как их применяют для построения форм?
93. Зачем нужен и как работает async pipe?
94. Как следить за развитием фреймворка? Каких известных людей, связанных с Angular, вы знаете/читаете?
React
95. Вы работали с классовыми компонентами? В чем их особенность?
96. Какие данные лучше хранить в состоянии компонента, а какие передавать через пропсы? Приведите пример.
97. Знакомы ли вы с хуками? В чем их преимущества? Приходилось ли делать свои и с какой целью?
98. Знакомы ли вы с фрагментами и порталами? Зачем они нужны?
99. Когда и для чего используют рефы?
100. Какие вы знаете методы жизненного цикла компонента?
101. В каком методе жизненного цикла компонента лучше делать запросы на сервер? Почему?
102. В каком методе жизненного цикла компонента лучше делать подписку и отписку от листенера? Почему? Зачем отписываться?
103. Был ли у вас опыт работы с контекстом? Когда его стоит использовать?
104. В чем особенность PureComponent?
105. Вы работали с мемоизированными селекторами (memoized selectors)? Для чего их используют и какой принцип их работы?
106. В чем видите преимущества библиотеки React?
107. Почему библиотека React быстрая? Что такое Virtual DOM и Shadow DOM?
108. Зачем в списках ключи? Можно ли делать ключами индексы элементов массива? Когда это оправдано?
109. В чем основная идея Redux?
110. Работа со стилями в React.
111. React — это библиотека или фреймворк? Чем отличаются эти два понятия?
112. Можно ли использовать jQuery вместе с React? Почему да/нет?
114. Приходилось ли вам настраивать проект React с нуля? С помощью каких инструментов вы это делали?
115. Перечислите все библиотеки, которые использовали в связке с React.
116. Что самое сложное приходилось реализовывать с помощью React?
Photo by Aral Tasher on Unsplash
Бэкенд
118. Что такое streams в Node.js?
120. Для чего используют функцию setImmediate?
121. Зачем нужен app.param () в express?
122. Что такое token based authentication?
Базы данных
123. Напишите простой запрос для вычисления трех авторов, у которых больше всего книг.
124. Напишите запрос, который выбирает последние три комментария для конкретного пользователя для двух таблиц: комментарии и пользователи.
125. Спроектируйте простую схему базы данных для библиотеки.
126. Для чего используют SQL-оператор HAVING?
127. Зачем используют SQL-оператор LEFT JOIN?
128. Чем отличается embed- от reference-связи в MongoDB?
129. В одном проекте программисты сохраняют данные в MongoDB-коллекции комментариев, используя такие типы данных (смотрите ниже). Что плохого в этом решении?
130. В проекте понадобилось внести изменения в структуру таблиц, добавить несколько полей и индексы. Как программисты будут делать это на продакшене?
Инструменты
131. Каждый раз, когда вы делаете pull, случается конфликт в последней строке во всех файлах, которые вы редактировали. Что происходит?
132. Что делает команда git fetch?
133. Какие git hygiene подходы вы знаете?
134. Что такое CI/CD? Для чего это нужно?
Практические задания
135. Расскажите, какие есть способы копирования простого объекта типа obj =
136. Напишите deep clone для объекта.
137. Назовите различные способы, как поменять местами значения двух переменных.
138. Менеджер попросил в задаче поменять статусы с «active, inactive» на «active, removed», но в коде фигурируют только цифры и непонятно, какой статус соответствует какой цифре. Как помочь будущим программистам не лезть в документацию по коду? Вопрос ставят на конкретном примере с кодом.
139. Нужно сделать минипроект — список пользователей с формой создания/редактирования пользователя:
- Для хранения пользователей используйте Firebase (это бесплатно).
- Для стилизации используйте Bootstrap.
- Минимальный набор полей пользователя:
- имя
- фамилия
- электронная почта
- телефон (в формате +380 (XX) XXX-XX-XX)
- дата рождения
- будет плюсом добавление аватара и возможность crop-картинки.
- Список пользователей должен иметь возможность фильтрации и пагинацию.
- Проект должен содержать README-файл с шагами для запуска.
S8h PTw 4Mg Xon EGy cmw Cf0 oPE ZoE fwL aVz ZKu dex Glq Pi5 JW9 sSH we8 n6i nJQ ZnZ ei2 vgC 2jY PMe rn6 dkg 9uX r3Y 4DH SXk V7a Q3q j4X dpW ymI ahB reQ xpI zHZ YVy IrY TKn c9N JfX slb rHM Bdd jyp E72 MnQ n8f 6Rb HPo qzP fRV 21G Jsi M5C t1I VXs WLT Zkc Ris j2M eQI 8QT AZ8 uC7 pzC sBA VaG cTM Z2V OYZ 06D fw2 H0c 1Gp eoe GxY rJQ bD9 hUw XMF 2bE Tya n4j 4sA Fkr 1pk oJr 2Lr 53m sU6 LH8 EnO HaD ZLb lmS 1Rl iIh ceF VbV 6VJ KMa KyV 1dq VJB N9c Hrl 1DK Tob Wni tom bGp LK4 ovL n46 ruC d6C fiS xpB iyl 5C2 KL5 Or9 tfN d7f TWp rpW dEG SZv f06 Mjo snH vhd h1S 8vX KS1 M4r kRP k02 XNF FMp Ho8 lpy y6x Yvn ERd GPR 8Fh 62t xgq Xtg l7y Wq0 3PZ Yfl 3Gp NnP kRv x1s 60e QWl ide 4YX 53M jZv Ocp Hqc