Latest posts

C# | Вопросы собесов
22 Sept, 16:10
🤔 Какие основные свойства и методы IEnumerable?IEnumerable предоставляет: - Возможность перебора элементов в коллекции. - Метод GetEnumerator(), возвращающий итератор. - Поддерживает foreach. IEnumerable<T> используется для отложенного выполнения и однократного прохода по данным.Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
C# | Вопросы собесов
22 Sept, 09:05
🤔 Что такое Redis?Это система управления базами данных с открытым исходным кодом, работающая в памяти и поддерживающая множество типов данных, таких как строки, списки, множества, хеши и другие. Redis часто используется как кэш, брокер сообщений и база данных. Он известен своей высокой производительностью, низкой задержкой и простотой в использовании.🚩Особенности🟠Работа в памяти Redis хранит все данные в памяти, что обеспечивает очень быструю скорость чтения и записи. Данные также могут периодически сохраняться на диск для обеспечения долговечности.🟠Поддержка различных типов данных Строки (Strings): Самый простой тип данных в Redis, который может содержать текст или двоичные данные. Списки (Lists): Упорядоченные коллекции строк, которые можно использовать как очереди или стеки. Множества (Sets): Неупорядоченные коллекции уникальных строк. Упорядоченные множества (Sorted
C# | Вопросы собесов
21 Sept, 19:35

C# | Вопросы собесов
21 Sept, 16:10
🤔 Что такое методы расширения LINQ и для чего нужны?Это статические методы, которые позволяют работать с коллекциями, например, Where, Select, OrderBy. Они упрощают обработку данных и делают код читаемым.Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
C# | Вопросы собесов
21 Sept, 09:05
🤔 Пример выполнения кода, когда возвращается объект интерфейса Iqueryable?IQueryable<T> — это интерфейс, который используется для отложенного выполнения запросов (deferred execution). Он позволяет строить SQL-запросы к базе данных или манипулировать данными в памяти, но сам запрос выполняется только в момент его итерации (ToList(), FirstOrDefault(), Count(), и т. д.).🚩Пример работы с IQueryable<T> на Entity Framework CoreПредположим, у нас есть сущность Product и контекст базы данных AppDbContext public class Product { public int Id { get; set; } public string Name { get; set; } public decimal Price { get; set; } }public class AppDbContext : DbContext { public DbSet<Product> Products { get; set; }protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) {
C# | Вопросы собесов
20 Sept, 16:10
🤔 Какие есть типы данных в .NET?В .NET типы делятся на две большие категории: - Значимые (Value types): хранят данные непосредственно. - Примитивы: int, double, bool, char - Структуры: DateTime, Guid, пользовательские struct - enum — перечисления - Ссылочные (Reference types): содержат ссылку на данные, которые лежат в куче. - Классы (class) - Интерфейсы (interface) - Делегаты - Массивы - string (особенность: неизменяем, но ссылочный)Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
C# | Вопросы собесов
20 Sept, 09:05
🤔 Что такое lock-еры?lock используется для управления доступом к ресурсам в многопоточных приложениях. Это предотвращает возникновение проблем, связанных с одновременным доступом нескольких потоков к одному и тому же ресурсу, что может привести к непредсказуемому поведению или коррупции данных.🚩Как это работает?Принимает в качестве параметра объект, который используется в качестве мьютекса (взаимоисключающего объекта). Во время выполнения блока кода внутри lock, текущий поток "захватывает" мьютекс. Если другой поток попытается войти в заблокированный участок кода, используя тот же мьютекс, он будет приостановлен до тех пор, пока первый поток не завершит выполнение блока lock и не освободит мьютекс. public class Account { private decimal balance; private readonly object balanceLock = new object();public void Deposit(decimal amount) { lock (balanceLock) { balance += amount; } }
C# | Вопросы собесов
19 Sept, 16:10
🤔 Какие типы HTTP-запросов бывают и где в них передаются данные?1. GET: данные передаются в URL как параметры. 2. POST: данные передаются в теле запроса. 3. PUT и PATCH: обновляют данные, передавая их в теле запроса. 4. DELETE: удаляет ресурс, данные могут передаваться в URL или теле.Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
C# | Вопросы собесов
19 Sept, 09:05
🤔 Какие есть виды привязок данных и когда применяются?Привязка данных (Data Binding) — это механизм, который позволяет автоматически синхронизировать данные между источником (например, моделью) и интерфейсом (например, элементами UI).🚩Односторонняя привязка (One-Way Binding)Данные идут только в одном направлении: из модели в UI. - Для вывода данных, которые не должны изменяться пользователем - Например, для отображения текущего времени Пример в WPF <TextBlock Text="{Binding UserName}" />🚩Двусторонняя привязка (Two-Way Binding)Данные синхронизируются в обе стороны: UI ↔️ Модель - В формах ввода (например, TextBox), чтобы обновлять данные в модели - Используется в MVVM Пример в WPF <TextBox Text="{Binding UserName, Mode=TwoWay}" />
C# | Вопросы собесов
18 Sept, 16:10
🤔 Что такое ссылочный тип и в чем их особенности?Ссылочные типы (классы, интерфейсы, делегаты) хранятся в куче и передаются по ссылке. Их изменение внутри метода сохраняется после выхода из него, а сборщик мусора управляет их памятью.Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
C# | Вопросы собесов
18 Sept, 09:05
🤔 Что такое предикат?Это делегат, представляющий метод, который принимает один или несколько аргументов и возвращает логическое значение (true или false). Предикаты часто используются для фильтрации коллекций, поиска элементов и других операций, связанных с условными проверками.🚩Особенности🟠Тип делегата В C# предикат представлен делегатом Predicate<T>, который принимает один аргумент типа T и возвращает bool.🟠Использование Предикаты обычно используются в методах стандартных коллекций, таких как List<T>, для поиска, удаления и фильтрации элементов.🚩Пример использования предикатаОпределение предиката public static bool IsEven(int number) { return number % 2 == 0; }
C# | Вопросы собесов
17 Sept, 09:05
🤔 Какие есть способы (протоколы) обмена данными между сервером и клиентом?При взаимодействии клиента и сервера используются различныепротоколы обмена данными, в зависимости от задачи, скорости, надежности и реального времени.🚩HTTP(S) – стандартный протокол вебаКлиент (браузер, мобильное приложение) делает запрос к серверу. Сервер отправляет ответ с данными (HTML, JSON, XML). Использует методы: GET, POST, PUT, DELETE и т. д. fetch('https://api.example.com/data') .then(response => response.json()) .then(data => console.log(data));🚩WebSocket – двусторонняя связь в реальном времениКлиент устанавливает постоянное соединение с сервером. Сервер и клиент могут отправлять друг другу данные в любое время. Используется для чата, онлайн-игр, бирж, обновлений в реальном времени. const socket = new WebSocket('wss://example.com/socket');
C# | Вопросы собесов
16 Sept, 16:11
🤔 Что такое перегрузка метода?Это возможность объявлять методы с одинаковым именем, но с разными параметрами (типами, количеством или порядком). • Она позволяет создавать более гибкий и удобный интерфейс класса. • Пример: void Print(string message) { ... } void Print(int number) { ... } Каждый из методов будет вызываться в зависимости от переданных аргументов.Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
C# | Вопросы собесов
16 Sept, 09:05
🤔 В чем суть extension методов?Extension-методы (методы расширения) — это способ добавить новые методы к существующим классам, не изменяя их код и не создавая наследников. Они позволяют расширять классы и интерфейсы, даже если у нас нет доступа к их исходному коду.🚩Как работают extension-методы?Это обычные статические методы, но объявленные внутри статического класса. Первый параметр метода должен принимать тот тип, который мы хотим расширить, и перед ним ставится ключевое слово this. После этого метод становится доступен как "встроенный" у этого типа.🟠Добавляем метод к string Допустим, у нас есть строка, и мы хотим добавить метод ToSnakeCase, который заменяет пробелы на нижние подчеркивания. using System;public static class StringExtensions { public static string ToSnakeCase(this string str) { return str.Replace(" ", "_").ToLower(); }
C# | Вопросы собесов
15 Sept, 16:10
🤔 Что такое String?String в C# — это класс, представляющий неизменяемую последовательность символов. Каждый раз, когда строка изменяется, создаётся новый объект String, а старый объект остаётся в памяти до сборки мусора. Строки поддерживают методы для работы с текстом, такие как конкатенация, сравнение и поиск подстрок. Так как строки неизменяемы, для частых изменений строк предпочтительнее использовать StringBuilder.Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
C# | Вопросы собесов
15 Sept, 09:05
🤔 Если в двух переменных хранится одинаковое значение, то будут ли они равны?Сравнение значений переменных может зависеть от типа данных, хранящихся в этих переменных, и от способа их сравнения.🟠Примитивные типы (Value Types) Для примитивных типов (например, int, float, char, bool) значение хранятся непосредственно в переменных, и их сравнение выполняется по значению. int a = 5; int b = 5;bool areEqual = (a == b); // True🟠Ссылочные типы (Reference Types) Для ссылочных типов (например, классы, строки) переменные содержат ссылки на объекты в куче. Сравнение ссылочных типов по умолчанию выполняется по ссылке, а не по значению. class Person { public string Name { get; set; } }Person person1 = new Person { Name = "Alice" }; Person person2 = new Person { Name = "Alice" };
C# | Вопросы собесов
14 Sept, 16:10
🤔 Для чего нужны нереляционные базы данных?Нереляционные базы данных (NoSQL) используются для работы с большими объёмами данных, структурированных или неструктурированных, а также для обеспечения гибкости и масштабируемости. Они подходят для хранения документов, ключей-значений, графов или временных рядов. Такие базы, как MongoDB или Redis, идеальны для приложений с динамической структурой данных или высокой нагрузкой.Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
C# | Вопросы собесов
14 Sept, 09:05
🤔 Что такое I/O bound и CPU bound?При выполнении программных задач можно выделить два типа нагрузок:I/O-bound (ограничение ввода-вывода) CPU-bound (ограничение процессора)🚩I/O-bound (ограничение ввода-вывода)Основная проблема: программа ждет завершения операций ввода-вывода (диска, сети, базы данных, файловой системы и т. д.), а не загружает процессор. Примеры: - Чтение и запись файлов на диск - Запросы к базе данных - HTTP-запросы к API - Чтение данных из сети Решение: Использование асинхронного программирования (async/await), чтобы не блокировать поток. public async Task<string> FetchDataAsync() { using HttpClient client = new HttpClient(); return await client.GetStringAsync("https://example.com");
C# | Вопросы собесов
13 Sept, 16:11
🤔 Пример паттерна Строитель?Например, при создании объекта типа "Отчёт": - У объекта много параметров (заголовок, дата, содержимое, автор, таблицы). - С помощью билдера можно поочерёдно вызывать методы SetTitle(), SetContent(), SetFooter() и получить готовый объект методом Build(). Этот подход улучшает читаемость и гибкость кода.Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
C# | Вопросы собесов
13 Sept, 09:05
🤔 Что такое метод Finalize?Метод Finalize() представляет собой специальный метод, который предназначен для выполнения финальной очистки ресурсов перед тем, как объект будет уничтожен сборщиком мусора. Это метод, который может быть определен в классе для очистки неуправляемых ресурсов, если класс не реализует интерфейс IDisposable.🚩Особенности метода🟠Автоматический вызов Сборщик мусора автоматически вызывает Finalize() на объекте, который не имеет других активных ссылок и который определяет финализатор. Это происходит непосредственно перед тем, как сборщик мусора освобождает память, занимаемую объектом.🟠Определение в базовом классе Object Все объекты наследуют от базового класса Object, который предоставляет реализацию Finalize(). Однако в большинстве случаев Finalize() не имеет реализации и не делает ничего, пока не будет переопределен в производном классе.🟠Замедление
Related Channels
Other channels in the same section of the catalogue.
