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

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

На какие вопросы должен ответить хороший программист .NET ?

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

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

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

246 .net
13.12.2008 17:47:33
25 ОТВЕТОВ
РЕШЕНИЕ

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

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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


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

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

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

171
23.05.2017 12:18:14
Я думаю, что ваш список - хороший способ проверить сильные и слабые стороны, но это не «базовые» знания. Как указывает Грег, я был сбит с толку «короткозамкнутыми» операторами, хотя они просты, и я часто их использую: я просто забыл имя. Это дисквалифицирует меня?
Mark Brittingham 27.02.2009 02:19:09
Точно так же я никогда не объявлял переменную "Volatile" и мало что делал с XML и поэтому не смог выполнить вашу задачу программирования. И все же - я - опубликованный автор, выиграл крупный конкурс по программированию и написал 4 успешных продукта, которые получили главные награды.
Mark Brittingham 27.02.2009 02:22:28
Таким образом, я не обязательно не согласен с вашим списком - я просто не согласен с тем, что вы охарактеризовали элементы знаний как «Основные». Ни один из них не является сложным понятием, но некоторые являются достаточно конкретными и не будут знакомы большому количеству претендентов. Тем не менее - снова - пожалуйста, примите мои извинения.
Mark Brittingham 27.02.2009 02:28:07
Половина пунктов в этом списке - пустяковые вопросы. Это не поможет найти хороших людей, но может раздражать некоторых из них, чтобы они не пошли на собеседование.
Jason Kester 11.04.2009 11:23:05
(Regex) Write a regular expression which removes all tags from a block of HTML.- Я чувствую неприятности
BlueRaja - Danny Pflughoeft 18.06.2010 20:42:56

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

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

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

10
1.09.2009 09:54:17

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

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

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

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

3
13.12.2008 17:54:36
Мой код обычно выбрасывает исключение NullReferenceException.
Joshua 7.03.2009 18:01:31
@ Joshua, ArgumentNullException вы не смогли.
Nicolas Dorier 10.06.2009 21:47:56

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

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

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

94
13.12.2008 18:04:20
Возможно, часть процесса найма должна быть проблемой в Cardspace или чем-то, на что они никогда не смотрели !!
Jennifer 13.12.2008 18:00:47
Возможно, но есть проблема исследования, поэтому я думаю, что это может быть несправедливо. Мне больше интересно посмотреть, как они решают проблемы, и, возможно, увидеть, как они кодируют что-то абстрактное, так что я могу узнать, говорят ли они на языке изначально или нет.
Brian MacKay 13.12.2008 18:08:17
Если бы я мог выбрать около двух человек, которые оба имеют общие навыки программирования и решения проблем, по практическим соображениям я ДОЛЖЕН выбрать того, кто обладает лучшими знаниями и опытом .NET.
splattne 13.12.2008 18:27:51
Знание .NET, конечно, но когда дело доходит до более узких технологий, я думаю, что вы можете пойти с программистом с навыками решения проблем.
Jennifer 13.12.2008 18:54:16
Да, мы все должны знать тонны «узких технологий». Но для каждого, кого мы знаем, есть группа, которую мы не знаем (обычно потому, что они нам не нужны). Я говорю, что вы не хотите упустить отличного разработчика, который не знает SharePoint, потому что очень скоро он может стать вашим лучшим парнем в SharePoint.
Brian MacKay 21.10.2009 14:36:21

Что это за нить?

Что такое ГК?

2
13.12.2008 17:57:19

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

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

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

18
13.12.2008 17:59:34
Пятно на. Задавать вопросы наизусть - это проблема. Компания, в которой я работаю, задает старый технический вопрос, но в основном это: у меня есть эти проблемы, вот доска, покажи мне, как ты их решаешь. Страшно, но эффективно.
Chris Brooks 17.12.2008 10:29:52
... но если вы не решите их так, как ожидает интервьюер, вы потерпите неудачу.
gbjbaanb 29.12.2008 23:26:35
@gbjbaanb иногда. Но если это так, вы можете не захотеть там работать. Помните, вы тоже берете интервью у компании. Я знал несколько компаний, которые провалили интервью!
Tony Ennis 17.10.2010 16:12:52

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

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

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

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

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

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

1
13.12.2008 17:59:48
Я не знал, поэтому я посмотрел ограничения сбора мусора .
MSpeed 3.05.2011 14:49:50

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

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

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

33
16.03.2009 17:11:16

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

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

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

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

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

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

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

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

