Найти в Дзене
.Net Review

Собеседование на позицию .Net разработчика. Разбор (Часть 2)

Оглавление

Данная статья - продолжение первой части(ссылка). В данной статье описаны более сложные вопросы: устные, задачи на логику, знания языка, технологии.

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

Устные вопросы:

  • Технология. После проверки основ интервьюер захочет узнать ваши знания по основной технологии, с которой вам нужно будет работать. О собеседованиях на каждую технологию будут отдельные статьи.
  • Углубленная работа с БД. Различные JOIN, GroupBy запросы.
Источник картинки: https://www.dofactory.com/Images/sql-joins.png
Источник картинки: https://www.dofactory.com/Images/sql-joins.png

JOIN запросы - запросы объединения таблиц. Существуют: Inner Join (запрос, который объединяет данные, которые существуют в двух таблицах), Full Join (запрос, который объединяет данные, которые существуют в двух таблицах и не связанные данные с двух таблиц), Left/Right Join ( запрос, который объединяет данные, которые существуют в двух таблицах и не связанные данные с правой/левой таблицы).

Пример: SELECT Orders.OrderID, Customers.CustomerName,
Orders.OrderDate
FROM Orders
INNER JOIN Customers ON
Orders.CustomerID=Customers.CustomerID;

GroupBy запрос - запрос группировки данных, путем выбора параметра/колонки относительно которой будет выполнена группировка. В таких запросах становится возможным использовать математические функции, например: min, max, avg и т.д.

  • Entity Framework (EF). Представляет из себя объектно-ориентированную, легковесную и расширяемую технологию от компании Microsoft для доступа к данным. Отношения конвертируются в классы и работа происходит с объектами, а работу с запросами на себя берет сам EF. Полезным будет рассказать свой опыт работы с EF и установкой провайдеров для разных БД.
  • Паттерны и работа с ними. Подробнее про паттерны можно прочитать здесь: "Паттерны. Что это и когда их применять?".
  • Language Integrated Query (LINQ) — проект Microsoft по добавлению синтаксиса языка запросов, напоминающего SQL, в языки программирования платформы .NET Framework. Ранее был реализован в языках C# и Visual Basic .NET. Удобный инструмент для работы с множествами. Довольна объемная тема для рассмотрения, также будет сделана отдельная статья про LINQ и работу с ней.

Техническая часть

Довольно часто интервьюеры просят показать знания ООП на практике путем создания проекта, приближенного к реальности. Большим плюсом будет, если в проекте/примере будут реализованы паттерны/Linq.

Техническое задание. Создайте приложение для продажи автомобиля. Модули:

  • Добавление авто.
  • Отображение.
  • Продажа.
  • Сортировка.

Ссылка на проект: https://github.com/CrispyPigeon/CarManager

В данном проекте нет визуального интерфейса. Реализован проект с помощью паттерна стратегия. Использован Linq. Всегда открыт к критике)

Телеграмм канал: https://t.me/dotnetreview

Источники: LINQ Wiki