Оценивают ли интервьюеры вас по языку, который вы выбрали для проверки кода?

Я только что получил вызов кода от компании, в которую я подал заявку.

Вызов кода дает вам возможность выбрать один из множества языков. Я знаю, что Python будет самым простым, но мне интересно, следует ли мне выбрать C++ или другой язык, чтобы не было очевидно, что я выбираю «самый простой» язык в списке? Потому что я могу придумать множество вопросов, которые НАМНОГО проще решить на Python.

Действительно ли интервьюеры принимают во внимание такие вещи? Или я преувеличиваю это? Что я должен учитывать при выборе инструмента для такого интервью?

Я думаю, что было бы очень, очень странно дать список языков, а затем тайно отмечать использование некоторых из них. Интервьюеры обычно не пытаются обмануть соискателей. Выбор языка только потому, что он сложнее, также противоречит здравому смыслу. Вы бы никогда не сделали этого в профессиональном развитии. Я действительно сомневаюсь, что у них были бы такие ожидания от интервью.
Какой основной язык вы бы использовали на этой должности? Если это питон или один из них, то это имеет смысл.
Они определенно делают, основываясь на личном опыте. В прошлом я использовал PHP5 и Ruby, но встретил их прохладно. Один из интервьюеров впоследствии сделал комментарий, задаваясь вопросом, почему я использовал PHP. С тех пор я больше не буду использовать эти два, выбирая Python или самый популярный бэкенд-язык часа (в зависимости от того, какой он будет на тот момент).
@Kai, компания не разрабатывала веб-сайт, на котором проводится испытание, поэтому я не знаю, был ли список результатом выбора некоторых языков по умолчанию или они сами настроили список.
@Kai После повторного прочтения описания работы он выглядит как индивидуальный список, так что не обращайте внимания. Я приму это во внимание, когда буду принимать вызов.
@IDrinkandIKnowThings Они не указали основной язык, но это то, что я мог бы спросить у рекрутера.
В ответ на близкие голоса я бы сказал, что если бы я спросил, КАКОЙ язык выбрать, то он был бы основан на мнении, но Python и C ++ были только примерами в фактическом вопросе, который был «заботятся ли интервьюеры / судят меня?» который я не думаю, что это вопрос, основанный на мнении.
Большую часть времени язык является своего рода «неуместным», потому что решение проблем в них обычно одинаковое. Это методологический подход, который интереснее, чем вопрос синтаксиса.
@StarSweeper Я проголосовал за закрытие, потому что ответ таков: «Некоторые делают, некоторые нет, но мы не можем сказать вам, насколько и насколько это важно для любого конкретного человека». Самый безопасный вариант — выбрать язык, который вам достаточно удобен, чтобы не заморачиваться с синтаксисом и не испортить синтаксис, и именно этот язык вы в основном будете использовать на работе (или он похож на один) (когда они не пересекаются, это более сложный вопрос, но мы не можем ответить на него). Я обнаружил, что обычно из описания работы довольно очевидно, когда они ищут эксперта в каком-то языке, а не кого-то, кто просто хорошо разбирается в программировании в целом.
Вам нужно больше информации. В реальном мире следует учитывать такие вещи, как производительность, время на разработку, возможность обработки изменений, риск технического отдела, но обычно вы лучше понимаете проект, чем просто решаете какую-то изолированную задачу.
Используйте правильный язык для задачи.

Ответы (3)

Да, они принимают это во внимание, но вы не можете знать, как они это рассматривают.

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

Вы сказали, что Python «проще», но вы могли бы также сказать одно из этих многочисленных субъективных сравнений.

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

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

Знать, какой язык они считают правильным выбором, так же субъективно, как спрашивать, лучше ли Python, чем C++. Ответ зависит от того, кого вы спрашиваете.

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

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

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

