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

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

  • Что будет, если создать круговую цепочку прототипов? И прочие сведения случайного характера.
  • Как мигрировать с webpack 3 на webpack 5? И прочие частности.
  • В чем разница между числом и массивом? И прочие вопросы, затуманенные расплывчатыми формулировками.
  • Как быстрее всего перевести строку в число? И прочие вопросы, не дающие достаточно информации о поведении.
  • Как сделать этот фрагмент кода лучше? И прочие вопросы, предлагаемые вне контекста.

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

Сведения случайного характера


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

const x = {};
const y = {};
x.__proto__ = y;
y.__proto__ = x;
console.log(x.field);


Мы модифицируем цепочку прототипов во время выполнения, чтобы она закольцевалась. Вы, наверное, уже догадались, что правильный ответ – «ничего хорошего». В продакшн такой код писать никто не станет. Какому ненормальному взбредет в голову использовать свойство __proto__, которое стандартизировали по особому случаю и с тех пор стараются обходить стороной? Но, разумеется, правильный ответ звучит так: y.__proto__ = x дает TypeError: Cyclic __proto__ value. Спасибо, очень полезно.

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

Существенную часть таких сведений случайного характера составляют вопросы по винтажному JS. Ну да, те из нас, кто начал писать код до 2015 года, знают, как работает поднятие переменных и как объявить (и даже расширить) класс с .prototype. По сути, здесь вы проверяете, когда разработчик взялся за изучение JS (и приходилось ли ему работать с legacy-кодом), а эту информацию можно найти и в резюме. Если в вашем проекте есть legacy-код, то, возможно, это еще имеет какой-то смысл.

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

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

Частности


Какие сложности вызывает миграция на webpack 6? Как проверить, поддерживает ли браузер SSE? Какой aria-role должен быть у модального окна? Понятия не имею. Я обычно гуглю такие вещи, и у меня неплохо получается.

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

Попросите лучше кандидата рассказать о какой-нибудь недавней трудности, с которой он справился – это будет и занятнее, и полезнее для вас обоих.

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

Туманные вопросы


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

Проблема здесь в том, что от вас ждут совершенно определенного ответа (как я выяснил, ответ этот: «Число неизменяемо»), но если спросить напрямую, то получается как-то слишком просто. Поэтому добавляется подвыверт, чтобы вопрос стал открытым, суть немного затеняется, а в итоге становится вообще невозможно понять, что у вас узнать-то пытаются.

И, что самое худшее в этой ситуации, даже подсказку дать не получится, потому что подсказка и есть ответ, так что вы обречены бродить кругами, всё сильнее и сильнее запутывая друг друга. «Что можно сделать с числами, а с объектами нельзя?» Складывать? Приводить к false? «Ну, подумайте. Есть ли у чисел свойства?» В каком-то смысле, да. Столько времени впустую!

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

Для тех, кто проводит собеседования: старайтесь отдавать предпочтения прямым вопросам («Какие типы в JS неизменяемы?») или, по крайней мере, позаботьтесь о том, чтобы формулировка направляла кандидата куда нужно, а не заставляла метаться туда-сюда («В чем разница между примитивными типами и объектами?»).

Неясное поведение


Что залогирует console.log(Object.keys({ x: 0, y: 0 }).join()) — x,y или y,x? x[key] быстрее, чем x.find(e => e.key === key)? Я знаю, что при нормальных условиях ответы — x,y (в порядке добавления) и «да», но спецификации нет, так что не следует слишком на это полагаться.

В этой категории особенно популярны вопросы, связанные с производительностью. Время выполнения в JS меняется быстро, и даже если несколько лет назад вы видели, что такой-то код производительнее такого-то, сейчас дела могут обстоять уже иначе. Тот факт, что встроенные структуры данных в JS не уточняют сложность операций, тоже не помогает. Разумно предположить, что доступ к объекту obj[key] займет O(1), но на деле это определяется многими факторами — размером объекта, частотой создания / удаления, тем, являются ли ключи строковыми литералами (см. бенчмарк). И даже когда какая-то разница и существует, она зачастую пренебрежимо мала и не оказывает никакого реального эффекта на фронтенд-разработку.

В целом, такие вопросы хороши тем, что позволяют оценить и практические знания о производительности в стандартных условиях, и понимание разницы во времени выполнения, в том числе применительно к повседневной работе. Всё, что требуется от проводяшего собеседование, чтобы извлечь из них пользу – во-первых, самому не забывать о том, что многое зависит от имплементации, а во-вторых, оставаться открытым для неожиданных ответов. Такие вопросы однозначно не годятся для неинтерактивных форматов собеседования, например для онлайн-теста, где можно выбрать только один вариант (Выберите самый быстрый метод: a) a.pop() b) a.shift() c) a.length -= 1) – для них не существует единственно правильного ответа.

Вопросы без контекста


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

Скажем, что не так с этой функцией?

function map(arr, fn) {
  for (var i = 0; i < arr.length; i++) {
    arr[i] = fn(arr[i]);
  }
  return arr;
}


Не знаю, как по мне, с ней всё в порядке. А может, и нет. Всё зависит от того, чего именно вы от нее хотите. Код сам по себе редко бывает «правильным» или «неправильным». Ну да, допускать мутации arr по нынешним временам не идиоматически, но, возможно, в рамках оптимизации конкретного фрагмента это и работает. Да, использование var не приветствуется, но, может быть, это библиотека, которая должна работать в IE6. Да, можно было бы заменить for (;;) на .map или на for..of, но тогда мы теряем поддержку всех массивоподобных объектов. Как видите, всё зависит от контекста. Я бы мог бесконечно создавать вариации этого куска кода, но, если он не вызывает никаких проблем, то лучше этого не делать.

Часто такие вопросы формулируются в духе «проведите рефакторинг кода, чтобы стало ЛУЧШЕ» — у любого джуниора глаза загорятся. Хорошо, что есть старый ворчун Владимир, который напомнит вам, что «рефакторинг» без ясной цели – это самое бессмысленное занятие на свете.

Чтобы продемонстрировать, как решение завязано на проблеме, возьмем такой пример: вы даете мне галерею со слайдером, которая реализована через жуткую мешанину jQuery, и просите ее «усовершенствовать». Одна беда: вам-то представляется, что самое лучшее, что можно сделать для этой галереи за час – написать модульные тесты и перевести всё на React. А я думаю, что должен заменить jQuery на ванильный DOM и доработать UX, чтобы лучше реализовать прокрутку. Нельзя сказать, что кто-то из нас прав или не прав. В реальной жизни контекст задают цели проекта и направление разработки: сколько у нас зависимостей jQuery по кодовой базе, планируем ли мы мигрировать на React, доступно ли ручное тестирование.

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

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

  • Случайные сведения: всё, что часто всплывает на собеседованиях, и редко – в жизни. Пример: «Что будет, если построить круговую цепочку прототипов?». Такие вопросы проверяют натасканность, а не реальные знания. Их следует избегать.
  • Частности: решения для уникальных проблем из практики. Пример: «Как мигрировать с webpack 3 на webpack 5?» Теоретически могут сгодиться, если относятся к базовому набору сведений, которыми нужно располагать разработчику, или к области, крайне важной для вашего продукта. Лучше спросить, какую сложную проблему кандидату удалось решить в последнее время.
  • Туманные вопросы: вопросы, которые просты по своей сути, но усложнены расплывчатыми формулировками, например «В чем разница между числом и объектом?» вместо «Неизменяемы ли числа в JS?». Их следует избегать.
  • Вопросы по имплементации: ответ зависит от частных особенностей в среде выполнения JS. Пример: «Как быстрее всего сделать циклический просмотр списка?». Избегайте категоричных формулировок и не раздувайте проблем на ровном месте, если ответ будет не таким, как вы ожидали.
  • Недостаточно контекста: ответ требует дополнительных сведений. Пример: «Как улучшить этот код?» Если вы готовы искать ответ совместными силами, очерчивать необходимые рамки и по достоинству оценивать способность кандидата подмечать возможности – вопрос отличный. Если вы ждете конкретного ответа при том, что существует масса объективно хороших альтернатив – вопрос ужасный.

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

Удачи на собеседованиях и еще увидимся!

