Вплив ReSharper на кодування інтерв'ю [закрито]


18

Кожен, хто використовував R # або CodeRush, знає, як швидко ви можете скласти прості конструкції (і складні рефактори) за допомогою простого клавіатурного комбінації. Однак чи викликають ці плагіни продуктивності помилкову оцінку здатності під час інтерв'ю?

Частина бути продуктивним письменником коду (і справити гарне перше враження в інтерв'ю) - це написання хорошого коду - швидко.

Якби у мене було два кандидати:

  1. Не використовує плагіни. Вона думає про проблему, сідає за біржовим IDE на інтерв'ю-ПК, який виглядає точно так само, як її і набирає код через хвилину-дві, як зазвичай. Зроблено. Перехід.

  2. Використовує плагіни. Він замислюється над проблемою, сідає за біржовим IDE на інтерв'ю з ПК та розуміє, що "fe + tab" більше не пише цикл foreach автоматично, і всі ярлики пропадають. Потім він дзижчить по клавіатурі, натискаючи на свої звичайні гарячі клавіші і вискакуючи дивні вікна та роздуваючись. На це йому знадобиться 3 хвилини, щоб написати, що зазвичай займає 30 секунд. Зроблено. Виглядало так, ніби вони не знали свого часу навколо ІДЕ. Повинно бути новим для цього IDE і, таким чином, не мати багато досвіду з ним чи, можливо, мовою. Передайте, але біля їх назви знак "meh".

Як ви вважаєте, як ви працюєте із плагінами під час інтерв'ю як інтерв'юер чи інтерв'юер? Які найкращі практики отримати те, що кандидат знає насправді? Можуть бути кандидати, які не розуміють код, і використовують R # як милицю. Також можуть бути кандидати, які знають код і виходять, і використовують R #, тому що це просто швидше, ніж вбудовані в VS або Eclipse шаблони. Краще просто не використовувати IDE взагалі? Нехай вони приносять свій ПК? Інші?


4
Я голосую за те, щоб закрити це питання поза темою, оскільки це питання про те, як добре пройти співбесіду, а це поза темою для кожного довідкового центру . Однак це питання має тематичний компонент, тобто " як такі інструменти, як ReSharper, впливають на здатність кодувати без такого інструмента "), але редагування цього питання є надто агресивним для редагування та може визнати недійсними відповіді.
durron597

Якби мені довелося написати демо-код у стандартному IDE, він би :wскрізь був заповнений випадковими позначками.
LindaJeanne

Відповіді:


31

Я був нещодавно кандидатом в інтерв'ю . Мені дали установку IDE на ваніль на ПК з нестандартною клавіатурою та незнайомою рамкою тестування, і мене попросили написати простий додаток Fizz-Buzz з одиничними тестами. Я розпушив. Я, мабуть, виглядав як повний ноб, спотикаючись у темряві, намагаючись зламати код. Потрібно сказати, що мені не запропонували цю посаду.

Що я дізнався, це те, що я дуже сильно покладаюся на свої плагіни. Вони не просто набирають код швидше - вони насправді формують те, як я думаю про код, і про те, як я займаюся кодуванням. Наприклад, я дуже ретельно продумав імена змінних, тому що вони можуть бути болем змінити після факту. Тепер, навпаки, я просто наполовину здогадуюсь про те, як я буду використовувати змінну, зламати якийсь код, дозволити змінній сказати мені, що це таке, а потім натисніть Refactor-> Перейменувати, щоб викликати це щось більш підходяще .

Чи це робить мене менш здібним кандидатом? У чомусь, я думаю, це так і є . Хтось, хто може написати код у Блокноті та його компілювати та запустити правильно, має певні переваги перед тим, як я, кому потрібні всі благи IDE, які він може отримати. З цієї точки зору я прекрасно розумію, чому будь-яка компанія вирішила б не наймати інструментарій, як я.

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

Цікаво, що у мене було ще одне інтерв'ю пару тижнів тому. Слідуючи моєму попередньому досвіду, я сформулював питання про додаткові інструменти чи бюджет на їх придбання. Дізнавшись про те, що не було жодної причини, я відмовився від (досить щедрої) пропозиції, яку вони зробили для мене .

