Библиотека собеса по C# | вопросы с собеседований
5.68K subscribers
214 photos
2 videos
1 file
202 links
Вопросы с собеседований по C# и ответы на них.

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

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

Работать у нас: https://job.proglib.io/

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
Полезные методы для работы с датой

Метод ToLocalTime() преобразует время UTC в локальное время, добавляя смещение относительно времени по Гринвичу.

Метод ToUniversalTime(), наоборот, преобразует локальное время во время UTC, то есть вычитает смещение относительно времени по Гринвичу.

Остальные методы преобразуют дату к определенному формату.
Как преобразовать список в строку?

Ответ на картинке.
Как в C# поля и свойства отличаются друг от друга?

В C# поля и свойства имеют различия друг от друга. Поле — это член класса или объекта, предназначенный для хранения данных, в то время как свойство — это член класса, который предоставляет методы для чтения, записи и вычисления значения соответствующего поля.
Что такое префабы в Unity?

Префабы — это настраиваемые объекты игры, которые вы можете повторно использовать в своем проекте, чтобы создавать сложные сцены без необходимости вручную создавать каждый объект.
Thread, task, примеры использования?

Класс Thread создает и контролирует поток. На входе указывается метод, который будет выполняться в потоке.
Класс Task позволяет запускать отдельную продолжительную задачу. Она запускается асинхронно в одном из потоков из пула потоков, но ее можно запускать и синхронно.
Узнаем, сколько дней осталось до заданной даты с помощью C#
Узнаем размер переданного файла

Программа запрашивает у пользователя путь к файлу, а затем пытается получить информацию о файле, используя класс FileInfo. Если файл существует, то выводится его размер в байтах, килобайтах и мегабайтах. Если файл не найден или возникла ошибка при получении информации о файле, выводится соответствующее сообщение.
В Unity объясните различия между FixedUpdate, Update и LateUpdate. Как вы решите, когда использовать каждый из этих методов обновления для различных компонентов игрового движка, таких как обработка физики, общая логика игры, и анимации?

Краткий ответ: В Unity, методы FixedUpdate, Update и LateUpdate используются для различных целей в игровом цикле:
FixedUpdate вызывается с фиксированным интервалом времени и является идеальным для обработки всего, что связано с физикой, так как физический движок Unity обновляется в фиксированные моменты времени. Это обеспечивает стабильность физических вычислений независимо от частоты кадров.

Update вызывается один раз за кадр и используется для общей игровой логики, такой как получение ввода от пользователя, перемещение персонажей, обновление таймеров и т.д. Так как частота вызовов Update зависит от частоты кадров, это не подходит для обработки физики.

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

Мы можем сгенерировать случайную строку, используя метод Next() . Этот метод принимает два аргумента минимальный и максимальный диапазон и возвращает положительное случайное целое число в пределах указанного минимального и максимального диапазона.
Свойства LinkedList

Класс LinkedList определяет следующие свойства:

• Count: количество элементов в связанном списке;

• First: первый узел в списке в виде объекта LinkedListNode;

• Last: последний узел в списке в виде объекта LinkedListNode.
⚡️Самые полезные каналы по C# в одной папке

В ней:
интересные задачи
основной канал
книги по C#
лучшие вакансии из сферы
и наш чат, в котором можно общаться и задавать вопросы

Добавляйте 👉 тык сюда
Please open Telegram to view this post
VIEW IN TELEGRAM
В чем различие между классом и структурой?

Для С# классы System.Object, System.Exception, System.File-Stream и System.Random — это ссылочные типы (память выделяется из упр. кучи). В свою очередь размерные типы в документации называются структурами (structure) и перечислениями (enumeration). Например, структуры System.In132, System.Boolean, System.Decimal, System.TimeSpan и перечисления System.DayOfWeek, System.10.FileAttributes и System.Drawing.FontStyle являются размерными типами (хранятся обычно в стеке потока, но могут быть встроены в ссылочные типы).
Операции с массивом с использованием System.Linq

В C# пространство имен System.Linq предоставляет методы для выполнения операций над массивом.

numbers.Min() — возвращает наименьшее число массива, 1.
numbers.Max() — возвращает наибольшее число массива, 98.
Замена

Чтобы заменить один символ или подстроку на другую, применяется метод Replace.

Во втором случае применения функции Replace строка из одного символа «о» заменяется на пустую строку, то есть фактически удаляется из текста. Подобным способом легко удалять какой-то определенный текст в строках.
Оператор ??

Вы можете связать оператор ?? так, что получится куча нулевых сравнений.
Разница между boxing и unboxing. Приведите пример.

Boxing — это процесс преобразования типа значения в тип объекта, а unboxing — извлечение типа значения из объекта. Boxing является неявным, unboxing — явным.

Пример:
int i = 13;
object myObject = i; // boxing
i = (int)myObject; // unboxing
Что такое LINQ.

LINQ — это аббревиатура от Language Integrated Query, она была представлена в Visual Studio 2008. LINQ — это набор функций, расширяющих возможности запросов в синтаксисе языка .NET путем добавления наборов новых стандартных операторов запросов, которые позволяют манипулировать данными независимо от источника данных. Поддерживаемыми источниками данных являются: Коллекции .NET Framework, базы данных SQL Server, наборы данных ADO.NET, документы XML и любые коллекции объектов, поддерживающие IEnumerable или generic интерфейс IEnumerable, как в C#, так и в Visual Basic. Одним словом, LINQ преодолевает разрыв между миром объектов и миром данных.
Что такое сборщик мусора и как он работает. Приведите пример кода, показывающий, как можно обеспечить сборку мусора в .NET

Сборка мусора — это низкоприоритетный процесс, который служит в качестве автоматического менеджера памяти, управляющего распределением и освобождением памяти для приложений. Каждый раз, когда создается новый объект, среда выполнения общего языка выделяет память для этого объекта из управляемой кучи. Пока в управляемой куче есть свободное пространство памяти, среда выполнения продолжает выделять место для новых объектов. Однако память не бесконечна, и как только приложение заполняет пространство, в дело вступает сборщик мусора (Garbage Collector), который освобождает часть памяти. Когда сборщик мусора выполняет очистку, он проверяет объекты в управляемой куче, которые больше не используются приложением, и выполняет необходимые операции. Сборщик мусора останавливает все запущенные потоки, находит все объекты в куче, к которым не обращается основная программа, и удаляет их. Затем он собирает все объекты, оставшиеся в куче, чтобы освободить место, и корректирует все указатели на эти объекты в стеке и в куче.

Чтобы запустить сборку мусора в коде вручную, выполняем следующую команду:

System.GC.Collect();
Разница между stack и heap

В stack хранятся типы значений(типы, унаследованные от System.ValueType), а в heap — ссылочные типы (типы, унаследованные от System.Object).

Можно сказать, что stack отвечает за отслеживание того, что на самом деле выполняется и где находится каждый выполняющийся поток (каждый поток имеет свой собственный стек). Heap, с другой стороны, отвечает за хранение данных, или, более точно, объектов.
Как реализовать generic action в WebAPI?

Это невозможно, поскольку среда выполнения WebAPI должна знать имя и параметры методов заранее.