TGViewer
Channel Public Channel
C# | Тесты

C# | Тесты

@easy_c_sharp_tests

Сайт: https://easyoffer.ru/
Все каналы: t.me/+xGeAw6ckJ4liYzQy

Контакт для рекламы: @sendme_ads
Subscribers
2.68K
Photos
30
Videos
0
Links
653

Showing posts older than #2528 · Back to latest

Older Posts 20 shown
Post #2525 395
🤔 Как реализовать Dictionary, чтобы не использовать ConcurrentDictionary?

Если ConcurrentDictionary по каким-то причинам не подходит, можно использовать обычный Dictionary, но при этом:
- Оборачивать доступ в lock (монитор), чтобы обеспечить потокобезопасность.
- Использовать ReaderWriterLockSlim для более гибкой блокировки чтения/записи. Такой подход требует ручной синхронизации, что сложнее и менее эффективно, чем готовое решение.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
  • 👍 1
Post #2523 437
🤔 Что такое Transient?

Transient — это самый короткий жизненный цикл.
Новый объект создаётся каждый раз, когда он запрашивается.
Подходит для лёгких, статeless-компонентов, где не требуется запоминание состояния.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Post #2521 461
🤔 Что такое куки и где оно хранится в запросе?

Это небольшие файлы данных, хранящиеся на стороне клиента и отправляемые серверу с каждым запросом.
1. Они содержатся в заголовке HTTP-запроса (Cookie).
2. Используются для хранения сессий, предпочтений пользователя и другой информации.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Post #2519 428
🤔 Что такое конкурентность в многопоточности?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
  • 👍 1
Post #2517 416
🤔 Какие типы шаблонов проектирования есть?

C# поддерживает все классические шаблоны проектирования (по GoF), включая:
- Порождающие: Singleton, Factory Method, Abstract Factory, Builder, Prototype.
- Структурные: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy.
- Поведенческие: Strategy, Observer, Command, State, Visitor, Mediator, Chain of Responsibility, Memento, Interpreter, Iterator, Template Method.
А также часто используются:
- Dependency Injection
- Repository
- Unit of Work
- MVVM (в WPF) и MVC (в
ASP.NET)

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Post #2515 426
🤔 В чём разница в загрузке данных между жадной, ленивой и явной?

- Жадная (Eager) загрузка — данные загружаются вместе с основным объектом сразу, обычно через Include. Это снижает количество запросов, но может привести к избытку данных.
- Ленивая (Lazy) загрузка — связанные данные подгружаются только при первом доступе к ним. Это удобно, но требует осторожности (можно случайно вызвать лишние запросы).
- Явная (Explicit) загрузка — данные подгружаются вручную при необходимости, через отдельный вызов. Такой подход даёт полный контроль, но требует больше кода.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Post #2513 472
🤔 В чём заключается реализация паттерна абстрактной фабрики

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Post #2511 490
🤔 Что такое Swagger?

Swagger (теперь часть OpenAPI):
- Это инструмент для документирования REST API.
- Позволяет:
- описывать API в формате JSON/YAML;
- автоматически генерировать документацию;
- предоставлять интерактивный UI, где можно тестировать запросы.
- Интеграция с .NET происходит через Swashbuckle.AspNetCore или NSwag.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
  • 👍 2
  • 🔥 2
Post #2509 455
🤔 Какие есть уровни изоляции транзакций?

SQL поддерживает несколько уровней изоляции транзакций, которые определяют, какие изменения видны между конкурентными транзакциями:
- Read Uncommitted – транзакции могут читать "грязные" (неподтвержденные) данные из других транзакций. Возможны аномалии.
- Read Committed – транзакция видит только подтвержденные изменения других транзакций. Исключает "грязные" чтения.
- Repeatable Read – гарантирует, что данные, прочитанные в одной транзакции, не изменятся до ее завершения. Возможны фантомные чтения.
- Serializable – самый строгий уровень, полностью исключает аномалии за счет блокировки записей или использования версионности.
- Snapshot (в SQL Server) – каждая транзакция работает со "снимком" данных, исключая конфликты без блокировок.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
  • 🔥 1
Post #2507 464
🤔 Как происходит работа с Thread-ами и Task-ами, если из нескольких обращаться к общему state?

При доступе к общему состоянию из нескольких Task или Thread могут возникнуть гонки данных (race conditions).
Чтобы избежать ошибок:
- Используют блокировки (lock, Monitor, Mutex).
- Применяют конкурентные коллекции (ConcurrentDictionary, BlockingCollection).
- Используют иммутабельность и локальные копии данных.
- В случае async/await — состояние можно защищать SemaphoreSlim.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →