Библиотека собеса по C# | вопросы с собеседований
5.66K subscribers
271 photos
6 videos
1 file
643 links
Вопросы с собеседований по C# и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/4c2f1c3b

Для обратной связи: @proglibrary_feeedback_bot

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
Перечислите различные методы трассировки, представленные в ASP.NET?

Assert() проверяет условие и выводит сообщение, если условие ложно.
Close() очищает выходной буфер, а затем закрывает прослушиватели, чтобы они больше не получали отладочные выходные данные.
Fail() — этот метод выдает сообщение об ошибке.
GetType() используется для получения типа объекта.
ToString() возвращает строку, представляющую текущий объект.
GetHashCode() — метод работает как хэш-функция для определенного типа. Он подходит для использования в алгоритмах хэширования и структурах данных, таких как хэш-таблица.
Equals() определяет, является ли указанный объект тем же экземпляром, что и текущий объект.
Warn() имеет две формы. Первая форма записывает информацию трассировки в журнал трассировки, включая любые определенные пользователем категории.
Write() имеет две формы. Первая форма записывает информацию в журнал трассировки, включая любые определенные пользователем категории и сообщения.


Библиотека собеса по С#
4
Напишите программу для сложения всех чётных чисел в массиве

Ответ:
static long TotalAllNum(int[] intArray) {
return intArray.Where(i => i % 2 == 0).Sum(i => (long)i);
}

Библиотека собеса по С#
2👍1👏1😁1
Как можно использовать шаблон проектирования Singleton в C#?

Шаблон проектирования Singleton используется в C# в ситуации, когда класс имеет один экземпляр и доступ предоставляется всем.

🐸Библиотека собеса по С#
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱3👍1👏1
Что делает ключевое слово var в C#?

Компилятор выводит статический тип переменной по правой части выражения. Это не dynamic: тип фиксируется на этапе компиляции. Нельзя использовать без инициализации и менять тип этой переменной позже.

Библиотека собеса по С#
👍21
Что такое Span<T> и Memory<T> в C# и в чём между ними разница?

Span<T> — это ref-структура, представляющая непрерывный участок памяти (массив, стек, неуправляемая память) без аллокаций в куче. Позволяет работать с подмассивами, строками и буферами без копирования. Так как это ref struct, Span<T> живёт только на стеке: его нельзя сохранять в полях класса, использовать в async-методах, итераторах или захватывать в лямбдах.
Memory<T> — обычная структура с теми же возможностями по представлению участка памяти, но без ограничений ref-структуры. Её можно хранить в полях, передавать через await, использовать в асинхронном коде. Получить Span<T> из Memory<T> можно через свойство .Span.
Правило выбора: Span<T> — для синхронного, горячего кода с максимальной производительностью; Memory<T> — когда нужно пересечь границы async/await или сохранить ссылку на буфер.

Библиотека собеса по С#
4👍2
Как работает async/await и роль SynchronizationContext?

async/await преобразует метод в машину состояний. При await выполнение приостанавливается, а продолжение может быть запланировано на исходном SynchronizationContext (например, UI-поток). В ASP.NET Core его нет, и продолжение выполняется в ThreadPool. ConfigureAwait(false) отключает возврат в контекст.

Библиотека собеса по С#
👍5
Какими способами можно перегрузить метод?

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

Библиотека собеса по С#
👍1
В чем разница между кастомным контролем и пользовательским контролем?

Кастомные элементы управления — это элементы управления скомпилированного кода (DLL), которые проще использовать и которые можно добавлять в набор инструментов. Разработчики могут добавлять элементы управления в свои веб-формы, перетаскивая их. Атрибуты можно добавлять в процессе проектирования. Кастомные элементы управления можно легко добавлять в несколько приложений (если это общие Dll). Поэтому, если они являются частными, мы можем скопировать dll в каталог bin веб-приложения, добавить ссылку и использовать их.

Пользовательские элементы управления похожи на ASP, включая файлы, в том, что их просто создавать. Пользовательские элементы управления нельзя перетаскивать в набор инструментов. У них есть собственный дизайн и код. Ascx — это расширение файла для пользовательских элементов управления.


Библиотека собеса по С#
2👾1
Где вы читаете полезный IT-контент?

Интересуют источники, где не только новости, но и практика, разборы и реальные кейсы. Поделитесь в комментариях, можно 1-2 канала/автора, где читаете (TG / Habr / блог / X / GitHub) и какая тематика?
Какова разница между IEnumerable и IQueryable при работе с удаленной базой данных?

IEnumerable представляет собой коллекцию данных, находящуюся в памяти, и позволяет перемещаться по этим данным только в одном направлении — вперед. В отличие от него, IQueryable находится в пространстве имен System.Linq и предоставляет возможность удаленного доступа к базе данных. Он позволяет перемещаться по данным как в прямом, так и в обратном порядке. При выполнении запроса происходит его оптимизация, что делает работу с данными более эффективной.

IEnumerable phoneIEnum = db.Phones;
var phones1 = phoneIEnum.Where(p => p.Id > id).ToList(); //SELECT * FROM PHONES, фильтрация на стороне клиента
IQueryable phoneIQuer = db.Phones;
int id = 3;
var phones2 = phoneIQuer.Where(p => p.Id > id).ToList(); //SELECT * FROM PHONES WHERE ID > 3

Библиотека собеса по С#
👍1
Как используется property?

Свойство — это обёртка вокруг поля. Свойство используется как для присвоения, так и для чтения значения из поля с помощью методов set и get. Свойство можно создать для различных полей, таких как закрытые, открытые, защищённые и внутренние.

Библиотека собеса по С#
🥱4👍21😢1