Поддержка  •  Дневник  •  Без рекламы  •  О сайте  •  Реклама  •  Поставить баннер  •  Прислать  •  Хроника  •  Translate Гости: 3    Участники: 0 Авторизация Авторизация   Регистрация 
Метод Научного Тыка
RULVEN
Поиск  
Blackball iMag | интернет-журнал
Каталог


Начало » Разработка ПО » Вопросы на собеседовании » 16 вопросов для собеседования с .NET программистом
Мне повезёт!

16 вопросов для собеседования с .NET программистом




Добавлено: Пн 21.12.2020 • Sergeant
Источник: источник
Просмотров: 521
Комментарии: 0


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

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

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

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

1. Что такое ООП и как оно соотносится с .NET фреймворком?

ООП означает объектно-ориентированное программирование. Хороший ответ на этот вопрос должен указать на то, что языки ООП, такие как Visual Basic.NET, C # и C ++, являются основными языками, поддерживаемыми .NET Framework (также имеется поддержка функционального программирования в форме F#)

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

2. Что такое инкапсуляция?

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

Другой способ понять инкапсуляцию - думать о ней как о «сокрытии» состояния объекта как частного или защищенного. В соответствии с этим принципом сокрытия информации внутренняя работа объекта отделена от остальной части приложения. Это полезно, потому что снижает вероятность того, что другие объекты могут изменить состояние или поведение рассматриваемого объекта.

3. Объясните понятие наследование и то, как оно работает в .NET

В общих терминах ООП наследование означает, что класс может быть основан на другом классе, при этом дочерний класс принимает атрибуты родительского класса. Например, программисты могут создать класс под названием Vehicle, а затем дочерние классы под названием Truck, Car и Motorcycle - все они наследуют атрибуты Vehicle.

Чтобы продемонстрировать свое понимание вопроса на собеседовании, кандидаты могут рассказать, как .NET поддерживает только одиночное наследование, что означает, что класс может наследовать только от одного другого класса. Их ответ может также коснуться транзитивного характера наследования - например, класс Ford наследуется от Car, который наследуется от Vehicle.

4. В чем разница между абстрактным классом и интерфейсом?

Абстрактный класс всегда используется как базовый класс. Он предоставляет некоторые абстрактные / виртуальные члены, которые должны реализовывать наследующие сущности, а также частичную реализацию функциональности. Кандидаты могут упомянуть, что этот класс также может объявлять поля. Разработчики не могут создать объект из этого класса.

С другой стороны, интерфейс может объявлять только свойства, методы и события (без модификаторов доступа). Разработчик должен реализовать все заявленные члены. Короче говоря, интерфейс обозначает контракт / поведение, которые должны иметь реализующие классы.

5. В чем разница между классом и объектом и как эти термины соотносятся друг с другом?

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

Убедитесь, что кандидаты ответили на вторую часть этого вопроса собеседования по .NET, указав, как эти термины связаны друг с другом. Ответ: Связь основана на том факте, что класс определяет состояния и свойства, общие для ряда объектов.

6. Что такое делегат в .NET?

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

7. Объясните разницу между стеком и очередью

Этот вопрос для собеседования по .NET проверяет базовые знания кандидатов о коллекциях. Наряду со стопками и очередями в эту категорию входят хеш-таблицы, пакеты, словари и списки. Стек отслеживает, что выполняется, и содержит типы сохраненных значений, которые должны быть доступны и обработаны как LIFO (Last-In, First-Out), с элементами, вставленными и удаленными.

Очередь, с другой стороны, перечисляет элементы по принципу FIFO (First-In, First-Out) с точки зрения как вставки, так и удаления, с элементами, вставленными с бек стороны и удаленными с фронтенд стороны очереди.

8. Что такое веб-служба .NET?

Веб-сервисы - это повторно используемые компоненты, которые позволяют разработчикам публиковать функцию приложения через Интернет, чтобы сделать его доступным и напрямую взаимодействовать с другими приложениями и объектами в нем. Веб-службы взаимодействуют с помощью стандартных веб-протоколов и форматов данных, включая HTTP, XML и SOAP, что позволяет им подключаться между различными платформами и языками программирования. ASP.NET предоставляет простой способ разработки веб-служб. .NET Framework предоставляет встроенные классы для создания и использования веб-служб.

9. Когда следует использовать .NET Web Forms вместо ASP.NET MVC?

Традиционно .NET Framework был основан на веб-формах. По сути, это была попытка создать веб-службы с использованием существующих инструментов Microsoft Visual Studio Tools, не заставляя разработчиков изучать новые языки сценариев. Веб-формы по-прежнему позволяют разработчикам создавать быстрые и простые приложения, а некоторые устаревшие системы могут по-прежнему работать как веб-формы.

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

10. Что такое данные JSON и как разработчики .NET могут работать с JSON?

JSON (объектная нотация JavaScript) предоставляет разработчикам возможность упорядочивать и хранить данные, чтобы их было легко получить доступ и прочитать. JSON важен для разработчиков, поскольку он позволяет им управлять потоками JSON с других сайтов и загружать их быстрее и проще, чем через каналы SML / RSS. Json.NET предоставляет разработчикам .NET возможность определять классы, которые анализируют объекты и массивы из текста JSON. Вы также можете использовать Json.NET, если вам нужно сериализовать типы значений в текст JSON. Json.NET работает на .NET2, .NET3 и .NET4.

11. Объясните разницу между управляемым и неуправляемым кодом

Подобные вопросы на собеседовании по .NET позволяют кандидатам продемонстрировать свое понимание Common Language Runtime (CLR), ключевой части .NET Framework. Код, написанный на C # или Visual Basic .NET, после компиляции будет выполняться только в среде CLR, которая обеспечивает такие функции, как сборка мусора и управление памятью. Преимущество этого заключается в том, что управляемый код не зависит от платформы, поскольку он выполняется в среде CLR, а не в операционной системе компьютера, обращающегося к приложению.

Код, написанный на других языках, таких как C или C ++, создает неуправляемый код, а это означает, что разработчики не могут полагаться на CLR для обеспечения такого рода переносимости. Управляемый и неуправляемый код совместимы . Примеры неуправляемого кода, используемого в .NET, включают компоненты COM, интерфейсы ActiveX и функции Win32 API.

12. Дайте определение LINQ

LINQ расшифровывается как Language-Integrated Query. Это модель программирования и методология Microsoft, которая предлагает разработчикам способ манипулировать данными с использованием краткого, но выразительного синтаксиса. Это достигается путем внедрения языков программирования на основе Microsoft .NET с возможностью делать формальные запросы. Он является частью C # и может быть импортирован как библиотека на других языках.

13. Доступные только для чтения переменные и константы имеют много общего, но чем они отличаются?

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

14. Что означают термины boxing и unboxing?

Этот вопрос может показать, насколько кандидаты знают о типах данных и принципах ООП. Идея относительно проста: упаковка - это процесс, который преобразует тип значения в тип объекта - путем «упаковки» переменной внутри выделенного объекта или интерфейса. Распаковка извлекает это значение и сохраняет его в виде значения. Бокс был необходим в некоторых старых типах коллекций, таких как ArrayList, и все еще может использоваться для точного преобразования типов - например, из двойного в int.

15. Какие три общих акронима используются в .NET и что они обозначают?

Кандидатам в .NET разработчики должно быть легко ответить на этот вопрос. Вопрос дает им некоторую гибкость в выборе терминов, которые им наиболее знакомы. Три часто используемых аббревиатуры в .NET - это IL, CIL и CLI:

  • IL означает Intermediate Language, объектно-ориентированный язык программирования, представляющий собой частично скомпилированный код, который разработчики .NET затем скомпилируют в собственный машинный код.
  • CIL расшифровывается как Common Intermediate Language, ранее известный как Microsoft Intermediate Language (MSIL). Это еще один язык программирования, который используют разработчики .NET, и он представляет собой минимально возможный уровень языка, который люди все еще могут читать.
  • CLI расшифровывается как Common Language Infrastructure. Это скомпилированная библиотека кода, разработанная Microsoft как открытая спецификация. Разработчики используют интерфейс командной строки для обеспечения безопасности, управления версиями и развертывания.

Другие сокращения, обычно используемые в .NET, включают JIT (Just-In-Time) компилятор, который использует архитектуру ЦП целевой машины для выполнения операции .NET; ООП (объектно-ориентированное программирование), определенное в вопросе 1; CLR (Common Language Runtime), определенный в Вопросе 11; и LINQ (Language-Integrated Query), определенный в вопросе 12.

16. В чем разница между .NET и Laravel?

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

  • Языки (например, поддержка C # в .NET по сравнению с поддержкой PHP в Laravel)
  • Безопасность
  • Интеграция .NET с Visual Studio
  • Сторонние библиотеки
  • Поддержка сообщества разработчиков ПО с открытым исходным кодом

Факторы, которые следует учитывать вместе с вопросами на собеседовании с .NET программистом

Помимо конкретных технических вопросов, при оценке кандидатов необходимо рассмотреть еще несколько областей:

  • Портфолио проектов .NET - попросите кандидатов показать вам примеры своей прошлой работы, будь то динамическая веб-страница или какое-либо другое веб-приложение. Если у них нет примеров профессиональной работы, взгляните на некоторые личные проекты, которыми они занимались.
  • Методологии разработки программного обеспечения - полезно знать, как кандидаты взаимодействовали с членами команды в других проектах. Большинство профессиональных разработчиков имеют обширный опыт работы со средами Agile , поэтому вы можете обсудить, считает ли они такой подход поддерживающим или отвлекающими их Scrums. Некоторые разработчики могут иметь опыт работы с новыми методами работы, такими как DevOps.
  • Soft навыки - технические способности - не единственная особенность выдающегося сотрудника, поэтому не забывайте исследовать софт скиллс и мотивацию кандидатов . Коммуникация и сотрудничество важны для разработчиков, которым необходимо работать с людьми в нетехнических отделах, в то время как организация и управление временем важны для тех, кто работает в одиночку. Кроме того, если разработчики будут иметь доступ к конфиденциальным данным, обязательно оцените их с точки зрения этики и надежности.




Мне нравится 0   Мне не нравится 0



Комментарии

Чтобы добавить видео с YouTube, нужно написать [@youtube=xxxxx] , где xxxxx – ID видео.


Комментарии: 0
Нет ни одного комментария.
RSS-лента
Поделиться ссылкой:
Из дневника школьника
Выдеpжки из дневника Дypимаpа
Стыд за собственного ребенка
Из дневника админа...
Путеводитель по репликации баз данных Путеводитель по репликации баз данных
Кому – что
Особенности национального Fallout`a
Чукотский дневник
20 вкуснейших рецептов куриных ножек на мангале 20 вкуснейших рецептов куриных ножек на мангале
Дневник жены компьютерщика

Новое
Что такое технический долг и как им управлять вчера, 09:09
Что такое технический долг и как им управлять
20 отличных рецептов куриных сердечек на мангале 3 дня назад, 09:06
20 отличных рецептов куриных сердечек на мангале
Какие полочные акустические системы стоит выбрать в 2023-2024 годах? Ср 15.05.2024
Какие полочные акустические системы стоит выбрать в 2023-2024 годах?
Архитектуры разработки ПО Пн 13.05.2024
Архитектуры разработки ПО
Сб 11.05.2024
Технический долг. Как не обанкротиться
20 рецептов из горбуши, которые станут вашими любимыми Сб 11.05.2024
20 рецептов из горбуши, которые станут вашими любимыми
Как работает спидометр в машине: вы всегда хотели это знать, но никто не мог объяснить на пальцах Ср 08.05.2024
Как работает спидометр в машине: вы всегда хотели это знать, но никто не мог объяснить на пальцах
5 ошибок при разработке высоконагруженных сервисов Пн 06.05.2024
5 ошибок при разработке высоконагруженных сервисов
20 способов приготовить куриные голени в духовке Вс 05.05.2024
20 способов приготовить куриные голени в духовке
Жаркое из курицы: 20 лёгких и вкусных рецептов Сб 04.05.2024
Жаркое из курицы: 20 лёгких и вкусных рецептов
Книги
Designing Data-Intensive Applications Вт 14.05.2024
Designing Data-Intensive Applications
Год: 2017
Fundamentals of Software Architecture Вт 07.05.2024
Fundamentals of Software Architecture
Год: 2020
Refactoring with C# Вт 23.04.2024
Refactoring with C#
Год: 2023

Разработано на основе BlackNight CMS
Release v.2024-05-19
© 2000–2024 Blackball
Дизайн & программирование:
О сайтеРеклама
Visitors
Web-site performed by Sergey Drozdov
BlackballРекламаСтатистикаПоддержка | МузыкаПлейлистыКиноВидеоИгрыАудиоПрограммыСтатьиКартинкиЮморФорумДневник сайтаПрислать контент