I would appreciate if someone could please answer to the following queries.
- Difference between "new" and "new virtual" when deriving classes from other classes.
- Difference between Abstarction and Encapsulation (with example, if possible).
- Types of constructors and their implementations (when and how to use).
- Different types of locking mechanisms and/or deadlock prevention ways and when to use what.
- Different types of design patterns, when to use what and their usage (with example, if possible).
- Difference between async and await and when to use them (with example, if possisble).
- What other topics do you suggest to prepare for .NET, C#, OOP, WPF and SQL?
I know these are multiple topics under a single thread but you may please answer to the ones which you think would be beneficial.