На вопросы, на которые должен ответить каждый хороший разработчик .NET? [закрыто]


246

Моя компания собирается нанять разработчиков .NET . Мы работаем на различных платформах .NET: ASP.NET, Compact Framework, Windowsforms, Web Services. Я хотел бы составить список / каталог хороших вопросов, своего рода минимальный стандарт, чтобы увидеть, опытные ли кандидаты. Итак, мой вопрос:

Какие вопросы , по вашему мнению, должны быть хорошими? ответить программист .NET ?

Я также видел бы это как контрольный список для себя, чтобы видеть, где мои собственные дефициты (есть много ...) .

альтернативный текст

* ОБНОВЛЕНИЕ: оно хочет прояснить, что мы проводим тестирование не только на знания .NET, и что возможности решения проблем и общие навыки программирования для нас еще важнее.

Ответы:


171

Основные вопросы включают в себя:

Я думаю, что обычно это помогает вашим кандидатам выполнить простое упражнение по кодированию, такое как:

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

Далее ищем конкретные технические ноу-хау:

  • (Обработчики событий) Создайте класс с пользовательским обработчиком событий, создайте другой класс, который подключается к пользовательскому обработчику событий.
  • (XML) Загрузите документ XML и выберите все узлы со свойствами x, y и z.
  • (Функциональное программирование) Создайте функцию, которая принимает другую функцию в качестве параметра. Функция Map или Fold работает очень хорошо для этого.
  • (Отражение) Напишите функцию, которая определяет, имеет ли класс определенный атрибут.
  • (Regex) Напишите регулярное выражение, которое удаляет все теги из блока HTML.

Ни один из этих вопросов не является особенно сложным для опытного программиста C #, и он должен дать вам хорошее представление о конкретных преимуществах ваших кандидатов. Вы также можете поработать над несколькими вопросами / примерами кода, в которых используются конкретные шаблоны проектирования.

[Изменить для уточнения] :

Кажется, многие люди не понимают, почему я задаю такие вопросы. Позвольте мне коснуться комментариев нескольких людей (я не цитирую напрямую, а перефразирую):


В: Когда в последний раз кто-то использовал летучие вещества или слабые ссылки?

О: Когда я даю технические интервью, я смотрю, понимает ли человек возможности высокого и низкого уровня .NET. Волатильность и слабые ссылки - это две низкоуровневые функции, предоставляемые .NET - даже если эти функции редко используются на практике, ответы на эти вопросы чрезвычайно показательны:

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

  • Хорошее понимание слабых ссылок показывает, что человек знает об интимных подробностях сборщика мусора и о том, как он решает, когда освободить память. Конечно, вы могли бы спросить кандидатов «как работает сборщик мусора», но вопрос о слабых ссылках дает гораздо лучший, более вдумчивый ответ.

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


В: Зачем кому-то нужно реализовывать свой собственный хеш-лист или связанный список?

A: Я не имею в виду, что класс Dictionary хуже, или что люди должны создавать свои собственные хэш-таблицы. Это основной вопрос, который проверяет, имеет ли человек минимальное понимание структур данных. Вот что проверяют эти вопросы: минимальное понимание.

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


Q: Почему эти вопросы так грубо ориентированы?

A: Потому что заголовок этой темы: «Вопросы, которые должен знать каждый хороший разработчик .NET». Каждый .NET-разработчик начинает свою карьеру с написания «крутых» приложений, и 90% всех людей, занимающихся разработкой приложений, зарабатывают на жизнь бизнес-приложениями.

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


8
Я думаю, что ваш список - хороший способ проверить сильные и слабые стороны, но это не «базовые» знания. Как указывает Грег, я был сбит с толку «короткозамкнутыми» операторами, хотя они просты, и я часто их использую: я просто забыл имя. Это дисквалифицирует меня?
Марк Бриттингем

33
Точно так же я никогда не объявлял переменную "Volatile" и мало что делал с XML и поэтому не смог выполнить вашу задачу программирования. И все же - я опубликованный автор, выиграл крупный конкурс по программированию и написал 4 успешных продукта, которые завоевали главные награды.
Марк Бриттингем

