C# / .NET задачи и вопросы


Гео и язык канала: Россия, Русский
Категория: Технологии


🎲 Задачи и вопросы с собеседований по .Net/C# разного уровня сложности.
Прислать задачу/вопрос в дар: @cyberJohnny
Сотрудничество: @cyberJohnny
Обсуждаем тут: @netquizcom

Связанные каналы  |  Похожие каналы

Гео и язык канала
Россия, Русский
Категория
Технологии
Статистика
Фильтр публикаций


👋 Хотите освоить систему контроля версий git и улучшить свои навыки разработки на С#?  
 
🏃‍♂️ Приходите на бесплатный практический урок «Система контроля версий git» от OTUS. Спикер — опытный Fullstack-разработчик на стеке C#(.NET) и Javascript (React). 
 
На вебинаре вы изучите основные понятия и операции git, которые помогут вам эффективно управлять версиями вашего кода и начать успешную карьеру в программировании! Занятие подойдет новичкам и продолжающим разработчикам на С#.  
 
🚀 Урок пройдет 23 апреля в 20:00 мск и будет приурочен к старту большого курса «Специализация C# Developer». После вебинара вы получите специальную цену на обучение и персональную консультацию от наших менеджеров! 
 
🎯 Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://clck.ru/3A7KR9

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru


Что такое класс интерфейса? Приведите один пример этого

Интерфейс — это абстрактный класс, который имеет только общедоступные абстрактные методы, причем методы имеют только объявление, а не определение. Эти абстрактные методы должны быть реализованы в унаследованных классах.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
interface Guru99Interface
{
void SetTutorial(int pID, string pName);
String GetTutorial();
}

class Guru99Tutorial : Guru99Interface
{
protected int TutorialID;
protected string TutorialName;

public void SetTutorial(int pID, string pName)
{
TutorialID = pID;
TutorialName = pName;
}

public String GetTutorial()
{
return TutorialName;
}

static void Main(string[] args)
{
Guru99Tutorial pTutor = new Guru99Tutorial();

pTutor.SetTutorial(1,".Net by Guru99");

Console.WriteLine(pTutor.GetTutorial());

Console.ReadKey();
}
}
}


Бесплатный курс для middle C#-разработчиков от Ozon

Погрузись в микросервисную архитектуру за 2 месяца: в Route 256 инженеры Ozon расскажут про современные технологии, а также поделятся своим опытом разработки микросервисов.

Курс рассчитан на разработчиков с опытом от 3 лет, в конце Ozon предлагает офферы лучшим выпускникам.

Чтобы попасть на курс нужно пройти отборочный контест 5 мая.

Узнать подробности и подать заявку


Что такое предмет?

Объект — это экземпляр класса, через который мы получаем доступ к методам этого класса. Ключевое слово «New» используется для создания объекта. Класс, создающий объект в памяти, будет содержать информацию о методах, переменных и поведении этого класса.


В чем разница между public, static и void?

Публично объявленные переменные или методы доступны в любом месте приложения. Статические объявленные переменные или методы доступны глобально без создания экземпляра класса. Статический член по умолчанию не доступен глобально, это зависит от используемого типа измененного доступа. Компилятор сохраняет адрес метода в качестве точки входа и использует эту информацию, чтобы начать выполнение до создания каких-либо объектов. А Void — это модификатор типа, который указывает, что метод или переменная не возвращает никакого значения.




Можно ли выполнить несколько блоков catch?

Нет, несколько блоков catch одного типа не могут быть выполнены. После выполнения соответствующего кода перехвата управление передается блоку «finally», а затем выполняется код, следующий за блоком «finally».


Почему у меня появляется это сообщение а на другом боте его нет?

Сделал я web apps в ТГ.
Вывожу ссылку в телеграмм боте на своё приложение
И получаю такое окно 👆

Вот так выводится ссылка.

InlineKeyboardMarkup inlineKeyboard = new(new[]
{
InlineKeyboardButton.WithWebApp("Test",new(){Url =$"https://mysite.com/login?userid={message.Chat.Id}" })

});

Message sentMessage = await botClient.SendTextMessageAsync(
chatId: chatId,
text: "Test",
replyMarkup: inlineKeyboard,
cancellationToken: cancellationToken);
Но есть приложения при открытии которых нет такой плашки.
Я не буду давать ссылку на ТГ бота в котором нет такой плашки, там шиткоины.
Что я не так делаю?
Мб траст и если много людей пользуется приложением то плашка пропадает?

C# / .NET задачи и вопросы


Объясните типы комментариев в C# с примерами
Одна линия

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

//This is a single line comment
ii. Несколько строк (/* */)

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