42
13.12.2008 18:14:36
Это действительно интересное наблюдение. У нас была противоположная ситуация: небольшая группа разработчиков, которые знали меньше других, но которые убеждали руководство в том, что они знают больше. Они предложили класс абстракции данных, который, по моему мнению, был невозможен (меня критиковали за то, что я не «командный игрок»).
Mark Brittingham 23.02.2009 14:00:33
-продолжено - после 4 месяцев "скунсовых работ" они представили команде .... свои переводные документы в другой отдел - и НЕТ кода. Остальной команде пришлось собирать куски.
Mark Brittingham 23.02.2009 14:01:39
Итог: мне действительно нравится ваше наблюдение, что конкретные знания конструкций кодирования не являются гарантией способности создавать работающее программное обеспечение, отвечающее потребностям клиентов.
Mark Brittingham 23.02.2009 14:02:26

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

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

  • Разница между ссылочным типом и типом значения
  • Передача по ссылке против передачи по значению
  • IDisposable и финализаторы
  • Строки, неизменяемость, кодировки символов
  • Плавающая запятая
  • Делегаты
  • Дженерики
  • Обнуляемые типы
66
13.12.2008 18:25:23
Да, я хотел увидеть такой ответ. Хороший кандидат на прием. Кто-нибудь лучше?
splattne 13.12.2008 18:37:52
@ Splattne: не будь глупым, это ответ Джона Скита, так что просто прими его. Это неизбежно.
Steven A. Lowe 16.12.2008 15:12:11
Я как раз собирался сказать ... вес ... ты не спрашиваешь Скита!
Saif Khan 29.12.2008 23:28:38
Это гораздо лучший ответ, чем принятый. Это поможет вам понять, обладает ли кто-то глубокими знаниями в области предполагаемой экспертизы, а также исследует знания языковых функций, которые имеют довольно широкий спектр.
Mark Brittingham 23.02.2009 13:55:16
Этот ответ лишает смысла «создавать свой собственный связанный список», «анализировать HTML с помощью регулярных выражений» или «сколько вы знаете о сборке, GAC и т. Д.», Потому что он касается инструментов и концепций, которые вы на самом деле использовать во время разработки. Глубокое знание LINQ также важно. Я видел много примеров на этом сайте, где люди пытаются представить свои собственные версии Union Distinct и Concat для коллекций, потому что они не понимают LINQ.
Evan Plaice 19.06.2010 01:04:05

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

34
13.12.2008 20:08:01
Или лучше: ты Джон Скит? ;-)
splattne 14.12.2008 09:46:26
это действительно хороший вопрос для позиций C #. Учитывая, что Jon Skeet теперь владеет stackoverflow / поиском в Google, связанным с C #. Если вы не знаете, кто он сейчас, вы либо Джон Скит, либо не программируете на C #.
lubos hasko 22.02.2009 12:54:44
Не обижайся на Джона Скита - но я думаю, что Рик Страл склонен чаще появляться с ответами на вопросы, с которыми я сталкиваюсь ..
Andrew Theken 1.03.2009 01:29:10
@ [Andrew Theken]: я сыграю проценты на этом ;-) Google для «Рик Страл» дает 38 500 хитов, «Джон Скит» - 144 000. Кроме того, Рик Страл не публикует сообщения на SO AFAIK.
Steven A. Lowe 1.03.2009 02:30:44
оба парня великолепны в том, что они делают ... наше преимущество.
GR7 22.01.2010 19:40:30

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

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

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

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

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

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

2
13.12.2008 20:59:18

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

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

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

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

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

ASP.NET

135
23.05.2017 12:03:07
Я знаю разработчиков, знающих все это, и до сих пор не вижу дальше, чем книга. Открытое мнение очень важно, кроме того, не пытайтесь получить слишком подробные ответы, просто убедитесь, что они понимают концепцию.
Saif Khan 29.12.2008 23:31:34
Я старею, Саиф. Но с другой стороны, если вы не знаете деталей, вы не сможете правильно применить «концепции».
splattne 30.12.2008 07:28:10
Некоторые вопросы действительно глупы, например, в чем разница между Debug и Release build. Да, Visual Studio предопределил некоторые конфигурации сборки, но это не независимый от платформы вопрос. Кто-то, кто компилирует из командной строки или использует Mono, может не иметь представления о чем вы говорите.
lubos hasko 22.02.2009 12:46:18
Умеете ли вы описывать концепции, которые обычно занимают 2 страницы или даже главу книги, в четкой форме в ситуации интервью. Я не могу, не репетируя их заранее
Chris S 23.02.2009 12:57:57
Старайтесь не просить людей определять термины. В итоге вы получите специалиста по CS, который должен был запомнить их для тестов, но упустить людей, которые действительно знают, как программировать. Я помню, как меня однажды спросили, что такое «защита». У меня не было первой подсказки, хотя тогда я делал это 30 раз в день.
Jason Kester 11.04.2009 11:26:55

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

4
15.12.2008 12:43:16

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

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

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

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

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

2
18.06.2010 21:09:49

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

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

11
29.12.2008 23:31:12

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

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

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

2
14.01.2009 13:39:19

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

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

Честно?

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

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

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

13
26.02.2009 06:12:13

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

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

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

3
11.04.2009 11:33:51

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

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

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

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

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

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

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

1
23.01.2010 08:18:43

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

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

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

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

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

2
23.01.2010 16:43:03

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

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

0
13.08.2010 12:49:47