.NET стал очень известным и узнаваемым термином в мире программных фреймворков. Всё больше и больше программистов с каждым днём начинают использовать .NET для их каждодневных задач. Благодаря этой нарастающей популярности, крупные компании стараются найти людей, которые хорошо разбираются в .NET как для создания приложений, так и веб-разработки. Если вы хотите узнать, что такое .NET и попробовать подготовиться к собеседованию по этой позиции, то вы пришли в правильное место – мы подготовили 30 вопросов, на которые вы должны знать ответ для успешного изучения и подготовки к собеседованию!
Мы поговорим о том, что означает .NET, для чего используется платформа .NET и почему люди используют её. После этого, мы поговорим про более сложные темы, которые .NET разработчик должен обязательно знать.
Содержание
- 1. Введение
- 1.1. Вопрос 1: Что Такое .NET?
- 1.2. Вопрос 2: Сколько Языков Поддерживает .NET?
- 1.3. Вопрос 3: Каков Срок Службы Элементов в ViewState?
- 1.4. Вопрос 4: Что Такое CTS?
- 1.5. Вопрос 5: Дайте Определение Инкапсуляции.
- 1.6. Вопрос 6: В Чём Отличие Class и Object?
- 1.7. Вопрос 7: Есть Ли Различие Между Debug и Trace?
- 1.8. Вопрос 8: Каково Различие Между In-process и Out-of-process?
- 1.9. Вопрос 9: Что Такое MSIL?
- 1.10. Вопрос 10: Что Такое Наследование?
- 1.11. Вопрос 11: Каково Различие Управляемого Кода От Неуправляемого?
- 1.12. Вопрос 12: Есть Ли Различие Между ‘int’ и ‘System.Int32’?
- 1.13. Вопрос 13: Дайте Определение Кешированию (Caching).
- 1.14. Вопрос 14: Что Такое ‘Assembly’?
- 1.15. Вопрос 15: Является Ли Фреймворк .NET OOP или AOP?
- 2. Что Такое .NET – Продвинутые Темы
- 2.1. Вопрос 1: Возможно Ли Вручную Установить Таймер Session out?
- 2.2. Вопрос 2: Можете Ли Вы Использовать Различные Языки в Каталоге App_Code?
- 2.3. Вопрос 3: Что Такое Файл .dll?
- 2.4. Вопрос 4: Есть Ли Различие Между Stack и Queue?
- 2.5. Вопрос 5: Что Такое Boxing?
- 2.6. Вопрос 6: Может Ли Индекс Первичного Ключа Быть Изменён?
- 2.7. Вопрос 7: Как Бы Вы Проверили Данные, Которые Расположены на Странице?
- 2.8. Вопрос 8: Каково Основное Различие Между Функциями и Хранимыми Процедурами?
- 2.9. Вопрос 9: Что Такое LINQ?
- 2.10. Вопрос 10: Есть Ли Различия Между Стеками и Хипами?
- 2.11. Вопрос 11: Дайте Определение Переменной и Константе.
- 2.12. Вопрос 12: Что Такое Сборщик Мусора?
- 2.13. Вопрос 13: Можете Ли Вы Указать Модификаторы Доступа в Наследовании?
- 2.14. Вопрос 14: Что Такое Кортеж (Tuple)?
- 2.15. Вопрос 15: Сколько Существует Индексов в .NET?
- 3. Заключение
Введение
Мы начнём с некоторых базовых вопросов и тем по .NET. В основном они относятся к определениям и теории, чтобы вы могли понять, что такое .NET и для чего именно используется эта платформа.
Последняя сделка действительна прямо сейчас:
GET 50% OFF
DataCamp Black Friday Sale
During this DataCamp Black Friday, you can access the top-rated courses with a 50% discount. Enroll now for way less!
После этой части, мы перейдём к более сложным вопросам собеседования .NET. Так как .NET считается одним из самых технологически сложных фреймворков, то правильнее всего будет уделить внимание более продвинутым темам. Однако вам не стоит забывать про базовые темы!
Вопрос 1: Что Такое .NET?
Ваши потенциальные работодатели могут сказать нечто вроде этого:
Представьте, что я не знаю ничего о .NET. Объясните мне, что такое .NET и для чего он используется.
По сути, вам нужно будет объяснить эти вещи своими словами. Давайте рассмотрим относительно простые и краткие определения, которые вы можете использовать в качестве ответов.
Во-первых, .NET на самом деле не является аббревиатурой. Полным названием данного фреймворка должно было быть “Microsoft .NET”, где Microsoft выступает в качестве разработчика этого фреймворка.
Итак, что это такое?
Проще говоря, .NET Framework — это фреймворк разработки программного обеспечения и сайтов. Его считают одним из самых лучших и надёжных фреймворков для этого. Хотя также стоит отметить крутую кривую обучаемости данному фреймворку. Многим людям платформа .NET нравится за счёт её “языковой совместимости” – любой язык в .NET может использовать код, написанный на другом языке.
Другой причиной, по которой разработчики ценят .NET, является огромное разнообразие встроенных функций и пресетов.
Вопрос 2: Сколько Языков Поддерживает .NET?
На момент написания этого руководства .NET поддерживает 44 различных языка.
Вопрос 3: Каков Срок Службы Элементов в ViewState?
Элементы в ViewState существуют до тех пор, пока сама страница не будет удалена.
Вопрос 4: Что Такое CTS?
CTS является аббревиатурой для Common-Type System. По сути, эта система определяет типы данных, которые в ней используются.
Вы должны уделить более пристальное внимание темам связанным с CTS. Они очень важны для любого .NET разработчика.
Вопрос 5: Дайте Определение Инкапсуляции.
Инкапсуляция — это функция, которая включает в себя различные методы и данные внутри проекта. Делается это для того, чтобы объект программы мог выполнять свои функции плавно и без каких-либо ошибок.
Вопрос 6: В Чём Отличие Class и Object?
Ещё один вопрос из нашего руководства “Что такое .NET”, связанный с определением. Он должен быть очень простым для тех, кто знаком с другими языками программирования.
“Object” (объект) является чем-то, что случается или находится внутри “class” (класса). Классы определяют как выглядит объект, как себя ведёт и какие свойства должен иметь. Подобные объекты в свою очередь и составляют класс.
Вопрос 7: Есть Ли Различие Между Debug и Trace?
Да. Класс “Trace” может быть использован для отладки и выпуска определённых сборок, тогда как “Debug” используется только для – вы угадали – отладки.
Этот вопрос отличается от других, наподобие “что такое .NET”, но также относится к категории базовых, так как позволяет проверить ваши общие знания.
Вопрос 8: Каково Различие Между In-process и Out-of-process?
Оба они связаны с управлением памятью сеанса. ‘In-process’ хранит все данные из сеанса разработки на веб-сервере. В противоположность этому, ‘Out-of-process’ хранит те же данные во внешней области управления памятью. Вероятно, одной из самых популярных областей внешнего хранения памяти будет SQL-сервер.
Вопрос 9: Что Такое MSIL?
MSIL означает Microsoft Intermediate Language или Промежуточный Язык Microsoft. Он используется для определения значений, хранения памяти и других похожих, высококлассных задач. Любой код, который будет использовать платформа .NET, сначала должен пройти через MSIL.
Вопрос 10: Что Такое Наследование?
Это не исключительная тема, которую должен знать только .NET разработчик, но она всё равно очень тесно связана с процессом разработки на .NET.
Наследование случается тогда, когда меньший класс берёт функции и параметры другого, более крупного класса. Этот класс считается “родительским классом” более меньшему классу.
Это одна из тем нашего руководства “Что такое .NET”, которая требует более развернутого изучения. К примеру, NET поддерживает только одиночное наследование. Это означает, что меньший, дочерний класс может наследовать только от одного родительского класса.
Вопрос 11: Каково Различие Управляемого Кода От Неуправляемого?
Управляемый код является типом кода, который был создан и скомпилирован внутри фреймворка .NET. В отличие от него, неуправляемый код идёт от другого фреймворка и привносит все другие особенности и настройки фреймворка.
Вопрос 12: Есть Ли Различие Между ‘int’ и ‘System.Int32’?
Помните, мы говорили, что .NET Framework это технически сложная сфера? Что же, такого рода темы требуют более специфических знаний.
Не существует абсолютно никакой разницы между “int” и “System.Int32”. “Int” просто является более короткой версией того же имени.
Вопрос 13: Дайте Определение Кешированию (Caching).
Другой термин из нашего руководства “Что такое .NET”, который вы можете знать, если имели опыт программирования.
Кеширование — это процесс, при котором вы храните наиболее часто используемые файлы и данные в отдельной памяти. Это отдельное место – кэш – где вы можете получить доступ ко всем вашим назначенным файлам. Кеширование сохраняет разработчикам много времени и увеличивает их управление памятью.
Вопрос 14: Что Такое ‘Assembly’?
Assembly — это место, в котором находятся все необходимые инструменты .NET для создания сайтов и программ. Разработчик может иметь приватный и общий раздел Assembly.
Вопрос 15: Является Ли Фреймворк .NET OOP или AOP?
ООП означает Объектно-ориентированное программирование, тогда AOP расшифровывается как Аспектно-ориентированное программирование. Хорошо, тогда какое использует платформа .NET?
На самом деле ответ скрыт в предыдущих темах нашего руководства “Что такое .NET”. .NET Framework это полностью ООП фреймворк – ранее рассмотренные концепты, вроде инкапсуляции и наследования, являются ключевыми особенностями Объектно-ориентированного программирования.
Как вы понимаете, ответ на данный вопрос довольно очевиден, если вы будете логически рассуждать о различиях ООП и АОП.
Что Такое .NET – Продвинутые Темы
Мы рассказали про базовые вопросы собеседования по .NET, теперь давайте перейдём к более сложным темам.
Обратите внимание, что слово “продвинутый” не обязательно должно означать наличие у вас многолетнего опыта в программировании. Это означает лишь то, что .NET разработчик должен по-настоящему уметь пользоваться этим фреймворком.
Вопрос 1: Возможно Ли Вручную Установить Таймер Session out?
Да, возможно. Это один из тех вопросов, которые нуждаются в более развернутом ответе – ваш работодатель явно не будет удовлетворён односложным ответом.
Самым логичным продолжением должен стать вопрос “Как?”. Сделать это вы можете получив доступ к файлу web.config.
Вопрос 2: Можете Ли Вы Использовать Различные Языки в Каталоге App_Code?
Нет. Файл, над которым вы работаете, должен быть написан на одном, определённом языке. Вы не можете смешивать их.
Вопрос 3: Что Такое Файл .dll?
Вы, скорее всего, уже встречали подобные файлы, когда пытались запустить какую-то игру или программу. Чаще всего программа говорит об отсутствии каких-либо файлов “DLL”.
Файлы DLL — это те, которые должны быть скрыты от пользователя. Сам термин DLL означает Динамически подключаемую библиотеку. Эти библиотеки огромны и содержат большое количество файлов и команд. Файлы DLL могут быть использованы несколькими программами или приложениями.
Вопрос 4: Есть Ли Различие Между Stack и Queue?
Да. Очень кратким и чётким способом объяснить это будет сказать, что стеки (stack) это LIFO, а очереди (queue) это FIFO.
LIFO означает “Last in, first out” (Последним пришёл, первым ушёл). Стеки обрабатывают типы значения по иерархии “сверху-вниз”. С другой стороны, FIFO означает “First in, first out” (Первым пришёл, первым ушёл). Очереди следуют этому принципу и вставляют предметы снизу, тогда как удаляют сверху.
Вопрос 5: Что Такое Boxing?
Boxing — это процесс, когда вы создаёте объекты из определённых типов значения. Эти процессы неявны.
Это один из вопросов нашего руководства “Что такое .NET”, которые могут иметь продолжение, единственно логическим здесь будет спросить «Что такое Unboxing?». Хотя ответ, честно говоря, очень простой – Unboxing (распаковка) процесс противоположный Boxing (запаковке).
Вопрос 6: Может Ли Индекс Первичного Ключа Быть Изменён?
Нет. Здесь всё просто.
Вопрос 7: Как Бы Вы Проверили Данные, Которые Расположены на Странице?
Хотя на первый взгляд он может показаться одним из тех вопросов, которые могут иметь различное решение в нашем руководстве “Что такое .NET”, на самом деле это не так. Почему? Что же, просто потому, что есть «лучший способ» проверить такие данные.
Многие считают, что проверка на стороне клиента – лучший способ проверить данные с вашего сайта. Основная причина в том, что вам не нужно использовать какие-либо ресурсы для достижения этой цели – пользователи, которые заходят на вашу веб-страницу, являются теми, кто занимается этим.
Вопрос 8: Каково Основное Различие Между Функциями и Хранимыми Процедурами?
Хотя между этими двумя терминами имеется довольно много различий, вероятно, наиболее заметной из них является то, что функции могут выполнять несколько различных задач, в то время как хранимая процедура предназначена только для одной конкретной задачи.
Вопрос 9: Что Такое LINQ?
LINQ — это Language Integrated Query. Это созданная Microsoft модель со своим собственным специфическим синтаксисом. LINQ основан на языке программирования C # и может быть внедрён в виде библиотеки в другие языки программирования.
Вопрос 10: Есть Ли Различия Между Стеками и Хипами?
Да – стеки (stack) хранят типы значений, тогда как хипы (heap) хранят ссылочные типы.
Вопрос 11: Дайте Определение Переменной и Константе.
Переменная — это место на компьютере, где хранятся данные. Каждая переменная имеет определённый тип данных. Также переменным может быть присвоено определённое имя.
Константы — это почти то же самое, что и переменные, за исключением того, что к ним прикреплены определённые значения, которые нельзя изменить.
Пример константы:
const int interestRate =73;
Это не вопрос только теории, что мы рассматривали раньше, вроде, что такое .NET, для чего используется и т.д. Здесь от вас могут потребоваться навыки написания кода, поэтому советуем подготовиться!
Вопрос 12: Что Такое Сборщик Мусора?
Сборщик мусора — это особый инструмент в .NET, который создан для освобождения неиспользованного пространства, с целью увеличения скорости работы фреймворка.
Доступ к инструменту можно получить с помощью команды: System.GC.Collect()
Вопрос 13: Можете Ли Вы Указать Модификаторы Доступа в Наследовании?
Предполагая, что вопрос касается модификаторов доступа к элементам – нет, вы не можете. Почему? Просто потому, что интерфейс всегда общедоступен.
Вопрос 14: Что Такое Кортеж (Tuple)?
Кортежи — это коллекции одинаковых или различных типов данных. Размер кортежа всегда фиксирован (1 – 8) – .NET разработчик должен установить желаемый размер во время "объявления".
- Простой в использовании
- Предлагает качественный контент
- Очень открытый в своих ценах
- Бесплатные сертификаты об окончании
- Фокус на навыки науки о данных
- Гибкое расписание занятий
- Простой дизайн (без бесполезной информации)
- Хорошее качество курсов (даже бесплатных)
- Разнообразие возможностей обучения
- Программа Nanodegree
- Подходит для корпоративного обучения
- Платные сертификаты об окончании
- Известная платформа в индустрии
- Широкий спектр особенностей
- Курсы университетского уровня
- Курсы университетского уровня
- Подходит для компаний
- Платные сертификаты об окончании
Вопрос 15: Сколько Существует Индексов в .NET?
Всего существует два тип индексов – кластеризованные индексы и некластеризованные индексы.
Вы знали?
Вы когда-либо хотели узнать, какие платформы для онлайн обучения лучше всего подходят для вашей карьеры?
Заключение
В этом руководстве мы поговорили о некоторых базовых и продвинутых темах для .NET разработчика, которые могут пригодится ему для прохождения собеседования.
При подготовке к вашему собеседованию, всегда пытайтесь найти как можно больше вопросов, насколько это возможно. Со временем вы будете замечать общие концепты для ответа на эти вопросы, что поможет вам не только на собеседовании, но и в процессе обучения.
Это происходит потому, что вы начинаете видеть определённые шаблоны и ваш мозг подстраивается под решение подобных задач. Как только вы будете уверены в своих навыках, то настанет время практики.
Что же, вот и подошло к концу наше руководство “Xто такое .NET”. Мы надеемся, что вы узнали нечто новое и понимаете какими знаниями должен обладать .NET разработчик. Удачи!