24
Таким образом, я не обязательно не согласен с вашим списком - я просто не согласен с тем, что вы охарактеризовали элементы знаний как «Основные». Ни одна из них не является жесткой концепцией, но некоторые являются достаточно конкретными и не будут знакомы большому количеству претендентов. Тем не менее - снова - пожалуйста, примите мои извинения.
Марк Бриттингем

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

15
(Regex) Write a regular expression which removes all tags from a block of HTML.- Я чувствую неприятности
BlueRaja - Дэнни Пфлюгофт

135

Я нашел эти списки на Скотт Хансельмана «S блоге :

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

Независимые от платформы вопросы .NET

ASP.NET


8
Я знаю разработчиков, знающих все это, и до сих пор не вижу дальше, чем книга. Открытое мнение очень важно, кроме того, не пытайтесь получить слишком подробные ответы, просто убедитесь, что они понимают концепцию.
Саиф Хан

Я старею, Саиф. Но с другой стороны, если вы не знаете деталей, вы не сможете правильно применить «концепции».
splattne

2
Некоторые вопросы действительно глупы, например, в чем разница между Debug и Release build. Да, Visual Studio предопределил некоторые конфигурации сборки, но это не независимый от платформы вопрос. Кто-то, кто компилирует из командной строки или использует Mono, может не иметь представления о чем вы говорите.
lubos hasko

3
Умеете ли вы описывать концепции, которые обычно занимают 2 страницы или даже главу книги, в четкой форме в ситуации интервью. Я не могу, не репетируя их заранее
Крис S

1
Старайтесь не просить людей определять термины. В итоге вы получите специалиста по CS, который должен был запомнить их для тестов, но упустить людей, которые действительно знают, как программировать. Я помню, как меня однажды спросили, что такое «защита». У меня не было первой подсказки, хотя тогда я делал это 30 раз в день.
Джейсон Кестер

94

Возможно, это не то, что вы хотите услышать, но я бы порекомендовал сосредоточиться не на узких технологиях, а на общих навыках программирования и решения проблем. Надежные разработчики могут узнать все, что вы хотите, чтобы они сделали быстро.

Я, например, не являюсь парнем из Compact Framework, поэтому я могу провалить ваше собеседование, если вы пойдете в этом направлении. Но если бы мне нужно было использовать его, я мог бы провести некоторое исследование и сразу же приступить к работе.

Книга Джоэла « Умные и готовые вещи» содержит полезные советы по найму разработчиков, а также есть большие сочные разделы о типах вопросов. Я очень рекомендую это.


Возможно, часть процесса найма должна быть проблемой в Cardspace или чем-то, на что они никогда не смотрели !!
Дженнифер

Возможно, но есть проблема исследования, поэтому я думаю, что это может быть несправедливо. Мне больше интересно посмотреть, как они решают проблемы, и, возможно, увидеть, как они кодируют что-то абстрактное, так что я могу узнать, говорят ли они на языке изначально или нет.
Брайан Маккей

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

Знание .NET, конечно, но когда дело доходит до более узких технологий, я думаю, что вы можете пойти с программистом с навыками решения проблем.
Дженнифер

5
Да, мы все должны знать тонны «узких технологий». Но для каждого, кого мы знаем, есть группа, которую мы не знаем (обычно потому, что они нам не нужны). Я говорю, что вы не хотите пропустить отличного разработчика, который не знает SharePoint, потому что очень скоро он может стать вашим лучшим парнем в SharePoint.
Брайан Маккей

66

Я думаю, что если бы я брал интервью у кого-то, у кого был опыт LINQ, я бы просто попросил его объяснить LINQ. Если они могут объяснить отложенное выполнение, потоковую передачу, интерфейсы IEnumerable / IEnumerator, foreach, блоки итераторов, деревья выражений (для бонусных баллов, в любом случае), то они, вероятно, могут справиться с остальными. (По общему признанию они могли бы быть "хорошими" разработчиками и не "получать" LINQ еще - я действительно думаю о случае, когда они утверждали, что знали достаточно LINQ, чтобы сделать это справедливым вопросом.)