В дополнение к этому ответу, потому что он довольно полный: недавно я принял вызов кода и показал свою открытость к изменениям; Я начал работать с фреймворком (в данном случае это была фронтенд-задача), с которым у меня практически не было опыта, так как мне сказали, что эта компания много работает с ним (похоже, они еще этого не сделали). После этого они были не совсем довольны и позволили мне развиваться, используя то, что мне удобнее, и они были абсолютно счастливы. В основном это зависит от ваших рассуждений, вы также можете спросить, что они хотят видеть; чистый код? или лучший выбор языка?
Отличный ответ. Возможно, вы захотите выделить ключевые части вашего ответа жирным шрифтом и сократить количество абзацев после маркеров.
Для большей полноты, правильный выбор зависит не только от того, кого вы спрашиваете, но и от того, что вы собираетесь делать с этим языком.
И на последующем собеседовании будьте готовы аргументировать, почему вы выбрали тот или иной язык. Удостоверьтесь, что у вас есть что сказать по этому вопросу, кроме «мне казалось, что проще всего сделать это на этом языке». Знайте кое-что о том, почему эта конкретная проблема будет хорошо решена с помощью выбранного вами языка.
Прочитав этот ответ и еще немного прочитав описание работы, я думаю, что подожду, пока не увижу вопросы, и приму решение, исходя из того, какой язык я бы использовал для решения проблемы в реальной жизни. Спасибо за помощь!
Отличный ответ. Его можно было бы улучшить, сделав еще больший акцент на концепции, согласно которой именно интервьюеры решают, за что они вас оценивают. Они могут решить судить о вас по чему-то легкомысленному, например, по цвету вашей рубашки , если захотят. Как кандидат, вы всегда должны сосредоточиться на том, чтобы оставаться верным себе и своим навыкам и убедиться, что вы понимаете, как, по вашему мнению, вы сможете выполнять работу, на которую вас рассматривают.
Стоит помнить, что часть навыков хорошего разработчика заключается в использовании правильного инструмента для работы. В большинстве случаев более простой инструмент является правильным инструментом.
@DanPuzey Мне кажется, это правильный ответ на вопрос.

Как интервьюер, я хотел бы видеть, что

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

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

Выбор «самого простого» языка может свидетельствовать о вашей способности выбирать правильные инструменты для работы — обязательно объясните свое решение.

Я согласен. На самом деле, общая проблема молодых разработчиков заключается в том, что они считают, что какой-то язык «лучше», не зная, почему. Я присоединился к проекту, где было решено разработать графический интерфейс на C++/Qt, несмотря на то, что не было требований к кросс-платформенной поддержке, и весь проект был фактически расширением для AutoCAD, которое имеет прекрасную поддержку .NET. Но погодите, C++ — это язык для настоящих программистов...

Предложите безупречное решение.

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

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

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

Я бы не стал использовать Javascript в качестве примера плохого выбора для высокопроизводительных алгоритмов; это на самом деле довольно быстро в эти дни. Вы, вероятно, получите более быстрые результаты с Javascript, если вы его знаете, а затем с «более быстрым» языком, которого вы не знаете.
@Erik Хорошая мысль: я лучше запущу правильный алгоритм в JS, чем неправильный в чем-то более быстром.
Конечно, с неправильным алгоритмом вы легко можете потерять 1000 раз, с неправильным языком может быть 20 раз, поэтому с неправильным алгоритмом на неправильном языке вы потеряете 20000 раз...
Единственное «безупречное решение» — это не делать вызов. Исходный код очень субъективен, и люди, проверяющие код, хотят знать, соответствует ли кандидат их стилю кодирования и культуре. Просто предполагается, что кандидат справится с задачей. То, что они ищут, это красные флажки в их стиле, которые указывают, что они не вписываются в него. Может быть, его код запутан или он пишет комментарии с отношением превосходства. Может быть, он не пишет никаких комментариев. Может быть, они предпочитают функционал, а он пишет ООП. Это очень субъективно. Таким образом, вы можете сделать это идеально и все равно потерпеть неудачу.