Яке ваше улюблене запитання про інтерв'ю? [зачинено]


21

Яке питання ви вважаєте особливо цінним при опитуванні розробників програмного забезпечення? Що це за питання, яке зробило його особливо корисним?

Я шукаю конкретне запитання, яке ви хочете задати, а не просто підхід до інтерв'ю, як "змусити їх написати код".


2
Питання - як у фразовому вираженні - не конструктивне, але має кілька хороших відповідей. Перефразовуйте питання, щоб відповідати найкращим відповідям, і я порекомендую його повторно відкрити.
ChrisF

@ChrisF: Я перефразував, щоб спробувати отримати трохи більше "обміну досвідом" та "запитання, чому", що також повинно вражати більше "запрошує довші відповіді". Повідомте мене, чи потребує подальшого перегляду.
Тім Гудмен

так краще!
ChrisF

Дивлячись на запитання та відповіді зараз, він все ще відчуває себе досить не конструктивним. Схоже, жодна з відповідей не містить "чому" і лише перераховувала питання.
Адам Лір

Відповіді:



22

Це трохи специфічно для мого сценарію, але я вважаю, що це було велике питання:

Отже, ви кажете тут, що ніколи раніше не торкалися C # або .NET, правда? Гаразд, ось ось робоча станція. З'ясуйте, як написати програму, яка запитує цю БД тут, і надрукує список Клієнтів із їхніми замовленнями, відсортованими за іменем клієнта. Ви можете використовувати будь-який ресурс, який хочете.

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


це було до існування StackOverflow?
eds

1
Е, хіба це не має бути питанням, яке ви хочете задати?
Paddyslacker

8
+1, це ідеальне питання. Якщо вони не зможуть з’ясувати основні мовні конструкції з Google, їх нічого не врятує.
Джош К

Мені це подобається, це показує, наскільки добре вони можуть підібрати мову програмування, яку ніколи не використовували. Я можу вкрасти це для моїх запитань про інтерв'ю :)
Річард

1
Здається безглуздим, кожен може скопіювати і вставити скажений .net-код прямо з msdn.
dotjoe

15

Це не питання кодування, а поведінкове:

Скажіть мені про час, коли ви просто не змогли завершити всю свою роботу вчасно, щоб виконати термін. Що ти робив? Яким був результат?


3
Чому це гарне запитання? Мені здається безглуздим
Джо Філіпс,

9
Справа в тому, що від відповіді розробників я отримую багато інформації. По-перше, якщо вони не зізнаються в цій ситуації, коли-небудь з ними траплялося, то вони або самі себе обманюють, або не мають досвіду реальних проектів. По-друге, якщо вони не говорять про те, як вони повідомили б цю проблему колективу, а натомість просто говорять про те, наскільки важко вони б працювали над її вирішенням, я не хочу їх наймати. Погана комунікація є причиною більшості проблем, які я бачу на проектах. Я хочу найняти активних комунікаторів.
Paddyslacker

3
Я задаю подібне, більш загальне запитання ("скажіть мені про час, коли щось пішло не так, і що ви зробили у відповідь ...") Дуже відкрито, і все ж у мене один респондент клявся вгору і вниз, що ніколи нічого не було пішли на нього не так. Потрібно сказати, що я не рекомендував його в оренду.
Алекс Фейнман

13

Як ви потрапили в програмування?

Хороший спосіб дізнатися, чи є у людини пристрасть до програмування та розбиття льоду.


11

Під час інтерв'ю хто - то , хто стверджує , щоб мати нетривіальне кількість досвіду Java, я питаю їх про hashcode()та equals()і відносинах між ними. Набути значного досвіду на Java не вдається, не усвідомлюючи потенційних підводних каменів, і хтось, хто не знає проблеми, додасть у мій проект важко знайдені помилки.