В прошлом я задавал несколько вопросов, уже перечисленных, и несколько других:

  • Разница между ссылочным типом и типом значения
  • Передача по ссылке против передачи по значению
  • IDisposable и финализаторы
  • Строки, неизменность, кодировки символов
  • Плавающая точка
  • Делегаты
  • Дженерики
  • Обнуляемые типы

1
Да, я хотел увидеть такой ответ. Хороший кандидат на прием. Кто-нибудь лучше?
splattne

5
@ Splattne: не будь глупым, это ответ Джона Скита, так что просто прими его. Это неизбежно.
Стивен А. Лоу

3
Я как раз собирался сказать ... вес ... ты не спрашиваешь Скита!
Саиф Хан

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

1
Этот ответ лишает смысла «создавать свой собственный связанный список», «анализировать HTML с помощью регулярных выражений» или «сколько вы знаете о сборке, GAC и т. Д.», Потому что он касается инструментов и концепций, которые вы на самом деле использовать во время разработки. Глубокое знание LINQ также важно. Я видел много случаев на этом сайте, когда люди пытаются представить свои собственные версии Union Distinct и Concat для коллекций, потому что они не понимают LINQ.
Эван Плейс

42

Я с ребятами, которые ищут способности решать проблемы, а не то, что вы можете найти и запомнить из «101 топ .NET интервью Qs and As».

Просто чтобы привести себя в качестве примера, я склонен «знать» то, что мне нужно использовать изо дня в день. Я склонен забывать (а потом должен пересматривать) вещи, которые я использую редко.

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

Тем не менее, я спроектировал и кодировал большую часть инфраструктуры для системы, которая использует идентичные бизнес-объекты и уровни данных для своих воплощений WinForms и ASP.NET, и наша кодовая база достаточно надежна и может использоваться повторно, чтобы мы могли поддерживать и развивать более 20+ по-разному настроенные версии веб-сайта, а также все большее число (в настоящее время 5) приложений WinForms ...

... с командой разработчиков из двух человек.

Раньше я работал в команде техническим руководителем, и моя работа включала довольно много рекрутинга и интервьюирования. Моя самая впечатляющая ошибка заключалась в том, что я нанял парня, который знал больше о технологиях, которые мы использовали, чем все остальные вместе взятые, включая меня, и я считал себя экспертом. Он знал все ...

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

Структурируйте свои интервью с умом ...


1
Это действительно интересное наблюдение. У нас была противоположная ситуация: небольшая группа разработчиков, которые знали меньше других, но которые убеждали руководство, что они знают больше. Они предложили класс абстракции данных, который, как я утверждал, был невозможен (меня критиковали за то, что я не «командный игрок»).
Марк Бриттингем

-продолжено - после 4 месяцев "скунсовых работ" они представили команде .... свои переводные документы в другой отдел - и НЕТ кода. Остальной команде пришлось собирать куски.
Марк Бриттингем

1
Но в итоге: мне очень нравится ваше наблюдение, что конкретные знания конструкций кодирования не являются гарантией способности создавать работающее программное обеспечение, отвечающее потребностям клиентов.
Марк Бриттингем

34

Кто такой Джон Скит?


11
Или лучше: ты Джон Скит? ;-)
splattne

это действительно хороший вопрос для позиций C #. Учитывая, что Jon Skeet теперь владеет stackoverflow / поиском в Google, связанным с C #. Если вы не знаете, кто он сейчас, вы либо Джон Скит, либо не программируете на C #.
Любос Хаско

2
Не обижайся на Джона Скита - но я думаю, что Рик Страл склонен чаще появляться с ответами на вопросы, с которыми я сталкиваюсь ..
Andrew Theken

1
@ [Andrew Theken]: я сыграю проценты на этом ;-) Google для "Rick Strahl" дает 38 500 хитов, "jon skeet" - 144 000. Кроме того, Рик Страл не публикует сообщения на SO AFAIK.
Стивен А. Лоу

1
оба парня великолепны в том, что они делают ... наше преимущество.
GR7

33

Хорошие вопросы, которые мне задавали,

  • Как вы думаете , это хорошо о .NET?
  • Что вы думаете о плохом .NET?

Было бы интересно посмотреть, что предложит кандидат, и вы непременно узнаете немало о том, как он / она использует фреймворк.