Комментарии (193)


  1. k102
    15.07.2022 16:30
    +32

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


    1. nochkin
      15.07.2022 19:18
      +21

      даже перезвонить не пообещал

      Один из тех случаев когда "не перезвонил" это очень хорошо.


    1. TonyKentnarEarth
      15.07.2022 19:21
      +10

      Кмк читать код приходится все же намного чаще, чем писать, поэтому ничего плохо не вижу в

      вопросе в духе "что выполнит этот код"

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


      1. sshmakov
        15.07.2022 21:32
        +32

        Хорошая идея. Кандидат рисует на салфетке сортировку пузырьком, "мы вам перезвоним", салфетка передается следующему кандидату с вопросом "что здесь не так" или "как улучшить этот код".

        Смайлики по вкусу


        1. PrinceKorwin
          15.07.2022 22:36
          +21

          А потом этот код передается в прод. Двойной Профит!


          1. rinat_crone
            16.07.2022 00:13
            +6

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

            P.S. извините за формулировку сообщения, на личности не переходил, конкретно к Вам претензий у меня нет, это скорее «вопрос в зал».


            1. sshmakov
              16.07.2022 08:54
              +17

              В данной шутке где-то была доля шутки, поищите


            1. antonblockchain
              16.07.2022 12:36
              +4

              Если компания сама оказывает услуги.
              не продуктовая.

              Такой код может попасть в прод КЛИЕНТА.
              потому что проект у клиента может быть реально маленьким.
              или он платит по часам с разрывами — под него нет в команде отдельного знающего код его разработчика.
              или заказал именно эту функцию в отвязке от всего.

              у дизайнеров встречается сплошь и рядом.
              у тестировщиков — протестируйте код\сайт.

              в свою кодовую базу конечно никто ничего добавлять не будет.
              в клиентскую только в путь.


    1. DoHelloWorld
      16.07.2022 01:02
      +11

      Последнее, что я встретил это тест по Си на 40 вопросов, среди которых был а-ля, расставьте в порядке приоритета операторы: &, |, ==, &&, + и тд. На мой вопрос какую конкретно операцию они подразумевают под &, сказали что я должен сам знать.


      1. edogs
        16.07.2022 02:34
        -9

        Мы с Си уже лет 20 дело не имели, поэтому не могли бы Вы удовлетворить любопытство и объяснить в чем конкретно проблема?
        Глянули сейчас современный мануал docs.microsoft.com/en-us/cpp/c-language/precedence-and-order-of-evaluation?view=msvc-170, ну, вроде & как и было побитовым «и» так и осталось.
        И приоритет у него как и был выше, скажем ||, так и остался onlinegdb.com/m8WZql0so


        1. vamireh
          16.07.2022 02:59
          +13

          А на второй строчке в этой табличке что?


        1. mbobka
          16.07.2022 03:00
          +9

          & ещё кое-что умеет делать.


        1. DoHelloWorld
          16.07.2022 03:02
          +18

          Ну вообще & ещё адрес умеет брать и приоритет у этой операции другой =)


        1. ivymike
          16.07.2022 12:36
          +2

          Разыменование указателя


          1. enree
            18.07.2022 14:14

            & это address-of operator (взятие адреса). Разыменовывание это *


      1. sshmakov
        16.07.2022 09:58
        +23

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

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


        1. a40
          18.07.2022 10:09

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


          1. Sap_ru
            18.07.2022 13:28

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


            1. a40
              18.07.2022 14:07

              Ну если гугль, то нет различий межлу джуном и синьером.

              Гугл у всех один.


    1. denis-isaev
      16.07.2022 02:02
      +30

      Я когда-то давно, в начале своего пути собеседовался в Агаву в Долгопрудном, на интервью была алгоритмическая задачка: надо было составить единый алгоритм для двух роботов, приземлившихся на 2d планету, чтобы они нашли друг друга.

      Решение было что-то вида "N шагов направо, N+1 шагов налево, инкремент N и считаем кол-во сколько раз попался парашют, понимаем когда нашли парашют коллеги, стоим ждем" + граничные условия вида "одновременно нашли парашюты" разрулить.

      Когда все каверзные моменты задачки обсудили, интервьюер задал последний вопрос: "Какая будет максимально возможная скорость роботов?". Блин, что я там только не перебрал: вспоминал, что мне рассказывали в универе про сопромат, прикидывал какие могут быть особенности планеты, влияющие на скорость передвижения, всё не устраивало. Мне парировали, что материалы не важны и условны, а физические особенности планеты вне контекста и т.п. В итоге я решил, что оптимальным ответом будет: c — скорость света. Интервьюеру и этот вариант не понравился, но я настоял, что это точно максимально возможная скорость и я гарантирую, что быстрее не получится (при нашей жизни).

      Правильным ответом оказался "один шаг за такт".


      1. greenkey
        16.07.2022 14:18
        +1

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

        Потом они куда-то пропали...


      1. lgorSL
        16.07.2022 23:22
        +1

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

        Причём условие было максимально расплывчатым типа "расстояние любое, время любое, топливо бесконечное". Я вспомнил статфиз и предложил модель случайных блужданий - в пределе роботы когда-нибудь да встретятся.
        И ещё предлагал роботам бегать типа на N влево в поисках парашюта и потом обратно, потом на 2N вправо и т.п., но интервьюверу этот ответ тоже чем-то не понравился.

        Кстати, вариант с ускоряющимся в два раза роботом можно считать отсылкой к какому-нибудь алгоритму с односвязными списками, но реальном программировании я такого ни разу не применял. Что-то вроде "есть односвязный список, который в конце ссылается на какой-то свой элемент, найти тот элемент"


        1. Alexandroppolus
          17.07.2022 00:50

          Судя по всему, у вас было что-нибудь вроде этого. Там да, тактика "туда-сюда" не прокатит, её не запрограммировать.


          1. denis-isaev
            17.07.2022 03:51

            Почему? Расстояние между роботами же конечно, несмотря на бесконечность полоски в стороны. И текст программы хоть и не бесконечен, но не ограничен сверху условиями задачи :) И тогда по идее должна существовать программа (которая решает задачу) вида:
            IF FLAG
            GOTO END
            ML
            IF FLAG
            GOTO END
            MR
            MR
            IF FLAG
            GOTO END
            ML
            ML
            ML
            … и так далее (пока интервьюеру не надоест) :)

            lol
            Программист на electron вошел в чат :)))


            1. BugM
              17.07.2022 04:03

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

              Кажется это не подходит по условию. Линия бесконечна, а исходник должен быть конечным.


              1. denis-isaev
                17.07.2022 04:09

                Дискуссионно, кмк :) Там написано «бесконечна в стороны», но не написано, что расстояние между роботами бесконечно. Если предположить, что расстояние между роботами может быть бесконечно, то никакой алгоритм не решит задачу. Разве нет? :)


                1. Alexandroppolus
                  17.07.2022 10:07
                  +1

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

                  В то время как правильная программа на любой случай составляет всего 6 строк.


                  1. BugM
                    17.07.2022 14:40

                    Hidden text
                    1 ML
                    2 MR
                    3 ML
                    4 IF BLACK
                    5 GOTO 7
                    6 GOTO 1
                    7 ML
                    8 GOTO  7

                    Забавная. Но на собеседовании давать не стоит. Слишком много людей завалится.

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


                    1. Alexandroppolus
                      17.07.2022 15:28

                      Вышло 8 с первого раза

                      Со второго можно вспомнить, что "IF" по условию тоже занимает 1 сек., и нет надобности в строках 1-2


                      1. BugM
                        17.07.2022 15:35

                        Да, точно. Мне почему-то показалось что время занимает только перемещение. Тогда 6.


                  1. denis-isaev
                    17.07.2022 15:32

                    Да это понятно. Но если представить, что есть некий набор тест кейсов по которым прогоняют решение на том сайте, то при должном усердии и размерах памяти, можно пройти эти тест кейсы решением туда-сюда.
                    Это как хранение epoch секунд в int-е любой разрядности: практически решает задачу, но в общем случае — нет.
                    Правда int как раз для оптимальности, а решение с роботами для споров с интервьюером :)


                    1. BugM
                      17.07.2022 15:37

                      Это типичный вопрос для решения на бумаге/доске. Не будут гонять. Математика говорит нам что для бесконечной линии будет верным решение с бесконечным исходником. А это противоречит условию.


                    1. BugM
                      17.07.2022 16:00

                      Это как хранение epoch секунд в int-е любой разрядности: практически решает задачу, но в общем случае — нет.

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


                    1. Alexandroppolus
                      18.07.2022 00:08

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

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


          1. lgorSL
            17.07.2022 13:37

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


    1. DimonDU
      18.07.2022 10:28

      Самый необычный вопрос который мне задавали на собеседовании: дать определение слову граница.


  1. saipr
    15.07.2022 16:30
    +13

    Туманные вопросы

    А ещё бывают и такие вопросы:


    • Какая твоя настольная книга или, что сейчас читаешь, или какая последняя книга, которую ты купил?


    1. StjarnornasFred
      15.07.2022 16:42
      +5

      "Какую купил" - вряд ли будут спрашивать (книги можно и не покупать, и при этом даже необязательно пиратить). А вот "какую прочёл" - да, спрашивают часто, подтверждаю. Иногда даже не спрашивают устно, а прям в анкете соискателя указывают. Кстати, анкетное собеседование - как по мне, отличный вариант.


      1. 4reddy
        15.07.2022 20:11
        +1

        А у меня несколько раз было что-то из разрада: "На каких ресурсах вы ищете информацию, сидите и держите, что называется, руку на пульсе технологий?". До сих пор чёткого понимания что этим вопросом хотят у меня узнать нет.

        К слову сказать, я всегда с лёгкостью называл ресурсов 10 (англоязычных и русскоязычных).


        1. rinat_crone
          16.07.2022 00:19
          +8

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


          1. 4reddy
            16.07.2022 13:08
            +4

            Не знаю - не знаю. На мой взгляд, эта психология слегка притянута за уши.
            Если поднапрячься, то можно ещё дюжину подобных вопросов "обо всём и ни о чём" придумать, ответы на которые можно привязать к чему угодно.
            Я не против, мне нетрудно, что называется. Если это своего рода прелюдия в общении между интервьюером и интервьюируемым, попытка расположить к дальнейшей беседе или же, наоборот, спрашивается в конце собеседования в нетехнической части.
            Но те ресурсы, которые я мониторю в сущности не говорят ни о чём конкретном и никак не могут характеризовать меня как профессионального IT-специалиста.

            * А если работодателю нужны "персонажи", как вы выразились, то нам с ним точно не по пути. Или же я просто промахнулся дверью и пришёл устраиваться в театр, а не в IT компанию :)


    1. Nialpe
      15.07.2022 16:47
      +12

      Попробую ответить:

      Настольной книги нет; сейчас я на собеседовании и ничего не читаю, а разговариваю с вами; последняя книга, которую я купил - "Незнайка на Луне" (для сына, читать перед сном).

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


      1. saipr
        15.07.2022 17:04
        +4

        "Незнайка на Луне" (для сына, читать перед сном)
        Что может быть лучше этой книги?!

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

        Не надо обижать задающего вопрос. Почему он так должен думать? А если и думает, то это очень не далёкий человек и к работе с людьми его нельзя допускать.
        А книжки про незнайку — это Супер. Они развивали в нас тягу к знаниям, хотелось вместе с ним лететь на Луну, да много чего. А Человек читающий и перечитывающий эти замечательные книги — это кладезь для компании.
        А сыну я ещё бы купил и прочитал Изумрудный Город!
        Удачи вам в воспитании Сына.


        1. Nialpe
          15.07.2022 18:26
          +4

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

          Я отношусь к категории людей, которые не судят по книгам о профессиональных навыках. Т.к. считаю, что книга (полагаю мы все подразумеваем художественные произведения) - форма проведения досуга. А досуг у каждого свой. Для примера я не читаю книг, а занимаюсь физической активностью. Это не хорошо или плохо, равно как не хорошо и не плохо то, как вы проводите досуг и какие книги читаете.

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


          1. saipr
            15.07.2022 23:21
            -2

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

            Первое, вы всё читаете! И самое главное. что читаете — от этого и будет завмсеть ваше вознаграждение!
            P.S. Порой техническая литература бывает не менее захватывающей. чем художественная. Со мной такое было. когда я читал "Горение свечи" Фарадея.


          1. a40
            18.07.2022 10:23
            +3

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

            За наличие активной позиции. Наличие интересов свидетельствует о хорошей самооценке. Если человек занимается "добровольными" активностями, то и на работе с некоторой вероятностью будет активен. Не гарантия 100%, но корреляция есть.


          1. tekdel
            18.07.2022 10:37
            +1

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

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

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

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

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

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

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


        1. RabraBabr
          16.07.2022 11:12
          +3

          "Незнайка на Луне " ровно как и "Золотой теленок" это две моих настольные книги по жизни. Да там и дух приключений и тяга к знаниям. Но самое главное, что это книги про в бизнес и инвестиции. Чего только история господина Понча стоит (помните как он стал соляным магнатом). Или размещение акций по фертингу акционерного общества. А уж схемы господина Корейко в 90-ые наверное не один раз были провернуты ни одним бизнесменом. Самое главное времена меняются, а схемы остаются, все нетленка и все рабочее.


        1. senglory
          16.07.2022 22:51
          +3

          А книжки про незнайку — это Супер. Они развивали в нас тягу к знаниям, хотелось вместе с ним лететь на Луну, да много чего.

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


      1. anna_ovzyak
        16.07.2022 00:16
        +1

        ???? на самом деле, это вопрос на поведение, посмотреть что ответит. Согласна с вами, что это странный вопрос.

        Какие книжки в мире ИТ, всё что успеваешь habr, курсы, статьи в интернете. Я за день столько начитаюсь документации, что вечером хочется уже не до книг, а хочется спорта или отдыха.

        А с ребёнком? Вообще не успеть книг. Я пока на уровне ещё Маршака, до Незнайки не дошли, но спасибо за идею.


        1. Nialpe
          16.07.2022 10:10
          +4

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


          1. ReadOnlySadUser
            16.07.2022 19:10
            +3

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


          1. terraplane
            16.07.2022 22:04
            +3

            А ведь именно это и нужно -- умение подстроиться под генеральную линию партию и колебаться вместе с курсом. Если человек не может этого сделать даже на собесе, то он не подходит, все логично.


    1. lebedec
      15.07.2022 16:48
      +2

      Так это вроде не плохой вариант узнать человека получше.

      Отгадайте с каким разработчиком вам будет проще решать технические задачи: с тем, кто недавно прочитал книгу Лема "Сумма технологий", или сборник комиксов Ники Водвуд "Пёся".  


      1. k102
        15.07.2022 16:50
        +37

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


        1. lebedec
          15.07.2022 18:23

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

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

          Как по мне, не плохой результат для одного вопроса про книгу в контексте проблемы трудоустройства. Сомневаюсь, что какой-нибудь чисто технический вопрос “Что такое ООП?” или "Как обойти дерево в ширину?" дал бы больше пользы. 


          1. i86com
            15.07.2022 23:20
            +13

            Так ведь в том то и дело, тут ещё вопрос, означают ли общие интересы комфортное сотрудничество.
            Те же любители научной фантастики могут очень похоливарить на тему «что лучше, Star Wars или Star Trek». А любители Star Wars на тему «является ли Империя абсолютным злом или Республика сама зашла в тупик». А любители Империи на тему «считать ли Трауна частью Империи». Ну вы поняли…
            А вот были бы разные интересы — пожали бы плечами да и дальше работали.


      1. Andrey_Dolg
        15.07.2022 16:55
        +13

        От человека зависит, выбор варианта с "Пёся", смотрится менее рискованно.


        1. vilgeforce
          15.07.2022 17:47
          +4

          Сумма Технологии (последняя И, что характерно) - книга хорошая, но нужно быть редкостным занудой, чтобы ее читать, IMHO ;-)


      1. Machirodont
        15.07.2022 21:40
        +19

        Чтобы узнать человека получше - нужны более открытые вопросы, а не это про "последнюю прочитанную". Потому что у взрослого человека обычно Лем, Брэдбери, Азимов, Стругацкие, Желязны, Гаррисон, Кнут и множество других, которые на слуху - скорее всего, уже давно прочитаны и перечитаны - в подростковом и студенческом возрасте. А дальше, если человек продолжает читать - он уходит во что-то более нишевое и вероятность пересечения со случайным человеком стремится к нулю.


        1. PereslavlFoto
          16.07.2022 00:22
          +1

          Кнут вполне может быть последним; его книги по книжному делу весьма интересны.


        1. lebedec
          16.07.2022 08:54
          +2

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

          А какой вопрос тогда можно задать чтобы узнать человека получше?  

          Объясню. Ключевая проблема найма — найти сотрудника, который уживется в сложившемся коллективе и сможет решать поставленные задачи. Спрашивать про “сортировку и ООП” не продуктивно — это может освоить любой инженер если понадобится, а профессиональный проходитель интервью заучит уже на третей попытке. Лично я обсуждаю реальные задачи бизнеса на пересечении с опытом кандидата и это в целом помогает понять сможет он решать поставленные задачи или нет. И в принципе я понимаю, что любые не профессиональные вопросы на собеседовании могут выглядеть подозрительно и раздражать. В каком-то смысле даже не прилично спрашивать про интересы человека, с которым ты не знаком. 

          Но как понять, насколько новый человек разделяет человеческие ценности команды? Какие вопросы задавать? Неужели стандартное “что для вас самое важное в команде” звучит лучше этого несчетного вопроса про книгу?  


          1. sshmakov
            16.07.2022 09:03
            +3

            Неужели стандартное “что для вас самое важное в команде” звучит лучше этого несчетного вопроса про книгу?  

            На мой взгляд, лучше.

            А вы сможете сформулировать человеческие ценности в команде? Почему бы их не озвучить и не спросить, все ли вам подходит?


            1. lebedec
              16.07.2022 10:21
              +1

              А вы сможете сформулировать человеческие ценности в команде? Почему бы их не озвучить и не спросить, все ли вам подходит?

              Так своими вопросами компания как раз и обозначает человеческие ценности.

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

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

              Поэтому я считаю подобные вопросы не плохими, скажем в отличии от “что для вас самое важное в команде”. В моей практике на него практически все отвечают "хорошие процессы". Мысль важная, но информативности не много. Что если в компании не пещерный менеджмент, он понимает важность хороших процессов, осуществляет их и поэтому задумался над комфортом работы команды. Какие вопросы ещё задавать? 


              1. sshmakov
                16.07.2022 13:18
                +3

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

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

                Какие вопросы ещё задавать?

                Я же выше написал - рассказать о своих процессах и ценностях, и спросить "вам это подходит?"

                Так своими вопросами компания как раз и обозначает человеческие ценности

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


              1. 0xd34df00d
                16.07.2022 18:23
                +4

                А почему вообще это важно?


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


                1. lebedec
                  17.07.2022 09:11
                  +6

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

                  • полное разделение личной и профессиональной жизни

                  • самоотверженность (на работе только работа, никаких личных интересов) 

                  • деловая искренность (на работу приходят только ради денег) 

                  • здоровый образ жизни (никаких баров) 

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

                  • рассказывает о личной жизни  

                  • по утрам работает над собственным пет проектом 

                  • компанию воспринимает как семью (в жизни нет других друзей) 

                  • не против выпить винца в обед, по барам ходит даже в среду 

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

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

                  Суть в том, что не существует "правильных" и "не правильных" ценностей. Как неоднократно упоминалось в комментах к этой статье, подобные вопросы — это двунаправленный|обоюдный|взаимный фильтр. С той стороны вопроса сидят живые люди, у которых тоже есть своё представление о жизни. И представьте себе, оно может не совпадать с представлением кандидата. То есть да, это оценка, но оценка относительная а не абсолютная. В интересах обеих сторон выяснить подходите вы друг другу или нет.

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


                  1. 0xd34df00d
                    17.07.2022 19:29
                    +1

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

                    Уже нет. Давайте смотреть конкретнее.


                    полное разделение личной и профессиональной жизни
                    рассказывает о личной жизни

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


                    самоотверженность (на работе только работа, никаких личных интересов)
                    по утрам работает над собственным пет проектом

                    1. Вообще пофигу. У меня нет цели купить 8 часов в день жизни человека. У меня есть цель купить возможность решения характерных задач за характерные для рынка деньги. Если средний человек на рынке может делать по одной условной единице задач в день за 100 тугриков в месяц, то мне важно, чтобы нанимаемый делал примерно одну у.е. за примерно 100 тугриков. Если он гений и будет тратить на это час в день, остальное время занимаясь пет-проектами, читая хабр, делая что угодно — ну что ж, его выбор. Даже, наверное, хорошо, потому что есть какой-то резерв.
                    2. Даже если бы было не пофигу, как вы узнаете об этом на интервью?

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

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


                    здоровый образ жизни (никаких баров)
                    не против выпить винца в обед, по барам ходит даже в среду

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


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

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


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


                    как бы вы изменили процесс найма

                    Я бы изменил процесс работы и облегчил расставание с человеком, что по его инициативе, что по моей.


                    Можно вопросы наводящие позадавать помягче "каким спортом занимаетесь?"

                    «Никаким». Ваш вывод?


                    Да, 4-5 часов кардио в неделю — это не спорт по моему мнению. Еженедельные пострелушки из огнестрела — тащем, тоже, несмотря на название одной из пукалок, включающее в себя слово «sport». И мне в любом случае хватит ума не упоминать про это на собеседовании, да и впоследствии на работе. Отношение к оружию, к абортам, к прочему подобному — оно всё не для работы.


                    "готовы за свой счёт разрешать ситуации в личной жизни?"

                    Чё? Ничего не понял. Какие ситуации? За какой ещё счёт их можно разрешать? В чьей личной жизни? Типа, готов ли я починить личный ноутбук начальника? Или это такой намёк на то, что буду ли я иногда отпрашиваться по личным делам? Так это в моих интересах выяснить. Или это намёк на то, буду ли я жаловаться коллегам на жизнь? Странный вопрос какой-то.


                    Суть в том, что не существует "правильных" и "не правильных" ценностей.

                    Если вы вместе хотите работать работу, то правильны те ценности, которые повышают вашу эффективность.


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

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


              1. ReadOnlySadUser
                16.07.2022 19:24
                +2

                Как на счёт - никаких вопросов, не связанных с работой, не задавать? Я вот каждый раз когда мне начинают втирать на работе про что-то нематериальное, вроде "ценности компании", "корпоративныая культура", "взаимопомощь" и вот это всё, сразу начинаю ощущать, что мне опять втирают всякую дичь, чтобы убедить, что деньги на работе - не главное.


          1. Nialpe
            16.07.2022 09:37

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

            Универсальные вопросы знают только лекторы на конференциях и митапах, те которые начинают свои выступления со слов "я провел тысячи интервью в обоих ролях - нанимающей и нанимаемой". Они абсолютно уверены в своей непогрешимости и "несут свет знаний" миру.

            Для статистики - на трех последних местах работы (сейчас работаю в компании 5000+) у меня не было этих любимых всеми поведенческих вопросов (равно как и hr-секции - господи, как же такое может быть?!) - общались два разработчика и приходили к согласию работать вместе в тот же день. Наверное, это разновидность шоу "Интуиция". Это тоже не универсальное средство, но так тоже бывает, представьте себе. И это не соответствует всеми любимой схеме с кучей интервью и томительным ожиданием.

            Жизнь многогранна, так стоит ли ее запихивать в шаблоны, особенно в достаточно творческой профессии - разработчик? (Про другие специализации не берусь судить).


          1. MaryRabinovich
            16.07.2022 10:42
            +4

            Как-то немного шокирована тредом в целом, так что мои пять копеек вставлю в ответ на ваш комментарий.

            Во-первых, "реакция хабра" - это реакция уже высказавшихся. Кому не лень было, кому нашлось что сказать. Вот, например, про сына и про Незнайку.

            Настольной книги нет; сейчас я на собеседовании и ничего не читаю, а разговариваю с вами; последняя книга, которую я купил - "Незнайка на Луне" (для сына, читать перед сном).

            (nialpe)

            По-моему, это классическая история насчёт того, что чаще всего комментарии пишут от возмущения. Особенно вот такие вот эдакие саркастические (при всём моём уважении к коллеге nialpe)

            Мне пока только один раз задали этот вопрос. Я сразу ответила, вообще не задумываясь - ну потому что как раз последние пару недель до того момента штудировала один талмуд. В ответ услышала, что это очень хорошая книга. Ура. Мне тоже было приятно (на самом деле, я изначально-то не была уверена, что хорошая - купила по отзывам, дата издания несколько подустаревшая, напрямую мне её не рекомендовал никто...)

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

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

            --------------------------------

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

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

            (тут правда есть ещё версия "книга = учебник-справочник". Оставим данную опцию пока за скобками)


            1. Nialpe
              16.07.2022 16:29

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

              А от возмущения публика обычно минусы кидает в карму и в комментарии. Хабр, такой Хабр...


              1. MaryRabinovich
                17.07.2022 16:40

                Ну, вы тому интервьюеру ответили вполне логично. Но согласитесь, очень похоже на типовой технарский стёб над гуманитариями. Стёб, подчёркивающий нелогичность, или точнее неконкретность гуманитарных вопросов. Что-нибудь вроде "продолжите числовой ряд 1, 2, 3..." - фантазия у математика разыгрывается не на шутку.

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


                1. Nialpe
                  17.07.2022 21:48
                  +1

                  Возможно, Бог миловал, но всюду, где довелось работать меня ни разу не спрашивали ни про книги, ни про достоинтсва и недостатки, ни про кем я себя вижу через пять лет. И наоборот там, где начинались попытки оценки качества X по оценке качества Y, сотрудничества не получалось. И это вполне нормальная история. Подобное притягивает подобное. В своем случае я могу сформулировать это как:

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

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


          1. ReadOnlySadUser
            16.07.2022 19:19
            +5

            Да о каких, мать-перемать, "ценностях команды" постоянно идёт речь? Я вот уже 5 работ сменил, но так и не понял, что это за штука такая? Для меня команда - это набор людей, работающих над поставленной задачей за деньги, соблюдая те или иные процессы SDLC.

            Для меня самое лучшее в команде - это понимание каждым её членом какую работу он выполняет и зачем. А какие он там книги читает, на каком велосипеде ездит, сколько у него детей и прочее - да какая мне разница? Один фиг я приду на работу и с кем-то подружусь, а с кем-то буду "просто работать". Возможно я буду со всеми "просто работать", такое тоже бывало, и ничего - вполне справлялся с работой.


            1. BugM
              16.07.2022 23:48
              +5

              Почему вы отказываете работодателю в праве искать нужных ему людей по нужным ему критериям?

              Хотят они найти человека который будет с радостью с коллегами ходить в бар по пятницам. Там принято ретроспективы проводить в баре и менять свои привычки они не хотят. Почему бы и нет? Пусть ищут и есть шанс что найдут.


              1. PereslavlFoto
                17.07.2022 03:38
                +1

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

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


              1. Nialpe
                17.07.2022 08:40

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


          1. Fenzales
            17.07.2022 11:21
            +1

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

            Как чтение Лемма поможет ужиться в коллективе? Если вы устроитесь в незнакомый коллектив, вы сможете понять, кто его читал, не задавая прямых вопросов? А отличить тех, кто его не читал, от тех, кому он не понравился?


        1. fizteh147
          18.07.2022 10:37

          Я бы скорее сказал, что это тест на то, что человек вообще продолжает читать и/или развиваться через чтение книг.

          Помимо Кнута есть много другой актуально тематической литературы (не сочтите за рекламу): Джедайские техники, Цифровой минимализм. Если человек расскажет, что читал Эгоистичный ген или Черного лебедя - это тоже будет в плюс к кругозору. Кто-то может сказать, что читает Даррела в оригинале. Я частенько перечитываю Лукьяненко или Никитина. Кажется, что пора делать очередной подход к Джедайским техникам.

          Я с вами согласен, что вопрос выглядит немного странно и вымучено. Но это если поверхностно подходить к вопросу, как мне кажется.


      1. Uze_zanyat
        16.07.2022 01:02
        +3

        Вопрос же не про "что читал", а "что последнее". Сумма технологий прочитана лет 25 назад, вместе с Эгоистичным геном, а последнее прочитанное - Пелевин Трансгуманизм...


      1. ulovka22
        17.07.2022 21:09

        Хм, а если Лем прочитан давно, и теперь есть время на комиксы?


    1. BoberMod
      15.07.2022 17:30
      +4

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

      Было такое, что у меня и интервьюера совпал вкус - сайфай, так что обменялись небольшими мнениями, и как-то напряжение и волнения сразу стало меньше.

      А про тех. литературу можно узнать спросив "откуда узнаешь что-то новое", если в ответе будут книги ¯\_(ツ)_/¯


    1. SergioShpadi
      15.07.2022 20:17
      +1

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


      1. 0xd34df00d
        16.07.2022 05:06
        +9

        Namely, Painless
        The Scientific Revolution
        Project Hail Mary
        Unqualified Reservations
        Angels Three Six


        Ваш диагноз?


        1. SergioShpadi
          16.07.2022 09:08
          +15

          Вы смогли назвать все пять. Вы приняты!


        1. vassabi
          16.07.2022 16:33

          Project Hail Mary

          неплохо, но если не читали Bobiverse , то рекомендую


        1. funca
          16.07.2022 17:49

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


          1. 0xd34df00d
            16.07.2022 18:21
            +1

            Мне интересно, что из перечисленного больше всего повлияло на вас как специалиста.

            Ничего. Четыре из этих пяти книг не имеют вообще никакого отношения к моей специальности, там научпоп/сайфай/творчество душевнобольных, а пятая (которая, собственно, упомянута первой) — ну, это просто диссер, оформленный в виде книги. Особо не повлиял, я всё ещё считаю, что intrinsically well-scoped extrinsically typed-выражение завтипизированных языков — самое оптимальное, и сделать его intrinsically typed не получится адекватно.


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

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


            Откуда вы вообще узнали про эту книгу?

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


      1. alexdevyatov
        16.07.2022 11:21
        +4

        Я не читаю книги. Что скажете на это?


        1. funca
          16.07.2022 17:28

          Как вариант: "Приведите пример задачи из своего опыта работы, которая вам казалась сложной, трудной или непонятной ещё год тому назад, а теперь вы научились решать?" "Оглядываясь назад, какие материалы по данной теме посоветуйте новичку?" "А что профессионалу?". "Что изучаете сейчас?"


          1. yerbabuena
            16.07.2022 23:04

            "Что изучаете сейчас?"

            "Молот ведьм" - как Вам такое? :) А если скажу, что читаю "Учебник партизана" 42 года, то на какие три буквы меня направите? ;)


            1. Cerberuser
              17.07.2022 09:02
              +3

              А если скажу, что читаю "Учебник партизана" 42 года, то на какие три буквы меня направите?

              Если в России - то, боюсь, на буквы "ВСО".


        1. lovermann
          16.07.2022 19:49

          Абсолютно бы нормально отнёсся. Например, человек любит копаться в словарях!


      1. ReadOnlySadUser
        16.07.2022 19:34
        +1

        • Дети дюны

        • История западной философии

        • Хочешь выжить - инвестируй

        • Библия (ветхий и новый заветы)

        • Handbook of applied cryptography

        Вот я разработчик на С++. Что вам это даст?


        1. SergioShpadi
          16.07.2022 23:52
          +5

          Среди ваших книг есть книги по финансам, криптографии, фантастике, философии, религии. Мне это даст знание того, что вы всесторонне-развитый человек с интересами в разных областях, что дает вам понимание разных систем, их различий, сходств, и ограничений. И вместо того, чтобы обсуждать особенности работы промисов в JS, я бы лучше обсудил с вами книгу Рассела. Это дало бы мне гораздо лучшее представление о ваших способностях. Я не верю, что человек может с интересом прочитать "Историю западной философии" и быть при этом плохим программистом.

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

          Неправильных ответа, в общем-то, только два:

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

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

          Хотя тут я скорее теоретик, чем практик - лидов и C-level-ов никогда не собеседовал, но слышал от CEO крупных компаний примерно то же, что тут вещаю. Ширина интересов - это тот самый пресловутый diversity. Только не в рамках компании, а в рамках мышления отдельно взятого человека.


          1. catbob
            18.07.2022 11:32

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


          1. Teamer_ol
            18.07.2022 12:32

            Ни в коем случае не буду с вами спорить, но просто интересно: если я могу вспомнить лишь 3 книги, которые начал читать относительно недавно (несколько месяцев назад) и читаю до сих пор, то это нормально?

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

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


    1. Dolios
      16.07.2022 01:10
      +3

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


      1. funca
        16.07.2022 02:16
        +2

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


        1. ReadOnlySadUser
          16.07.2022 19:37

          .


        1. sshmakov
          16.07.2022 22:20
          +1

          И строчка в резюме, не стоит забывать об этом


      1. Soo
        17.07.2022 15:07

        Мне вот непонятно, если я учился преимущественно по YouTube и StackOverflow, мне что по книгам говорить? По JS отличный учебник у Ильи Кантора, тоже онлайн. И я далеко не джун


        1. Dolios
          17.07.2022 15:08
          +2

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

          И я далеко не джун

          У меня +/-20 лет коммерческого опыта, я учусь до сих пор. Как и большинство моих коллег, бывших и настоящих.


    1. Color
      18.07.2022 13:33
      +1

      У меня один раз спрашивали (точнее нет, просили сфотографировать и прислать) наклейки на крышке ноута. Наклеек у меня не было, и по итогу меня не взяли.


  1. kai3341
    15.07.2022 18:50

    Скажем, что не так с этой функцией?

    С функцией есть один объективный "не так". Странно, что вы претендуете на профессионализм и не заметили, а для меня JS язык дополнительный


    1. yarkov
      15.07.2022 19:08
      +17

      Джентльмены подобные категоричные заявления обычно аргументируют )) В чём же объективный "не так" заключается?


      1. kai3341
        15.07.2022 20:15

        OutOfBound и arr.length - 1

        UPD: Стоямба... Нет. Всё нормально. Как удалить комментарий?


        1. 1Tiger1
          16.07.2022 22:18
          +9

          Что написано в сети - останется в сети. Живите с этим.


    1. Soo
      17.07.2022 15:12

      С функцией не так - это то, что она называется map, а эти вещи зарезервированы. Ошибки, скорее всего, не будет, зато будет путаница, где какой map


      1. megahertz
        18.07.2022 07:22

        Глобально имя map не занятно. Детали того как она экспортируется и экспортируется ли вообще отсутствуют в примере. Согласен с автором, все зависит от контекста.


      1. VictorNS
        18.07.2022 12:14
        +1

        Нет, не зарезервирована https://www.w3schools.com/js/js_reserved.asp
        Имеется метод у массива, но это не функция.

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

        BTW я бы вот навскидку в первой строчке длину массивов сверил.


  1. Moraiatw
    15.07.2022 20:39
    +9

    как я выяснил, ответ этот: «Число неизменяемо»

    Даже потерял дар речи....


  1. titbit
    15.07.2022 21:14
    +9

    От создателей «Кем себя видите через 5 лет?» :)


    1. GothicJS
      15.07.2022 21:31
      +8

      От создателей "Почему вы выбрали именно нас?" , при том, что сами пригласили тебя)


      1. anna_ovzyak
        16.07.2022 00:18
        +2

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


      1. Soo
        17.07.2022 15:15

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


    1. Germanets
      16.07.2022 00:52
      -1

      Нормальный вопрос для джуниор-манагера, который просто обязан ответить, что через 5 лет будет директором этой замечательной конторы)
      На самом деле польза может быть, но ответит на этот вопрос дай бог один из 10, реально задававшийся вопросом будущей карьеры и выстроивший план.. И да, таких лучше не брать, они ведь потом ещё и расти будут, зарплаты больше требовать, а не тихо сидеть в углу на той же ставочке..


      1. 1Tiger1
        16.07.2022 22:22

        Смотря в какую компанию хотите. Если в ту где будете работу работать в перерывах между хабром, и где во главе угла экономия - тогда да. Но так уж сложилось что в IT порядочно компаний где ценят инициативу и амбиции, а деньги вторичны. Вам решать что выбирать. А вопрос нормальный, если о нем именно поговорить, обе стороны могут понять многое друг о друге и перспективах. Да он затасканный, поэтому чаще его модифицируют.


        1. Vetenskap
          18.07.2022 10:04

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


  1. vsespb
    16.07.2022 00:04
    -1

    Сведения случайного характера
    Неясное поведение

    понять всё ли человек знает, чтобы ориентироваться в любом сложном вопросе по теме.

    Частности

    небось это никакие не частности. а проверка опыта. опытный человек так или иначе натыкался на эти "частности".

    Туманные вопросы
    Вопросы без контекста

    понять как чел размышляет


    1. Newbilius
      16.07.2022 13:37
      +4

      Ну вот вы узнали, что человек не натыкался на пяток частностей, на которые натыкались вы. А он в свою очередь наткнулся на пяток частностей, на которые уже вы не натыкались. И что это доказывает?


      1. vsespb
        16.07.2022 23:50
        -1

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


        1. Newbilius
          17.07.2022 09:54
          +3

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


          1. vsespb
            17.07.2022 22:09
            +1

            Если джуниор будет собеседовать синьора, конечно ему может показаться что это он - синьор, а кандидат - джуниор.

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


            1. 1Tiger1
              18.07.2022 10:19

              А если джуниора будет собеседовать синоьр который думает что он джун но на самом деле синьор?


            1. sshmakov
              18.07.2022 12:00
              -1

              А вот если синьор собеседует джуниора, то джуниор часто не понимает "зачем мне задают эти вопросы"

              Рассмотрим ваш пример детально

              Синьор: Что в этом коде не так?

              Джун: (смотрит код, думает)

              С: (думает - "ага, он не понимает элементарного вопроса!")

              Д: ("не понимаю, что он хочет... var вместо let? мутация массива? for of?...") Извините, могли бы вы конкретизировать контекст?

              С: (победоносно) Map - зарезервированное слово!

              Д: Ну вообще-то нет...

              С: Как нет? Вон из класса! Приходят тут джуны всякие...


    1. 1Tiger1
      16.07.2022 22:25
      +2

      "опытный человек так или иначе натыкался на эти "частности"." - ошибка субъективности. Я опытный человек, я недавно наткнулся на эти частности, значит другой опытный наткнулся на те же самые частности (и не раз раз до сих пор это помнит), а если не наткнулся то он неопытный. Не работает, возможных частностей слишком много.


  1. anna_ovzyak
    16.07.2022 00:19
    +1

    "Что едят ежики"? С серьёзным выражением лица спросили у меня на одну из вакансий системного аналитика.


    1. Adverte
      16.07.2022 03:48
      +9

      правильный ответ был "мозг собеседующего который задаёт подобные вопросы"?


      1. hello_my_name_is_dany
        16.07.2022 04:49

        ЯблОки


        1. IvanPetrof
          16.07.2022 05:49
          +4

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


        1. Dolios
          16.07.2022 09:48
          +5

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


          А в неволе едят, что дают. Жить захочешь, не так раскорячишься (с)


          1. avelor
            16.07.2022 16:09
            +3

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

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


            1. Soo
              17.07.2022 15:19

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


          1. Wan-Derer
            18.07.2022 09:56
            +2

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

            А ещё они топочут! Если в темноте/сумерках на тебя по осенней листве движется боевой йожъ, полное ощущение что на тебя валит что-то огромное! Ты его слышишь, но не видишь! И это жуттттко... :)


    1. anna_ovzyak
      16.07.2022 08:17
      +3

      Ежики хищники, ждали ответа Соответствующего, главное не яблоки)))


      1. AGhostik
        16.07.2022 09:06
        +11

        Ели мясо ёжики, пивом запивали


    1. 1Tiger1
      16.07.2022 22:39
      +4

      Вопрос либо на ширину кругозора либо на софт скилы. "Правильных" вариантов 2:

      1. Обсудить поведение ежиков, пищеварение, эволюционные особенности, методики дрессировки и их социальную структуру.

      2. Невозмутимо, плавно и незаметно перевести вопрос на особенности морения дубовой древесины в в новгородских племенах 12 века.

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

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


  1. Sancho_SP
    16.07.2022 08:43
    +3

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


    1. Norgorn
      16.07.2022 10:26
      +1

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

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


    1. 1Tiger1
      16.07.2022 22:51
      +2

      собеседование является знакомством в первую очередь. у того кто собеседует цель найти подходящего профессионально и по характеру работника (ну и по деньгам). У того кто собеседуется цель найти подходящий ему (по важным параметрам) проект, компанию, команду и все это с той ЗП которую он хочет. Две стороны узнают друг друга. Оценка дается не по 5-10-100 бальной шкале а по "хочу/не хочу" с обоих сторон, если "хочу" совпало - значит можно работать вместе.

      Кандидат который сидит и ждет экзамена, во многих случаях получит свой минусик, чисто профессиональные скилы обычно оцениваются только в компаниях которые называю галерами. Если кандидат не задает вопросы, если он целиком сфокусирован только на том что-бы "сдать экзамен", это очень тревожный звонок. Для джуна еще ладно, а вот для мидла и выше уже тревожный. Это значит что либо он стесняется/боится спрашивать, и все это выползет уже на испытательном, либо ему вообще на все плевать и он меняет деньги на задачи из жиры. И если второе еще где-то и пригодится, то первое это геморой, потеря времени и ресурсов.

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


      1. FruTb
        17.07.2022 00:27

        Хорошо что долистал. Вы вот с "языка сняли"))))


      1. Soo
        17.07.2022 15:27
        +1

        Есть такая компания, EPAM называется. Белорусская, но из-за недавных событий покинувшая российский рынок. Я их собеседование проходил раз пять, как от них самих, так и для других компаний, которые их об этом просили.

        Так вот. их собеседование - самый, что ни на есть, настоящий экзамен. Прямо по пунктам, должен рассказать что как есть. И задачки (я Angular-разработчик, но задачки были на нативный JS) тоже должен как на экзамене решить. Самые популярные задачи на отличие var (кто его вообще использует сейчас??) от let и про что является микротаской, а что - макротаской. У меня другого выбора не было, как выучить это наизусть) И на последнем собесе они выдали мне-таки оффер... но я отказался


    1. yerbabuena
      16.07.2022 23:10
      +1

      Собеседование является экзаменом далеко не в первую очередь.

      В этом месте Поднебесная смотрит на ляовая с конфуцианской улыбкой :)


  1. nivorbud
    16.07.2022 09:49
    +3

    Я с сыном-подростком сейчас стал заниматься подготовкой к ЕГЭ по тестовым заданиям. Еще несколько лет до этого, но всё же. Обратил внимание, что для решения некоторых заданий важен контекст, который не указан. Например решить уравнение типа (упрощенно):

    x^2 + sqrt(x) = 4 + sqrt(x)

    Если решать в области действительных чисел, то нужно учитывать ОДЗ и получается один корень. Если же решать в области комплексных чисел, то спокойно получаем два корня.

    А какой ответ подразумевают составители таких задач? В официальном тестовом ЕГЭ за 2022 (или 2021) я видел несколько простых примеров с комлексными числами. Значит, в старших классах эту тему всё же затрагивают?

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


    1. StjarnornasFred
      16.07.2022 15:33
      -1

      x^2 + sqrt(x) = 4 + sqrt(x)

      Если решать в области действительных чисел, то нужно учитывать ОДЗ и получается один корень

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


      1. user5000
        18.07.2022 10:29

        От радикала можно "избавиться", но это будет уже другое уравнение, а не то, которое вам задали.


    1. izogfif
      16.07.2022 19:11

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

      А разве не бесконечное (счетное) число корней? Ну там 2 * e^(N * Pi * i), где N - целое (или как там это записывается)?


      1. Cerberuser
        16.07.2022 19:21

        e^(2*pi*i) = 1, так что третий корень совпадёт с первым (и далее по кругу).


        1. 0xd34df00d
          16.07.2022 19:23
          +5

          Совпадает пропозиционально, но не дефиниционально.


          Правда, на ЕГЭ я бы про это писать не стал.


    1. KaminskyIlya
      18.07.2022 08:09

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

      Что то я запутался ребята)

      Я попробовал не сокращать sqrt(x), а, преобразовав уравнения, избавиться от радикала (возвел в квадрат обе части; вынес радикал отдельно; снова возвел). У меня получилось уравнение 8-й (ой!) степени:

      x^8-4x^5-32x^4+32x^3-64x+256=0

      а по основной теореме Алгебры (точнее следствие из нее) у него должно быть строго 8 корней. 2 действительных точно есть, осталось найти 6 комплексных.

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


      1. Alexandroppolus
        18.07.2022 08:40
        +1

        Среди этих 8 корней будет только два различных. Можно по другому решить: заменить sqrt(x) на t, получим уравнение 4 степени, 4 разных значения t, но возвращаясь к х по формуле x = t*t, снова выйдем на два разных корня.


  1. Lexicon
    16.07.2022 10:30
    +9

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

    И которым я кстати совершенно никогда не владел сам

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

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


    1. OlegZH
      16.07.2022 11:22

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

      И ещё. что Вы посоветуете кандидату в кандидаты, у которого имеются некоторые трудности с установкой нового программного обеспечения и который из-за этого имеет не так много важного опыта проб, ошибок и "выкуривания" документации? А если ещё и лет много? Навсегда забыть о трудоустройстве и всячески избегать собеседований?


      1. Lexicon
        16.07.2022 12:59
        +2

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

        Второй, если честно, я совсем не понял. Не вижу связи между ни одним из вопросов. Может перефразируете?


  1. OlegZH
    16.07.2022 11:16
    +2

    Существует ли какая-нибудь возможность узнать эффективность собеседований? Пусть, например, некто прошёл собеседование. Что случилось дальше? Сколько работников, оправдавших доверие? Сколько работников, которых "зарубили" "каверзными" вопросами на собеседовании, но которые весьма успешно работают на своих нынешних местах работы?


  1. Alexandroppolus
    16.07.2022 11:51

    от вас ждут совершенно определенного ответа (как я выяснил, ответ этот: «Число неизменяемо»)

    Когда авторы таких вопросов, заточенных под ответ, сами не знают чего-то (например, Object.freeze) - это прям особый шик, вишенка на торте.

    Скажем, что не так с этой функцией? (...далее функция, которая мутирует массив)

    Почти наверняка вопрос придумал заядлый ФП-шник. У них непереносимость такого.. Лично я поменял бы название на "mapInPlace" какое-нибудь.

    ----

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


  1. victor-homyakov
    16.07.2022 15:14
    +2

    console.log(Object.keys({ x: 0, y: 0 }).join()) — x,y или y,x? Я знаю, что при нормальных условиях ответы — x,y (в порядке добавления) ..., но спецификации нет

    Спецификация есть. Начиная примерно с ES6, порядок перечисления ключей определён в https://262.ecma-international.org/#sec-ordinaryownpropertykeys

    1. Let keys be a new empty List.

    2. For each own property key P of O such that P is an array index, in ascending numeric index order, do

      • Add P as the last element of keys.

    3. For each own property key P of O such that Type(P) is String and P is not an array index, in ascending chronological order of property creation, do

      • Add P as the last element of keys.

    4. For each own property key P of O such that Type(P) is Symbol, in ascending chronological order of property creation, do

      • Add P as the last element of keys.

    5. Return keys.

    Для истории, в спецификации ES5 порядок перечисления был implementation-specific:

    1. https://262.ecma-international.org/5.1/#sec-15.2.3.14

    Object.keys()... If an implementation defines a specific order of enumeration for the for-in statement, that same enumeration order must be used in step 5 of this algorithm.

    1. https://262.ecma-international.org/5.1/#sec-12.6.4

    The for-in Statement... The mechanics and order of enumerating the properties ... is not specified.


    1. funca
      16.07.2022 17:58

      Кстати, в JSON, откуда на практике часто приходят такие данные, порядок ключей все ещё не определен?


      1. sshmakov
        16.07.2022 18:14
        +1

        Определен как unordered


  1. victor-homyakov
    16.07.2022 16:18
    +2

    встроенные структуры данных в JS не уточняют сложность операций

    Некоторые всё-таки уточняют. Про Map и Set в спецификации есть указание по времени доступа к элементам.

    https://262.ecma-international.org/#sec-map-objects

    Maps must be implemented using either hash tables or other mechanisms that, on average, provide access times that are sublinear on the number of elements in the collection.

    https://262.ecma-international.org/#sec-set-objects

    Set objects must be implemented using either hash tables or other mechanisms that, on average, provide access times that are sublinear on the number of elements in the collection.

    В реальности получается примерно так:

      Op     Avg  Worst
      Search O(1) O(n)
      Add    O(1) O(n) - перехэширование при росте размера
      Delete O(1) O(n) - перехэширование при уменьшении
    


  1. seregamorph
    16.07.2022 18:47
    +4

    Что не так с этой функцией

    function map(arr, fn) {
      for (var i = 0; i < arr.length; i++) {
        arr[i] = fn(arr[i]);
      }
      return arr;
    }
    

    Позволю предположить. Как указано автором, функция меняет входной массив данных. Само по себе это не то чтобы плохо, проблема в том, что она одновременно меняет входной массив данных и возвращает его. Для пользователя этой функции, что не удостоверился в контракте или реализации, может создаться ложное ожидание, что раз функция возвращает массив, то он новый.
    Например, метод javascript Array sort делает ровно то же самое - изменяет исходный массив и возвращает его же как результат. IMHO, это дизайн функции ведущий к ошибкам, но здесь видимо мое мнение расходится с авторами JS (как минимум, это позволяет за-inline-ить вызов в цепочке вызовов).


    1. Moraiatw
      17.07.2022 20:27

      Разве в функцию передается не копия массива?


      1. Alexandroppolus
        17.07.2022 22:40
        +1

        Нет, конечно. В js не настолько всё плохо )


    1. megahertz
      18.07.2022 07:46

      Пожалуй, самая логичная проблема в функции. Что касается Array.prototype.sort - наверное пошли на это для удобства. Чтобы можно было и сортировать на месте экономя память, и method chaining работал


  1. dim2r
    17.07.2022 02:55
    +1

    недавний вопрос на собесе

    • как запускается программа?

    из серии "как программировать?" или "как жить?"


    1. nullptr
      17.07.2022 17:49
      +1

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


  1. CrocodileRed
    17.07.2022 12:01
    +1

    Любопытно было бы узнать какое автор имеет образование.


  1. zaiats_2k
    17.07.2022 15:28
    +1

    Какова цель подобных статей?

    Научить плохих работодателей мимикрировать под хороших? Зачем?

    Научить кандидатов пробиваться через плохие вопросы в плохие компании? Зачем?

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


  1. AlexunKo
    17.07.2022 16:32
    +3

    Необходимо предубеждение - "мне на все пофиг", и аналогично смотреть на интервьюера. Тогда никаких сюрпризов не случится.


  1. pavelsc
    18.07.2022 00:17
    +1

    А я вот все жду статью от "молодых богов": встал и ушел с собеседования в фаанг когда услышал вопрос по типу "почему люки круглые".

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

    Или на вопрос рекрутерши из Майкрософт кем вы видите себя через 5 лет ответил "Твоим отчимом".

    Так что не стоит выделываться, уверен что за оффер 600к будете не то, что на салфетке package.json описывать, ещё и docker-compose запилите под это дело с вебсервером бонусом ????


    1. Fen1kz
      18.07.2022 01:55
      +3

      Без обид, но эту аргументацию я постоянно слышу лишь от шарашкоконтор с вакансиями по 90к руб/мес


      — Да мне пофиг на форму ваших люков, вам работник нужен?


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




      Если серьезно, то тут все понятно, это нормальный здоровый капитализм. Либо предлагай оффер на 600к и я тебе package.json с версиями на салфетке напишу, либо предлагай рыночную, но и веди себя адекватно. Ну, это… нормально же!?


      1. BugM
        18.07.2022 02:18

        На 600к в Москве есть достаточно вакансий. Точно напишите?

        Задачку на алгоритмы на салфетке напишите? А гугл диск на второй салфетке спроектируете?

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


        1. 0xd34df00d
          18.07.2022 04:03
          +2

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

          О, эт моя любимая тема! Вам на каком уровне? Представление в виде tagged union, или дешугаринг в System F в виде Boehm-Berarducci encoding, или связь со всякими Scott encoding, или обобщение на GADT?


          1. BugM
            18.07.2022 04:49
            +2

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

            На уровне тип-сумм мне хватит. Я дальше в своих знаниях уже не уверен. Пусть мне кто-то расскажет как это написать в прод на ужасно неподходящем языке так чтобы польза была.


        1. megahertz
          18.07.2022 07:54
          +4

          Полагаю, разговор о $600к/год а не о 600кр/мес


          1. BugM
            18.07.2022 10:47

            Это уровень руководителей faang’a. Мне кажется что те кого туда могут взять об этом знают заранее.


    1. JohnHenry89
      18.07.2022 03:13
      +1

      Пока только комментарий от "молодого бога":

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


    1. 0xd34df00d
      18.07.2022 04:00
      +1

      Не принял оффер от всяких фаангов, потому что там существенно осложняют пиление личных проектов в личное время.


    1. yerbabuena
      18.07.2022 08:25
      +1

      Так что не стоит выделываться

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


  1. JohnHenry89
    18.07.2022 03:06
    +1

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

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


  1. lxsmkv
    18.07.2022 03:40
    +1

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


  1. f0rk
    18.07.2022 08:08
    +1

    Разумно предположить, что доступ к объекту obj[key] займет O(1), но на деле это определяется многими факторами — размером объекта, частотой создания / удаления etc...

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


    1. sshmakov
      18.07.2022 10:05

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

      Кандидат может не знать теорию, но справляться с задачами на должном уровне?


      1. f0rk
        18.07.2022 11:43

        Кандидат может не знать теорию, но справляться с задачами на должном уровне?

        Может, если задачи несложные.


  1. mutantsan
    18.07.2022 10:38
    +1

    Я когда читаю темы о собесах, мне становится немного страшно. Дело в том, что я прошёл всего 2 собеседования и с первого мне перезвонили довольно скоро и пригласили на работу. К собеседованиям я готовился изучая теоретическую базу языка и готов был ответить на многие каверзные вопросы. Через пару недель будет 3 года, как я тут работаю и я не помню практически ничего. Боюсь, что на следующем собеседовании меня ждёт провал.


    1. yerbabuena
      18.07.2022 11:12

      Боюсь, что на следующем собеседовании меня ждёт провал.

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


  1. embedded_bat
    18.07.2022 10:39
    +1

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


  1. wnder
    18.07.2022 10:40
    +1

    В одном собеседовании спросили "Что означает число в top в третьей строке сверху четвертое слева. Причем ПК с Линуксом под рукой не было.

    Не взяли.

    Ушел с мыслью "что за люди работают в этой компании".

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

    На третьем - я тут уже вел - собеседовании кандидат даже помог в решении проблемы. Тут кстати вот поди самое забавное.

    Сидим общаемся, парень устраивается на джуна админа. Я задаю вопросы разного типа. Вдруг в мыле забегает один товарищ и скороговоркой жалуется на профиль в AD своего сотрудника и документы. Заворачиваю, показав на кандидата - "зайду, посмотрю, не переживай".

    Кандидат так - "Хм, а вы вот так и так сделайте и он свой документ найдет."

    Я же на самом деле не вник в проблему, вежливо просто послал нарушителя планов, а тут подумал и... "А хорошая идея!". Перезваниваю товарищу. Советую (кстати - сработало). Возвращаюсь к интервью.

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

    Мораль? А вот хрен знает что с этим всем делать, особенно когда вот ты уже опытный чувак, сам сидишь на интервью, а тебя по привычке собеседуют на вакансию, в которой разом программист, девопс, сисадмин, питон разработчик и профессиональный траблшутер 24/7.

    Такие вот интервью, бывает и с пользой. :)


  1. Mr_Ell
    18.07.2022 10:41

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


    1. lxsmkv
      18.07.2022 14:43

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


  1. Vit2517
    18.07.2022 14:42

    Терпеть не могу собеседования и работу в реале. Удаленка - наше все)