середа, 2 грудня 2009 р.

Новий співробітник

 

Есть моск? Поможем научиться и рубить бабло!

 
  реклама devclub.com.ua

З великими труднощами, але знайшли-таки нового програміста. А розказати хочу не стільки про нього, а через що йому довелося пройти, щоб приєднатися до української команди компанії Visonic.

За два роки нам вже тричі доводилося когось шукати для розробки на C++ для GNU/Linux, тому цього разу начальник сказав, що все спростимо. Щоб не гаяти час, я мав проводити телефонні співбесіди і вирішувати, чи витрачати на кандидата час. Запрошеним я мав запропонувати набір простих задач десь на півгодини, самому не відволікаючись від звичної роботи. А вже обрана п’ятірка могла потрапити на справжню багатообіцяючу співбесіду до начальника.

Але це було щось із чимось! Тільки дали оголошення, відразу ж посипались тонни відгуків, кожен кращий від іншого. До слова, всього їх отримали ми десь за тридцяток. Як почав я телефонувати, довелося спуститися на грішну українську землю…

Спершу перепитую, чи справді готові програмувати на C++ для Linux (кілька швидко одумалися). Потім різношерстий набір:

  • Скільки 28?
  • Як записується в signed int число −1?
  • Чи може статична функція класу С++ бути віртуальною?
  • Що робить функція стандартної бібліотеки С++ remove_if (adjacent_find, equal)?
  • Які є примітиви синхронізації потоків posix?

Когось запитував більше, когось менше, головне було зрозуміти, чи варто продовжувати. Я цілився на, можливо, не дуже досвідчених, але обов’язково кмітливих претендентів. Головне, щоб роботу робили, а не знали багато розумних слів і загинали пальці…

Напевне, з півтора десятка ми таки запросили в гості практичну частину. І знову почалося розчарування. Задачки були дуже прості, просто візьми й відразу ж скажи відповідь, можливо, крім однієї. Та де там! Тільки двоє спромоглися розв’язати майже все.

Tasks

Висновки:

  • Робота мисливців за головами вкрай непроста, особливо, як ті голови ще треба знайти.

  • Розумні програмісти десь давно працюють, а в постійному пошуку невдахи.

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

2 коментарі:

  1. До речі, перше завдання (bit_count) виявляється досить розповсюдженим - мені таке вже траплялося. Методів його реалізації більше ніж здається на перший погляд - можна робити по словнику (сума кількості бітів в кожному байті чи ніблі), можна використовувати інструкції SSE4 (POPCNT), а можна в неті нарити хитрі алгоритми з бінарними масками (хоча запам'ятати їх я не зпромігся).

    ВідповістиВидалити
  2. Відверто, і я екзотичних рішень не пригадав би. Аби цикл хто написав, то вже було б добре.

    От що справді добре в таких задачах, що можна рішення довго обговорювати (а як швидше? а як компактніше? тощо).

    ВідповістиВидалити