/*This is a multiple line comment
We are in line 2
Last line of comment*/
iii. XML-комментарии (///).

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

/// summary;
/// Set error message for multilingual language.
/// summary


Как правильно передать ключ для шифрования в ASP.NET Core?

У меня усть Web API, где используется RSA для шифрования некоторых данных. Подскажите, как грамотно передать ключ в API, что бы это было надёжно и секьюрно? В текущей реализации, ключ передаётся, в виде файлика .pem а путь к нему, указывается в конфиг файле.

Мне кажется что этот подход крайне не верен с точки зрения реализации, хотелось бы узнать best practices, как решаются подобные задачи?


C# / .NET задачи и вопросы


erid: LjN8JzPej

Привет!

Мы BAUM, российская IT-компания. Наша работа — создавать продвинутые системы хранения данных и разрабатывать прикладной искусственный интеллект.

Недавно мы завели аккаунт, где делимся своим опытом, даём советы для успешной карьеры, рассказываем об интересных событиях из нашей жизни и, конечно, публикуем вакансии.

Обещаем, что будет очень полезно и совсем не душно — подписывайся!




Чему равен d, если int a = 0; int b = a++; int c = 0; int d = a + b + c + 3
Опрос
  •   4
  •   False
  •   3
162 голосов


Периодическое пополнение списка данными из Infrastructure в UI

Пытаюсь научиться в WPF + CleanArchitecture, для начала разбил приложение на слои и обозначил их специфику.

При нажатии в приложении кнопки "Включить"

public MainWindowViewModel(
IWindow window,
IBackup backup)
{
EnableBackup.Subscribe(async _ =>
{
backup.Enable();
});
}
включается отслеживание в определённой папке, добавились ли туда новые файлы.

public void Enable()
{
watcher = new FileSystemWatcher(ApplicationSettings.Default.SourcePath)
{
IncludeSubdirectories = ApplicationSettings.Default.IsSearchSubdir,
EnableRaisingEvents = true
};
watcher.NotifyFilter |= NotifyFilters.LastWrite;
watcher.Created += new FileSystemEventHandler(OnCreated);
}
Если файл создался то далее по event уже вызываем OnCreated()

System.Windows.Application.Current.Dispatcher.Invoke(() =>
{
CopiedFiles.Value.Add(new CopiedFile
{
Time = DateTime.Now.ToLocalTime(),
FileName = (e.Name.Split('\\')).Last()
});
});
который получит название файла и время создания. Проблема в том, что функция проверки создания файла находится в слое Infrastructure, и обратное обращение запрещено, что бы заполнить свойство

public ReactiveProperty CopiedFiles { get; } = new();
Как можно решить эту проблему, может я куда то совсем не туда копаю?

C# / .NET задачи и вопросы


Как называется оператор «?:»
Опрос
  •   Прямой оператор
  •   Вопросительный
  •   Тернарный оператор
271 голосов


🦾Хардкорный тест по языку С🦾

📌Пройдите полный тест из 20 вопросов на сайте и проверьте, насколько вы готовы к обучению на углубленном курсе - «Программист С» от OTUS.
Сможете сдать - пройдете на курс с финальной скидкой 10% по промокоду devc10

⏰ Время прохождения теста ограничено 30 минут

👉ПРОЙТИ ТЕСТ


Заполнение переменных класса массивом с идентификатором

Есть класс только со свойствами

class SomeStruct{
public string Paper_1 { get; set; }
public string Paper_2 { get; set; }
public string Paper_3 { get; set; }
...
}
Каким образом можно заполнить переменные этого класса с помощью цикла, по типу:

SomeStruct someSt = new SomeStruct();
for (int i = 0; i < 5; i++)
{
someSt[i] = someData[i]
}
или

foreach (var item in someSt)
{
item = someData
}
Или как можно обратиться к переменной класса не по имени а по идентификатору?

C# / .NET задачи и вопросы


Как архитектурно правильно подходить к избыточности при проектировании высоконагруженных систем?

Узнайте на бесплатном практическом уроке «Балансировка и отказоустойчивость приложений с HAProxy» от OTUS, где вы вместе с опытным экспертом разберете:

1. Как настраивать TCP / UDP балансировщик
2. Как работает и настраивается haproxy
3. Ответы на все возникающие вопросы по теме

Занятие пройдёт 28 марта в 20:00 мск и будет приурочено к старту курса «Highload Architect». Доступна рассрочка на обучение!

Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.pw/0c0Z/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru




Чему будет равен с, если int a = 10; int b = 4; int c = a % b
Опрос
  •   2
  •   11
  •   1
  •   10000
218 голосов

Показано 20 последних публикаций.