Питання, яким повинен відповісти кожен хороший розробник .NET? [зачинено]


246

Моя компанія збирається найняти розробників .NET . Ми працюємо на різноманітних платформах .NET: ASP.NET, Compact Framework, Windowsforms, Web Services. Я хотів би скласти список / каталог хороших запитань, якийсь мінімальний стандарт, щоб побачити, чи мають досвід претенденти. Отже, моє питання:

На які питання , на вашу думку, повинен відповісти хороший програміст .NET ?

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

alt текст

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

Відповіді:


171

Основні питання включають:

Я думаю, що це зазвичай допомагає попросити ваших заявників виконати просту процедуру кодування, наприклад:

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

Далі, шукайте конкретні технічні ноу-хау:

  • (Обробники подій) Створіть клас за допомогою спеціального обробника подій, створіть інший клас, який зачепить на спеціальний обробник подій.
  • (XML) Завантажте документ XML та виберіть усі вузли із властивостями x, y та z.
  • (Функціональне програмування) Створіть функцію, яка приймає іншу функцію як параметр. Функція «Карта» або «Згорнути» працює для цього дуже добре.
  • (Рефлексія) Напишіть функцію, яка визначає, чи має клас певний атрибут.
  • (Regex) Напишіть регулярний вираз, який видаляє всі теги з блоку HTML.

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

[Редагувати для уточнення] :

Здається, що багато людей не розуміють, чому я задаю такі питання. Дозвольте торкнутися коментарів кількох людей (я не цитую прямо, а перефразую натомість):


Питання: Коли востаннє хтось використовував летючі речовини або слабкі посилання?

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

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

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

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


Запитання: Чому комусь потрібно впроваджувати свій власний хешблей чи пов'язаний список?

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

Ви дізнаєтесь про ці хештелі та пов’язані списки в перший день Структури даних 101. Якщо хтось не може написати хештеб або пов'язаний список з нуля, то у них є великий розрив у технічних знаннях.


Питання: Чому ці питання настільки грубо орієнтовані?

Відповідь: Тому що назва цієї теми - "питання, які повинен знати кожен хороший розробник .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.- Я
МУЛЯТЬ ТРУБУ

135

Я знайшов ці списки на Скотт Хансельмана «S блозі :

Ось, на мою думку, найважливіші запитання з цих постів, розділені на категорії. Я їх редагував і перевпорядкував. На щастя, на більшість цих питань вже є хороша відповідь на Stack Overflow. Просто перейдіть за посиланнями (я оновлю їх як можна швидше) .

Питання незалежно від платформи .NET

ASP.NET


8
Я знаю, що розробники знають все це і досі не бачать далі, ніж книга. Open-Minded дуже важливий, крім того, не намагайтеся отримати занадто багато детальних відповідей, просто переконайтеся, що вони розуміють концепцію.
Сайф Хан

I agee, Сайфе. Але з іншого боку, якщо ви не знаєте деталей, ви не зможете правильно застосувати "поняття".
splattne

2
Деякі запитання справді дурні, як, в чому різниця між налагодженням і версією версії. Так, Visual Studio заздалегідь визначив деякі конфігурації побудови, але це не питання незалежно від платформи. Хтось, хто компілює командний рядок або використовує Mono, може не знати про що ви говорите.
lubos hasko

3
Чи вмієте ви описати поняття, які зазвичай займають 2 сторінки або навіть розділ книги, артикуляційно в інтерв'ю. Я не можу без репетицій їх заздалегідь
Chris S

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

94

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

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

У книзі Джоела, Smart and Gets Things Done , є чудова порада щодо наймання розробників, і є великі соковиті розділи про типи питань. Я дуже рекомендую його.


Можливо, частина процесу найму повинна бути проблемою в Cardspace або щось, чого вони ніколи не переглядали !!
Дженніфер

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

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

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

5
Так, ми всі повинні знати тонни "вузьких технологій". Але для кожного, кого ми знаємо, є купа, яку ми не знаємо (зазвичай, тому що вони нам не потрібні). Я кажу, що ви не хочете пропустити чудового розробника за те, що не знаєте SharePoint, бо дуже скоро він може стати вашим найкращим хлопцем SharePoint.
Брайан Маккей

66

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

Раніше я задавав декілька питань, які вже були перераховані, та кілька інших:

  • Різниця між типами посилання та значення
  • Пройти за посиланням vs пропустити за значенням
  • Ідентифікатори та фіналізатори
  • Струни, незмінність, кодування символів
  • Плаваюча точка
  • Делегати
  • Дженріки
  • Зменшувані типи

1
Так, я хотів побачити подібну відповідь. Хороший кандидат за прийняття. Хтось кращий?
splattne

5
@splattne: не дуріть, це відповідь Джона Скіта, тому просто прийміть це. Це неминуче.
Стівен А. Лоу

3
Я тільки збирався сказати ... Wt ... ти не допитуєш Скіта!
Сайф Хан

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

1
Ця відповідь знімає штани "створити свій власний пов'язаний список", проаналізувати HTML з regexp "або" скільки ви знаєте про асамблею, GAC тощо ", тому що він стосується інструментів та понять, які ви мали б фактично використовувати під час розробки. Інтимні знання LINQ також важливі. На цьому сайті я бачив багато випадків, коли люди намагаються передати власну версію Union Distinct і Concat для колекцій, оскільки вони не розуміють LINQ.
Еван Плейс

42

Я разом з хлопцями, які шукають здібності вирішення проблем, а не те, що ви можете шукати та запам'ятовувати з "101 зверху. NET-інтерв'ю Qs та As".

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

Якби ви хотіли поїхати зі мною на інтерв'ю, було б дуже просто.

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

... з двома командами розвитку.

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

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

Структуруйте свої інтерв'ю з розумом ...


1
Це дійсно цікаве спостереження. У нас була протилежна ситуація: невеликий клік розробників, які знали менше інших, але переконували керівництво, що вони знають більше. Вони запропонували клас абстрагування даних, який я стверджував, що це неможливо (мене критикували за те, що я не "командний гравець").
Марк Бріттінгем

- продовжено - після 4-х місяців "скункс-роботи" вони подарували команді .... їхні документи про передачу в інший відділ - і НЕ код. Решта команди мали зібрати шматки.
Марк Бріттінгем

1
Підсумок: Однак, мені дуже подобається ваше зауваження, що конкретні знання конструкцій кодування не є гарантією здатності створювати робоче програмне забезпечення, яке відповідає потребам замовника.
Марк Бріттінгем

34

Хто такий Джон Скіт?


11
Або краще: ти Джон Скіт? ;-)
splattne

це насправді гарне запитання для позицій C #. Враховуючи, що Джон Джон Скіт зараз має stackoverflow / google для пошуку C #. Якщо ви до цього часу не знаєте, хто він, ви або Джон Скіт, або не програмуєте на C #.
lubos hasko

2
Не ображайтесь на Джона Скіта - але я думаю, що Рік Штраль частіше з'являється з відповідями на типи питань, в які я
стикаюся

1
@ [Ендрю Текен]: Я зіграю відсотки на цьому ;-) google для "Ріка Штраля" дає 38 500 хітів, "Джон Скейт" дає 144000. Плюс до цього, Рік Страль не публікує в SO AFAIK.
Стівен А. Лоу

1
обидва хлопці чудові у тому, що вони роблять ... наш виграш.
GR7

33

Хороші запитання, які мені задали

  • Як ви думаєте, що добре .NET?
  • Що ти вважаєш поганим щодо .NET?

Було б цікаво побачити, що підійде кандидат, і ви неодмінно дізнаєтесь трохи про те, як він / вона використовує рамки.


18

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

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

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


2
Пляма на. Задавати питання про гріх - це неприємності. Компанія, над якою працюю, задає старе питання про техніку, але в основному це: у мене є ці проблеми, ось дошка, покажіть мені, як би ви їх вирішили. Страшно, але ефективно.
Кріс Брукс

4
... але якщо ви не вирішите їх так, як очікує інтерв'юер, ви не зможете.
gbjbaanb