18

Я бы всегда искал мягкие навыки сам - без каламбура. Хороший ОО-дизайн, разработка через тестирование, хороший многоязыковой опыт программирования и общий ум (и, я думаю, готовность к работе!).

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

Я бы попросил их написать некоторый код - лучший способ узнать, что они знают и как они работают. Любой может запомнить ответ на вопрос «В чем разница между ссылочным типом и типом значения?»


2
Пятно на. Задавать вопросы наизусть - это проблема. Компания, в которой я работаю, задает старый технический вопрос, но в основном это: у меня есть эти проблемы, вот доска, покажи мне, как ты их решаешь. Страшно, но эффективно.
Крис Брукс

4
... но если вы не решите их так, как ожидает интервьюер, вы потерпите неудачу.
gbjbaanb

1
@gbjbaanb иногда. Но если это так, вы можете не захотеть там работать. Помните, вы тоже берете интервью у компании. Я знал несколько компаний, которые провалили интервью!
Тони Эннис

13

Честно?

"Что такое .NET?"

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

Дело в том, что многие люди не знают, что такое .NET. Даже те, кто пишет программы для него.


11

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

Если на вопрос достаточно просто ответить коротким предложением или двумя, достаточно просто сказать кому-то, кто не знает. Вы должны искать их понимание концепций и способность рассуждать, а не способность отвечать на вопросы, «на которые должен ответить каждый разработчик .NET».


10

Знайте разницу между ссылочными и типами значений.

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

Строки неизменны.


6

Мартин Фаулер предпочитает навыки проектирования, а не знания платформы . С другой стороны, вы можете задать вопрос, который покажет знание шаблонов проектирования и платформы .NET, например:

  • Назовите шаблоны проектирования и принципы, которые вы знаете, и как они используются в .NET Framework?

4

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


3

Вот некоторые из них, которые я использовал для фильтрации программистов, претендующих на работу в качестве программистов на C #:

В чем разница между ссылочным типом и типом значения?

Объясните интерфейс IDisposable, какой языковой конструкции C # он требует, и как вы бы это реализовали.

Какое исключение вы бы выбросили, если бы в качестве аргумента метода, который имеет контракт, который не допускал значения NULL для этого параметра, было бы передано значение null?


Мой код обычно выбрасывает исключение NullReferenceException.
Джошуа

5
@ Joshua, ArgumentNullException вы не смогли.
Николас Дориер

3

«Какой из ASP: какие элементы управления вы бы использовали в производстве и почему?»

Это быстро скажет вам, действительно ли ваш субъект когда-либо создавал и поддерживал большой проект достаточно долго, чтобы его сожгли DataGrids и LinkButtons, или он все еще находится в фазе перетаскивания «научить себя за 21 день».

(ответ: asp: Repeater, asp: PlaceHolder, asp: Literal и asp: Content)



2

Это немного переменный вопрос, и на самом деле вы не сможете ответить на него полностью сейчас, но на него вы сможете ответить, когда это уместно:

«Что .NET Framework предлагает для выполнения задачи X?»

Или более конкретно:

«Включает ли .NET Framework объект, который делает X?»

Например, недавно я потратил несколько часов на разработку объекта, который оптимизирован для хранения массива логических значений и работы с ним, например, для выполнения коллекций NOT, OR, XOR и AND, установки всех значений и т. Д. До того, как я закончил писать все свои модульные тесты и настраивал их для достижения максимальной производительности, я понял, что мой объект "BoolArray" уже существует в .NET Framework под именем "BitArray".

На это может быть сложно ответить, так как во многих случаях лучший ответ о том, какой объект / помощники использовать, - это тот, который вы не знаете или полностью не понимаете. Каким бы чудесным был мир .NET, если бы все знали даже о простом StringBuilder, базовом инструменте, который может значительно увеличить производительность.


2

Я предложу некоторые вопросы сосредоточиться на понимании концепций программирования, используя dotnet, как

В чем разница между управляемой и неуправляемой средой? GC плюсы и минусы JIT плюсы и минусы Если нам нужно разработать приложение X, можем ли мы использовать dotnet? Почему? (это определит, как он видит дотнет)