Я також запитаю про ArrayListі LinkedListі відносні плюси і мінуси. Це, мабуть, сподівається довести, що вони, принаймні, усвідомлюють і думають про наслідки для коду, який вони пишуть.

Мені також подобається змусити їх висловити думку з якоїсь технічної теми (корисність чи інше Maven, перевірений порівняно з неперевіреними винятками тощо), а потім зіграти захисника чорта, щоб побачити, наскільки добре вони можуть аргументувати свою думку.


+1 Мені подобаються ArrayList та LinkedList. Я бачив безліч коментарів щодо ТА про людей, які говорять про те, що ArrayLists слід скасувати, але я можу придумати безліч застосувань там, де вони кращі, ніж LinkedLists
Evan Plaice

ЛОЛ! Одного разу два інтерв'юери запитали мене про різницю між списком і картою. Я наділив їх таким здивованим поглядом, вони насправді вибачились (а потім я відповів на їхнє питання, і ми, звичайно, продовжили співбесіду).
Хіла

6

"Яку останню (найкращу) технічну книгу ви прочитали?"

або, загалом,:

"Як ви оновлюєте свої знання?"

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

Відповідь на коментар :

Якщо ви хочете, ви можете порушити мене, але це одне з моїх улюблених питань інтерв'ю. Блоги, wikipedia, SO - все це чудові джерела для останніх новин високих технологій. Але я не думаю, що ти можеш вивчати по-справжньому складні предмети (як речі, які ти знайдеш у книгах Кнут) у повній глибині, читаючи блоги.

Якщо мені доведеться вибирати між двома розробниками, де один виявляє бажання вивчати нові складні предмети, а другий - ні, я найму перший. Навіть якщо він чи вона хоче більше грошей. Це окупиться в перспективі.


-1. Я рідко відкриваю технічні книги, але знаю, що таке TTD і знаю деякі зразки дизайну. Я дізнався набагато більше з SO (наприклад, що є фабричним малюнком) та з блогів Джона Скіта та інших професіоналів, ніж я б дізнався з посередньої книги. Жодна з книг, які я бачив, не пояснила, наприклад, чому перевірки FxCop і StyleCop є настільки важливими для написання вихідного коду походження, який можна використовувати повторно (а також не згадувати ці інструменти).
Арсеній Муренко

3
+1 Ви можете багато чого навчитися з онлайн-статей та блогів, але навіть незважаючи на те, що читати технічні книги, я маю на увазі відсутність ініціативи та посередності.
Данк

5

Поверніть цей пов'язаний список. Тепер зробіть це в лінійний час. Тепер зробіть це у лінійному часі та постійному просторі.


23
MyList.reverse ()
Джо Філіпс,

5

Ви вважаєте себе щасливою людиною?

Я прочитав це в інтерв'ю одного з членів-засновників Bruel & Kjaer, і це вразило мене. Успішні люди з великою ймовірністю вважають себе щасливчиками. Вони сприймають невдачі як можливості вдосконалитись і прагнуть ділитися своїми успіхами (удачею) з оточуючими людьми - удачі приносять більше удачі. *

Люди, які вважають себе нещасливими, швидше за все, будуть поганим яблуком у вашій команді.

* У цьому контексті удачу слід читати як можливість підготовки зустрічі , а не конюшину з чотирьох листочків.


1
+1 Я хотів би підтвердити це ще кілька разів.
окудо

Колись Наполеон сказав: "Дай мені полководців, яким пощастило!"
Захарій К

4

Той, який завжди працював для мене ...

"Розкажіть про свої попередні проекти" .

А потім використовуйте їх відповіді як стрибок, щоб запитати їх про їх роль у проектах та чому вони приймали певні рішення. Замість того, щоб робити інтерв'ю в SAT, я просто маю з ними розмову. Цього завжди було більш ніж достатньо, щоб оцінити, чи підходить розробник на посаду.

