Добрий день любий друже. Під впливом свіжих вражень вирішив описати одну спробу зарекрутити такого мегапацана, як я, однією київською конторою. Назву контори я опускаю свідомо.
Отже, одного вечора до мене зателефонувала рекрутер, і спитала чи не хочу я поміняти роботу. Я чесно сказав, що не хочу, що її абсолютно не засмутило, і вона сказала, що я обов"язково маю поспілкуватись з їх спеціалістами. В процесі ще й з"ясувалось, що вони в Києві, а я у Львові, київської візи я не маю, і їхати туди не збираюсь, але це її здається лише стимулювало до подальшого вербування. Отже, врешті решт я погодився на інтервью, чому б ні - це цікаво і корисно. Тим більше, я сам провів не одну співбесіду, і знаю, що гарна співбесіда - це далеко не проста справа. А тут можна в когось повчитись !
Я погодився, співбесіду успішно завалив, і ось по гарячих слідах вирішив описати враження.
Отже, на тему - що робив, де працював, який досвід ми витратили секунд 30, а далі почались глибокі технічні питання, багато з яких поставили мене в такий самий глибокий тупічок-с.
Перша і найбільша група питань - пайтон.
- Чим ООП в пайтоні відрізняється від ООП в С++. По-перше, я вже 7 років не пишу на С++, по-друге, чи потрібно мені це знати ? Якщо потрібно, то навіщо ? Крім банальностей на кшалт умовної приватності, duck typing я нічого і не згадав.
- Як відбувається attributes resolution в пайтоні у випадку множинного наслідування зокрема ? Я колись стикався з цим, тоді розібрався, і забув. Не згадав :-(
- Що таке контексти в пайтоні ? Читав, бачив код, писав щось мінімальне, пам"ятав про оператор "with", решта - забув.
- Яка складність алгоритма сортування, який юзає пайтонінська функція .sort() ? Гмм... Пам"ятаю колись дискусію в кабінеті - стало цікаво - погуглили - розібрались. Забув.
- Генератори. причому пояснення на рівні визначення генераторів і їх задач, сфери застосування інтервьюверів не задовільнило, почали допитуватись про деталі (generator.throw і т.і.). Чесно - колись читав, забув.
- What is Stackless Python ? Why "stackless" ? Колись з цим детально розібрався, статтю забабахав навіть, через теоретичність знань і брак застосування - забув.
- Multi-threading in Python. Одне з питань - чим Lock відрізняється від RLock. Не знаю, і не впевнений що знав. Колись спеціально читав по багатозадачності штудіював терміни, тут - не згадав, терміни забув через брак практичного застосування.
П.С.
Думав що знаю Python :-)
СУБД:
Типи індексів в PostgreSQL ? Специфічні до Постгре. Йооопть, не знав ніколи, не претендував.
Алгоритми:
- Классика - що таке хеш-таблиця, колізія хешів, яка складність алгоритмів сортування ? Більш-менш розповів.
- Які крім пузиря є алгоритми сортування ?
Спеціально читав і слухав, через брак застосування і теоретичність знань - забув. - ...
Резюмуючи вищенаведені запитання, можна побачити, що більшість питань - це речі, які я колись знав. Колись, стикнувшись з реальною ситуацією, задачею, просто почувши незнайомий термін, я з цим розібрався - прочитав, прослухав, пощупав. Пройшов час, і я це забув. Бо це не юзається щодня, більшість цих речей є цікавими, класними, але далеко не кожного дня середній пітон-програміст, чи просто програміст, з ними стикається. І далеко не кожний взагалі стикається.
З іншого боку, чи дають ці питання можливість інтервьюверам зробити висновки про якість програміста - його "пруху", вміння програмувати, досвід, і інші ключові речі. Навряд.
Інтервью закінчилось. Першим бажанням було згадати питання, і читати, читати, читати. Коли трохи вистиг, подумав - стоп, так я ж уже це читав. І забув. Наступного разу, мабуть, почитаю вже безпосередньо перед інтервью, і поки не забув - здам зачьот :-)
P.S.
За 2 дні рекрутер повідомила телефоном, що я пройшов на позицію мідла, що є дуже приємно. Хороший Євген, хороший :-)
No comments:
Post a Comment