Я предлагаю также написать небольшие методы и попросить его переписать их с лучшей производительностью, используя лучшие классы dotnet или стандартные способы. Также напишите неправильные методы (с точки зрения любого) логические или что-то еще и попросите его исправить их.


2

Я поклонник следующего в дополнение к некоторым из уже упомянутых вопросов:

  • Кто такой делегат?
  • Что такое домен приложения?
  • Когда бы вы использовали ключевое слово блокировки?
  • Являются ли классы универсальной коллекции стандартной библиотеки потокобезопасными?
  • Что такое метод расширения?
  • В чем разница между XmlDocument и XmlReader?
  • Как вы читаете в настройках конфигурации из файла конфигурации приложения?

2

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

Откровенно говоря, я бы не стал читать слишком много типичных вопросов, поскольку основная парадигма звучит так: « Насколько хорошо вы можете озвучить свои мысли и понимание?', это действительно то, что ищет интервьюер. Общение - это всегда моя самая большая слабость из-за того, как я себя чувствую, и я могу легко расстроиться.

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

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

Мои 2цента, С наилучшими пожеланиями, Том.


2

Еще несколько:

  1. Частичные занятия. И его ограничения?
  2. Запечатанные классы
  3. Как сделать локализацию в .NET?
  4. Подключение к базе данных
  5. Различные конфигурационные файлы
  6. Делегаты против событий
  7. Неуправляемый доступ к DLL
  8. Размышления
  9. Общие классы
  10. Самый горячий в .NET 3.5
  11. Фреймворки модульного тестирования, которые вы использовали.

2

Я бы не задавал эти вопросы «узнай что-нибудь из учебника», а скорее задал бы некоторые изворотливые вещи вроде:

  • Что делает цикл foreach в простом C #? (Ожидая, что он напишет цикл итератора.)
  • Что такое синглтон?
  • Позвольте ему / ей разобрать строку в Datetime (ожидая, что он / она будет использовать TryParse вместо try / catch)
  • Реализация шаблонов синглтона, стратегии и команд
  • Дайте ему / ей Refactor кусок кода для тестирования. Ожидая, что он / она отвлечет внешние сервисы от тестируемого модуля и реализует свой собственный Test-double сервиса (не предоставляя фальшивых рамок)

Они не уверены на 100%, в зависимости от человека, которого я могу спросить у них:

  • позволить ему / ей защитить метод от нулевого ввода (ожидая, что он / она будет использовать несколько возвратов для уменьшения вложенности)
  • как работает инициализатор объекта (ожидая, что он / она напишет потокобезопасное назначение)

Также я бы спросил его, как он / она изучил свои вещи и что он / она читает (какие блоги, книги).


1

Еще несколько:

Каковы ограничения сборки мусора.

Знать о финализаторах и IDisposable.

Помните о пуле потоков и о том, когда его использовать.

Если вы работаете с приложениями с графическим интерфейсом - знайте, что Windows GUI является однопоточным.

Используйте foreach (я вижу, что многие люди делают MoveNext и т. Д.)


1
Я не знал, поэтому я посмотрел ограничения на сборку мусора .
MSpeed

1

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

Однажды меня взяли интервью, и мне понравился подход, когда первый работодатель дал мне техническую анкету, чтобы заполнить 30 минут. Если кто-то успешен, то он будет вызван на 1-часовое собеседование, охватывающее вопросы определения личности и характера, а также технические жаргоны.

Затем меня попросили разработать веб-приложение на три страницы за 6 часов. Ограничения, накладываемые на приложение, были разумно охватывают основные аспекты разработки приложения, такие как небольшая ERD, Layerd Design, UI Consistency, контролируют конкретные проблемы, такие как использование переключателей в GridView и выборки и отображение типов изображений из БД на веб-странице, разработка одного алгоритма, безопасность, шифрование, хеширование, представление данных и манипулирование ими.

Затем на следующий день последовало 30-минутное обсуждение разработанного приложения, охватывающего узкие места производительности и улучшения дизайна и используемых алгоритмов. И 1 час дополнительного теста для улучшения вашего алгоритма, разработанного в предыдущем шаге с определенным условием.

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


0

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.