Я лише один раз був найнятий на роботу, де я вже знав мову, якою я користуюся, тому специфічні питання, пов'язані з мовою, не мають для мене великої цінності. Я також особисто не сильно піклуюсь про синтаксичні дрібниці ( як би ти робив сорти цукерки з бавовни, потрапляючи в пастку, забиту голодними Зебрами? ) Та запитань у хатчі, тому я ніколи не задаю такого питання.


+1. Я прошу і цього. Але іноді важко дізнатися, якою була функція кандидата в проекті (керівник проекту? Головний розробник? Розробник технічного обслуговування? Оператор кавоварки?), Особливо коли вони працювали над великим проектом з багатьма людьми.
nikie

2
Якби ви могли мати будь-яку роботу у світі, що б це було?

Я шукаю лише одне: серйозну спробу відповісти на це. Єдина неправильна відповідь на це, так що смійтесь і скажіть інтерв'юеру, що це найбільш клішене питання інтерв'ю у світі. (Я не проголосував за наймання).

Це дійсно налаштоване моє улюблене запитання:

Якщо ви хочете бути [Рок-зіркою], чому ви подаєте заявку на посаду [Інженер з розвитку Інтернету III] тут, у [HugeCorp]?

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

Я також брехав про те, що на перше питання не було неправильної відповіді. Якщо ви не берете інтерв'ю для якоїсь абсолютно дивовижної роботи мрії, то робота, яку вони беруть на співбесіду, - це неправильна відповідь. А якщо ви берете співбесіду на роботу мрії та її ще не маєте, то слід запитати себе, чому ви не претендуєте на неї.


"І якщо ви берете співбесіду на роботу мрії та її ще не маєте, вам слід запитати себе, чому ви не претендуєте на неї". - Звучить як "проклятий, якщо ти це робиш, проклятий, якщо не робиш", особливо якщо ти ставишся до відповіді так, як описуєш. Якщо хтось має на увазі роботу з мрією, можливо, вони не відчувають, що вони готові її взяти на себе ще, і їм потрібно більше досвіду того, що вони можуть дізнатися у вашій компанії. Навіщо це проти них?
Марк Фрідман

4
-1 Я відхилив пропозиції роботи від компаній, де люди задавали такі дурні абсолютно нерелевантні питання, як ці. # 1 Це не має нічого спільного з роботою або тим, як ви б виконували №2. Замість того, щоб опитувати людину, інтерв'юер намагається показати, наскільки вони розумніші за співбесідника, обманувши їх, і повірте, їхня зарозумілість зустрічається досить сильно # 3 Я не думаю, що мені хотілося б працювати з pr @ # k $, які задають такі питання на співбесіді, якщо мені це не подобалося в інтерв'ю. Запитання щодо пива - це вже інша історія.
Данк

@Dunk: Ви маєте рацію, хитрі питання говорять більше про інтерв'юера, ніж про співбесідника. Але розпитувати про цілі та побажання людини взагалі має сенс. Ви хочете, щоб ваші співробітники були задоволені своєю роботою (нещасні люди не продуктивні), тому ви хочете знати, чи є у вас правильна робота для них.
nikie

@ Донка, оскільки клієнти, з якими я маю щоденно задавати питання про кліше, і часто повторюють одні й ті самі дурні помилки, таке питання, як це, також допомагає самостійно вибрати тип людей, які не можуть мати справу з клієнтами на моїй роботі. Перевага полягає в тому, що робота платить за компенсацію за те, що потрібно терпіти таку поведінку. Тож у цьому сенсі це справді питання префекта.
Шемнон

@Mark Freedman - я не проти цього. Це дає їм можливість бути чесними та прямими щодо свого кар’єрного шляху. Якщо опитуваний вважає, що вони "прокляті, якщо вони це роблять, і прокляті, якщо цього не роблять", робота не для них. Якщо ви не бажаєте стирчати шию чесною відповіддю, це вже одна позначка.
Шемнон

2

Роблячи інтерв'ю c #, я люблю запитати: "Як ви обробляєте помилки в методі"? Якщо я отримаю гідну відповідь на це питання, я запитую "Як зробити / чи налаштували б обробку помилок у веб-програмі?"

Мене завжди дивує, скільки розробників не має проблем з першим питанням і не має жодної підказки щодо другого. Я навіть брав інтерв’ю у багатьох, хто не міг описати, як помилки обробляються в їхньому поточному проекті.


2

Щось на зразок цього:

помножити значення на 7 без використання *, /і +операцій. :)


4
Чи потрібна ваша кодова база знань про подвійне скручування або це просто оцінити інтерес до дрібнистих деталей?
Пітер Тейлор

2
Зауважте, він не сказав "чи"
Бен Л

1
@Ben, я думаю , ви просто кинув логічну бомбу в люк -: /
ocodo

2
Чи не просто (x << 3) - x?
користувач13278

1
Або навіть простіше:x -(-x) - (-x) -(-x) - (-x) -(-x) - (-x)
nikie

1

Схожий на Девіда, але трохи інший:

Погляньте на брудний фактичний виробничий код з попередньої версії, який ми згодом виправили та вдосконалили. Скажи мені, що це робить. Скажіть, де проблеми (правильність та стиль). Скажіть, як би ви це виправили та вдосконалили.

Це допомагає розрізнити людей, які можуть просто написати новий код, і людей, які можуть впоратися з реальністю застарілих кодових баз.


0

багато років тому мене запитали різницю між регулярними виразами / a * / та / a *? /

Я особисто схильний задавати кілька питань щодо рекурсії.


1
Чи ?позначає жадібний чи нуль чи один ? Я бачив обидва синтаксиси.
Пол Натан

1
Який діалект ?.

Це було perl5, це було також близько 11 років тому. Так так, це було жадібно проти не жадібно.
Захарій К

0

Я здивований кількістю невдалих відповідей на це питання:

Як би ви шукали предмет у несортованому списку?


Це досить глибоке питання: як визначається відповідність? чи знаєте ви про часткове замовлення у списку? Що це за список? Чи можна сортувати елементи? Наскільки великий список? Яка відносна обчислювальна вартість порівняння та перевірки на відповідність? Різні відповіді на ці запитання можуть змінити оптимальний підхід .....
mikera

Як часто цей пошук буде відбуватися? Чи може це бути вузьким місцем для продуктивності?
Justsalt

WTF, хлопці. Почніть з першого чи останнього пункту, порівняйте, якщо не збіг, перейдіть до наступного. Питання лише в тому: чи нас хвилює кілька матчів чи ми порушуємо пошук на першій відповідності? Якщо ви хочете дати деяке розуміння, ви можете додати: Для пов'язаних списків це не має значення, але для індексованих списків, якщо я також хочу витягувати збіги, я перейду список у зворотному порядку, тому мені не потрібно оновлювати оновлення індекс поза умовою циклу.
NotGaeL

0

Моє улюблене питання:

(Імовірно, у поєднанні Java / C # та псевдокоду)

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


Це призводить до занадто багато питань роз'яснення. Чи справедливо використовувати лише дві хеш-таблиці або хеш-таблицю та список масивів: Таку, яка містить впорядкування, та одну для проведення замовлення? Чи має бути можливість видаляти речі? (Це робить дещо складніше.) Якщо значення оновлюється, чи вважається це повторним додаванням?
dimimcha

@dsimcha, хороший момент. У мене є 20-30 хвилин для розмови, і я починаю з: Будь ласка, не соромтеся просити роз'яснення в будь-який момент. Якщо ви відчуваєте, що ви застрягли, я би радий надати підказку або направити вас у правильному напрямку. Якщо людина все ще крутить колеса, то я б сказав, що не розуміє структури даних. Що стосується уточнення того, чого я хочу - я б швидше залишив це відкрите і взяв би його в різних напрямках.
Робота
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.