Кои шаблони за дизайн използвате най-често в работата си?
C#
Как да организирате изпълнението на един тестов метод няколко пъти с различни аргументи без използване на атрибути?
Каква е разликата между абстрактен клас и обикновен клас?
Как може да се реализира, че базовият клас да не зависи от наследниците? Как може базовият клас да знае за съществуването на наследниците?
Как разбираш принципа Open/Closed? Класът е затворен за модификации, но отворен за разширения — какво означава това?
Какви инструменти в C# позволяват да разширите или промените поведението на метод без да модифицирате оригиналния клас?
Как използвате патърна Singleton в архитектурата на плъгините? Как организирате връзката между плъгините?
Ако говорим за C#, може ли да се направи пренатоварване на метода за разширяване на поведението?
Какво е поток? Как го разбирате?
Какво е моделът Фасада? Разкажете за него накратко.
Как да прехвърлим работата от време на изпълнение към етапа на компилация? Например, как се прави това в System.Text.Json?
Как да създадете собствен (персонализиран) атрибут в C#?
Кои ключови думи в метода позволяват да го презапишете в C#?
Винаги ли async/await работи в отделен поток? От къде идват потоковете?