1
@gbjbaanb іноді. Але якщо це так, ви, можливо, не захочете там працювати. Пам'ятайте, ви опитуєте компанію також. Я знав декілька компаній, які провалили інтерв'ю!
Тоні Енніс

13

Чесно?

"Що таке .NET?"

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

Справа в тому, що багато людей насправді не знають, що таке .NET. Навіть ті, хто пише програми на це.


11

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

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


10

Знайте різницю між типом посилання та значення.

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

Струни незмінні.


6

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

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

4

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


3

Ось декілька я використовував для фільтрації програмістів, які претендують на завдання як програмісти C #:

Яка різниця між типом посилання та типом значення?

Поясніть інтерфейс IDisposable, який конструкція мови C # вимагає цього, і як би ви його реалізували.

Який виняток ви б кинули, якщо нуль передається як аргумент методу, який має контракт, який не дозволяє нуль для цього параметра?


Мій код зазвичай кидає NullReferenceException.
Джошуа

5
@Joshua, ArgumentNullException не вдалося.
Ніколя Доріє

3

"Який з ASP: який би контроль ви ніколи не використовували у виробництві і чому?"

Це швидко скаже вам, чи коли-небудь фактично вибудовували та підтримували великий проект досить довго, щоб його спалити DataGrids та LinkButtons, чи він все ще перебуває на етапі перетягування та навчання "навчайте себе за 21 день".

(відповідь: asp: Repeater, asp: PlaceHolder, asp: Literal, і asp: Content)



2

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

"Що пропонує .NET Framework, щоб виконати завдання X?"

Або конкретніше:

"Чи включає рамка .NET об'єкт, який робить X?"

Наприклад, я нещодавно витратив кілька годин на розробку об'єкта, оптимізованого для зберігання масиву булевих операцій та оперування ним, наприклад, робити колекцію НЕ, АБО, XOR, І, встановити всі значення тощо. Це не було ' t до тих пір, поки я не закінчив писати всі мої тести на одиницю і налаштувати її для досягнення найкращої продуктивності, коли я зрозумів, що мій об'єкт "BoolArray" вже існував у .NET рамках під назвою "BitArray".

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


2

Я запропоную деякі питання зосередитись на розумінні понять програмування за допомогою dotnet

Яка різниця між керованим та некерованим оточенням? Плюси і мінуси GC За і проти JIT Якщо нам потрібно розробити додаток X, ми можемо використовувати 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 #? (Очікуючи його написати цикл ітератора.)
  • Що сингл?
  • Дозвольте йому / їй розібрати строку для дати часу (очікуючи, що він / вона використовуватиме TryParse замість спроби / ловити)
  • Реалізуйте схеми синглтона, стратегії та команд
  • Дозвольте йому / її Refactor фрагмент коду для тестування. Очікуючи, що він / її буде абстрагувати зовнішні сервіси подалі від Тестового підрозділу та реалізувати власний тест-подвійний сервіс (не надаючи глузливих фреймворків)

Вони не на 100% впевнені, залежно від людини, яку я можу запитати у них:

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

Також я запитав би його, як він / вона дізнався свої речі та що він читає (які блоги, книги).


1

Ще кілька:

Які обмеження щодо вивезення сміття.

Знай про фіналізатори та IDisposable.

Будьте в курсі пулу ниток і коли його використовувати.

Якщо ви робите програми GUI - пам’ятайте, що графічний інтерфейс Windows є однопоточним.

Використовуйте функцію foreach (я бачу, що багато людей роблять MoveNext тощо)


1
Я не знав, тому переглянув обмеження щодо вивезення сміття .
MSpeed

1

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

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

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

Потім наступного дня відбулася 30-хвилинна дискусія щодо розробленого додатка, що охоплює ефективні місця та ефективні алгоритми дизайну та використовуваних алгоритмів. І додатковий тест на 1 годину для вдосконалення алгоритму, розробленого на попередньому кроці, з конкретною умовою.

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


0

Я вважаю за краще поставити йому проблему і попросити її вирішити, використовуючи функції .net, які ви знаєте, і чому ви вважаєте, що це найкраще рішення.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.