en
Feedback
Библиотека собеса по C# | вопросы с собеседований

Библиотека собеса по C# | вопросы с собеседований

Open in Telegram

Вопросы с собеседований по C# и ответы на них. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/4c2f1c3b Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197

Show more
5 662
Subscribers
+324 hours
+57 days
+4930 days
Posts Archive
Что выведет на экран следующий код? Выведет 4. Оператор ~ производит побитовую реверсию. Console.WriteLine(«{0:x8}, {1:x8}»,
Что выведет на экран следующий код? Выведет 4. Оператор ~ производит побитовую реверсию. Console.WriteLine(«{0:x8}, {1:x8}», -5, ~(-5)); // выведет fffffffb, 00000004 Причем для значения 5 выведет -6.

Получение всех дат между двумя DateTime в C# Вы можете использовать DateTime объекты непосредственно в цикле. DateTime.AddDay
Получение всех дат между двумя DateTime в C# Вы можете использовать DateTime объекты непосредственно в цикле. DateTime.AddDays правильно обрабатывает окончание месяца.

Может ли класс реализовать два интерфейса, у которых объявлены одинаковые методы? Если да, то каким образом? Может. Общие методы при этом надо реализовывать один раз неявно или два раза явно (с указанием имени интерфейса). При явной реализации метод нельзя будет вызывать без приведения экземпляра класса к интерфейсу (если только не будет третьей реализации метода в классе). Если два метода интерфейса выполняют разные действия, то неявная реализация интерфейсов может быть некорректной.

Изменение порядка элементов массива Например, изменим порядок элементов с помощью следующего кода.
Изменение порядка элементов массива Например, изменим порядок элементов с помощью следующего кода.

В чем разница между абстрактными и виртуальными классами? Между виртуальными и абстрактными методами? Абстрактные классы это класс помеченный ключевым словом abstract. В абстрактном классе содержатся абстрактные члены (методы, свойства, индексаторы, события) они не имеют внутренней реализации и выступают в роли интерфейса. Они так же обязаны быть помечены ключевыми словом abstract. При наследовании от абстрактного класса, класс наследник получает все свойства своего класса родителя, а если в родительском классе есть еще и абстрактные члены, то в классе наследнике обязательно их нужно переопределять. Виртуальный класс, это просто класс в котором есть виртуальные члены (методы, свойства...) Виртуальные члены помечаются модификатором virtual и имеют внутреннюю реализацию, которая может быть переопределена в классе наследнике.

Что такое интеграционные тесты и unit-тесты? Модульное тестирование: проверка отдельного модуля (класса, библиотеки) приложения независимо от другого модуля. Позволяет провести регресионное тестирование (при внесении изменений в модуль, убедиться, что он по прежнему работает). Интеграционное тестирование: программные модули объединяются и тестируются в группе. Эти тесты проверяют правильность взаимодействия нескольких подсистем (например, двух классов). Проводится после модульного тестирования. Системное тестирование: проверяется все приложение в целом на соответсвие требованиям по принципу черного ящика (без учета внутреннего строения приложения).

Какая разница между классами System.String и System.Text.StringBuilder? Данные, хранящиеся в классе System.String и есть неизменяемые (immutable). Класс System.StringBuilder разрабатывался так, чтобы над изменяемой строкой можно было проделать множество операций. То есть при каждой операции над объектом класса System.String происходит перенос данных в новую область памяти, что влияет на производительность программы.

Объясните разницу между System.Array.CopyTo() и System.Array.Clone()? CopyTo требует наличия выходного массива, тогда как Clone создает новый массив. CopyTo позволяет указывать индекс элемента, начиная с которого производить копирование.

Самые полезные каналы для программистов в одной подборке! Сохраняйте себе, чтобы не потерять 💾 🔥Для всех Библиотека программиста — новости, статьи, досуг, фундаментальные темы Книги для программистов IT-мемы Proglib Academy — тут мы рассказываем про обучение и курсы #️⃣C# Книги для шарпистов | C#, .NET, F# Библиотека шарписта — полезные статьи, новости и обучающие материалы по C# Библиотека задач по C# — код, квизы и тесты Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel ☁️DevOps Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps Вакансии по DevOps & SRE Библиотека задач по DevOps — код, квизы и тесты Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования 🐘PHP Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP Вакансии по PHP, Symfony, Laravel Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по PHP — код, квизы и тесты 🐍Python Библиотека питониста — полезные статьи, новости и обучающие материалы по Python Вакансии по питону, Django, Flask Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Python — код, квизы и тесты ☕Java Библиотека джависта — полезные статьи по Java, новости и обучающие материалы Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Java — код, квизы и тесты Вакансии для java-разработчиков 👾Data Science Книги для дата сайентистов | Data Science Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Data Science — код, квизы и тесты Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту 🦫Go Книги для Go разработчиков Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по Go — код, квизы и тесты Вакансии по Go 🧠C++ Книги для C/C++ разработчиков Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++ Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования Библиотека задач по C++ — код, квизы и тесты Вакансии по C++ 💻Другие профильные каналы Библиотека фронтендера Библиотека мобильного разработчика Библиотека хакера Библиотека тестировщика 💼Каналы с вакансиями Вакансии по фронтенду, джаваскрипт, React, Angular, Vue Вакансии для мобильных разработчиков Вакансии по QA тестированию InfoSec Jobs — вакансии по информационной безопасности 📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈 🤖Также у нас есть боты: Бот с IT-вакансиями Бот с мероприятиями в сфере IT Мы в других соцсетях: 🔸VK 🔸YouTube 🔸Дзен 🔸Facebook * 🔸Instagram * * Организация Meta запрещена на территории РФ

Можно ли разрешить наследование класса, но запретить переопределение метода? Можно для второго класса в иерархии наследования, если переопределяем виртуальный метод как sealed override, тогда дальнейшее переопределение по цепочке наследования запрещено.

Что такое частные и общие сборки? Частные сборки: ✍🏻 Видны только самому приложению ✍🏻 Нет необходимости заботиться об уникальном имени во всем глобальном пространстве имен ✍🏻 Не нужно делать записей в реестре при развертывании приложения ✍🏻 Сборки просто копируются в директорию приложения или в подчинённую директорию ✍🏻 Общая среда выполнения (CLR) при запуске приложения прочитает его манифест и определит какие сборки необходимы. Затем будет произведен поиск нужной сборки по директории приложения (процесс зондирования) Общие сборки: ✍🏻 Могут быть использованы сразу несколькими приложениями ✍🏻 Сборка должна иметь строгое имя (strong name) ✍🏻 Сборка должна быть помещена в общедоступное место — Global Assembly Cache (GAC, глобальный кэш сборок)

Ответьте на 3 вопроса, чтобы получить вводные занятия к курсу «Алгоритмы и структуры данных» 🔥Получите вводные занятия, отве
Ответьте на 3 вопроса, чтобы получить вводные занятия к курсу «Алгоритмы и структуры данных» 🔥Получите вводные занятия, ответив на 3 вопроса – https://proglib.io/w/504b46d1 На вводной части вас ждут: 1. Лекция «Производительность алгоритмов» от руководителя разработки Яндекс.Самокатов 2. Лекция «Итеративные сортировки и линейные сортировки» от аспирант департамента искусственного интеллекта ВШЭ 3. Практические задания после лекций 4. Ссылки на дополнительные материалы для самостоятельного изучения ⚡️Переходите и начинайте учиться уже сегодня – https://proglib.io/w/504b46d1

Что означает модификатор virtual? Модификатор virtual служит для того, чтобы помечать виртуальные методы или свойства в классе родителя. Виртуальные методы (свойства) — это такие методы, которые мы хотим переопределить в классах наследниках. А чтобы переопределить метод в классе-наследнике, этот метод определяется с модификатором override. Переопределенный метод в классе-наследнике должен иметь тот же набор параметров, что и виртуальный метод в базовом классе. Переопределять можно и невиртуальные методы, но тогда выбор метода (родителя или наследника) будет осуществляться статически во время компиляции на основании типа переменной, а не типа объекта, хранящейся в ней.

В чем основные отличия класса от структуры в языке C#? Основные отличия класса от структуры следующие: ✍🏻 Структура является размерным типом, а класс — ссылочным. ✍🏻 Все структурные типы неявно наследуются от System.ValueType, они не бывают абстрактными и всегда неявно запечатаны (sealed) ✍🏻 При присваивании переменных структурного типа, создается копия данных ✍🏻 Объявления полей структуры не могут иметь инициализаторов ✍🏻 Различная интерпретация this для структуры и класса ✍🏻 Структура не может содержать конструктор без параметров ✍🏻 Структура не может содержать деструктор ✍🏻 Для ссылочных типов значение по умолчанию — null ✍🏻 При конвертировании между ссылочным и размерным типами происходит упаковка и распаковка.

В чем разница между методами Dispose() и Finalize()? Основное различие между обоими методами заключается в том, что метод Dispose() используется для освобождения неуправляемых ресурсов объекта, а метод Finalize также используется для той же цели, но он не гарантирует сбор мусора объекта. Еще одним важным отличием является то, что метод Dispose() вызывается пользователем явно, а метод Finalize() вызывается сборщиком мусора непосредственно перед уничтожением объекта.

В чем разница между Array и ArrayList? Массив (Array) — это группа переменных одинакового типа, на которые ссылаются общим им
В чем разница между Array и ArrayList? Массив (Array) — это группа переменных одинакового типа, на которые ссылаются общим именем. ArrayList представляет собой упорядоченную коллекцию объектов, которые можно индексировать индивидуально. По сути, это альтернатива массиву. На картинке описаны основные различия.

Самый простой способ чтения и записи в файлы С помощью данного фрагмента когда вы сможете с лёгкостью прочитать, а также доба
Самый простой способ чтения и записи в файлы С помощью данного фрагмента когда вы сможете с лёгкостью прочитать, а также добавить какую-нибудь информацию в ваш файл.

Библиотека собеса по C# | вопросы с собеседований - Statistics & analytics of Telegram channel @csharp_interview_lib