Как различаются определения и использование интерфейсов в Go, Java и C#?
Интерфейсы в Go, Java и C# имеют общую цель — описывать набор методов, которые должен реализовать тип, но отличаются по синтаксису и особенностям использования.
Читать ответПодготовка к интервью
343 вопроса по C# с технических собеседований
Что проверяют на интервью
На странице собраны вопросы по C# — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: backend, c#, optimization.
Каталог
Интерфейсы в Go, Java и C# имеют общую цель — описывать набор методов, которые должен реализовать тип, но отличаются по синтаксису и особенностям использования.
Читать ответВ Go дженерики появились относительно недавно и пока уступают по функциональности таким языкам, как C#. Основные ограничения и чего не хватает в дженериках Go по сравнению с C#:
Читать ответВ Go нет классического объектно-ориентированного наследования и классов в традиционном понимании. Вместо этого Go использует композицию и интерфейсы.
Читать ответВ TypeScript вызов функции с объектом типа IUser будет корректен, если структура полей IUser совпадает с TUser из библиотеки, даже если это разные интерфейсы.
Читать ответДа, C# приложения можно запускать и использовать на операционных системах Linux.
Читать ответИнтерфейс в C# — это контракт, который определяет набор членов (методов, свойств, событий, индексаторов), но не содержит их реализацию.
Читать ответГрупповой делегат — это экземпляр делегата, который содержит более одного метода в своем списке вызовов.
Читать ответВ своих проектах на C# я работал преимущественно с разработкой веб-приложений на ASP.NET Core и десктопных приложений с использованием WPF.
Читать ответВ C# полиморфизм реализуется с помощью ключевых слов и механизмов, позволяющих методам и свойствам вести себя по-разному в зависимости от типа объекта во время выполнения. Основные средства:
Читать ответLINQ (Language Integrated Query) предоставляет ряд преимуществ:
Читать ответВ C# управление памятью в основном осуществляется сборщиком мусора (Garbage Collector), который автоматически освобождает неиспользуемые объекты.
Читать ответЭто значит, что поведение системы можно расширять без изменения уже существующего кода, что снижает риск внесения ошибок и упрощает поддержку.
Читать ответ