Отже, перефразовуючи Грурчо, " я б не приєднувався до жодної компанії, яка б мала когось, як я, як працівника ".

Якщо тільки вони не дозволять мені використовувати ReSharper, все одно.


2
Коли я беруть інтерв'ю з людьми, я змушую їх писати код на аркуші чистого паперу. Це не повинно бути красивим, і його не потрібно компілювати, але воно має нагадувати мову перекладу. Я не шукаю робочого продукту; те, що я шукаю, - це думка; Чи може опитаний думати про проблеми та вирішувати їх за допомогою коду?
Роберт Харві

До речі, це має бути приємно, щоб можна було відмовитись від привабливих пропозицій в умовах сучасного економічного клімату.
Роберт Харві

12

Нехай вони ( кандидати, тобто ) використовують все, що хочуть. Старий, побудуйте Wal-Mart з швейцарським армійським ножем лише для того, щоб показати, що ви можете підійти, такий старий. Вони збираються використовувати все, що потрібно для своєї щоденної роботи (ну, я певно сподіваюся на це), тому нехай вони використовують все, що хочуть в інтерв'ю. Кінцевий результат - це все, що має значення. І я куди більше з радістю найму кандидата, який знає, які інструменти доступні на ринку та як їх ефективно використовувати, - того, хто все це робить вручну. Це вбивця.

ps Як приклад, подумайте про Vim (або Emacs) - чи хотіли б ви використовувати його без будь-яких налаштованих налаштувань, плагінів тощо?


+1 Крім того, якщо ваше завдання кодування насправді лише перевіряє, чи знають вони про foreach, я сумніваюся, наскільки це корисно насправді (навіть щось подібне на FizzBuzz дивиться на це набагато більше, ніж на це). Я балакав з кимось із спільноти Java, і він сказав, що ви можете сказати, хто хороші кодери. Не впевнений, що на 100% точний - але ви
розумієте

1
Змагання кандидата написати код на дошці на співбесіді ДУЖЕ показово в їх здатності програмувати. Як інтерв'ю, ви приймаєте судження про те, яку підтримку потрібно цій людині, щоб виконати роль.
Майкл Шоу

8

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

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

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

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


1

Це одна з причин, коли я прошу людей вводити код на дошці, а не в IDE. Він нівелює ігрове поле. І люди кажуть: "о, дорогий, переробник зазвичай справляється з цим". Чорт, вбудовані фрагменти обробляють петлі і таке, чого дошка не може вам дати. У такому випадку сказати щось на кшталт "Я сподіваюся, що пунктуація є саме там; я - хлопець R #" - це, мабуть, все, що вам потрібно, щоб утримати мене від проблем із синтаксисом.

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


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

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

1

Чудове запитання BTW - я часто замислювався над цим.

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

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

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

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

ReSharper - дивовижне доповнення до Visual Studio. У моїй теперішній компанії не було ReSharper, коли мене брали на співбесіду, - але я був настільки євангельський щодо цього в своєму інтерв'ю, що вони купили мені копію, коли я прийняв цю посаду, а також одну розробнику, яка опитала мене. Зараз він розгортається по всій компанії. Хороші інструменти окупаються самі за найкоротший час.

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


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

@moz - Цілком погоджуюся, що ви повинні сказати роботодавцю, що вони не отримають максимум користі від вас, не вкладаючи в інструменти. Я б пішов на крок далі і змусив їх взяти потрібні інструменти. Ймовірно, не буде дуже цікаво працювати над ними, якщо вони цього не зроблять. Кожен раз, коли ви щось вручну рефакторні, ви будете лаяти їх за те, що не оцінюєте достатньо часу. Працюючи десь посередньо, також може вплинути на вашу майбутню заробіток. Це може стати цікавим, якщо ви виконаєте будь-яке парне програмування, якщо два розробника мають різні конфігурації ярликів. Я намагаюся якомога більше дотримуватися стандартної конфігурації.
sheikhjabootie
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.