In .NET there are basically three different types of assemblies as follows.
1.Private assemblies:-A private assembly is normally used by a single application and is stored in the application's directory.
2.Public/shared assemblies:- A shared assembly is normally stored in the global assembly cache which is a repository of assemblies maintained by the .NET runtime.
3.satellite assemblies:-Satellite assemblies are often used to deploy language-specific resources for an application. These language-specific assemblies work in side-by-side execution because the application has a separate product ID for each language and installs satellite assemblies in a language-specific subdirectory for each language.
You will be also interested in watching the below video, which are also asked in most of the interviews and favorable question of interviewers.
Please click here to see more .NET/ Asp.Net interview questions
Private & shared assemblies. We can register Shared assembly through gacutil than we can user in any projects. But In private assembly we have to add Individually for every project.