This website uses cookies to optimize the use of the website for purposes statistics and popularizing the website using social networking sites. The storage conditions You can specify cookies in your web browser.

talentica
talentica
talentica talentica talentica talentica

IT KNOWLEDGE FOR RECRUITERS: .NET and C#

09.06.2021

talentica

IT KNOWLEDGE FOR RECRUITERS: .NET and C#

What is .NET really? Unfortunately, there is no clear answer because .NET describes a number of different technological aspects, e.g. servers that support specific solutions. .NET itself was created by the global IT giant - Microsoft, fully managed until 2000 by Bill Gates. .NET is nothing more than an environment that is used by programmers to write applications in C# technology. The platform itself was not under an open license for a long time, but due to pressure from the open source community, Microsoft in 2014 decided to open up the technology and make the lion's share of it available under an open source license.

C# itself is therefore a programming language, and .NET itself is a framework on which C # is based. Therefore, often when looking for a job offer, you may come across the requirements of a given organization regarding knowledge of both of these technologies: the .NET platform itself and the C# programming language. The .NET platform itself is also related to other technologies such as C++ or Delphi (by the way, the C# language is very similar to C++ and C because it was based on them). C# is quite easy for novice programmers to learn because it is a higher level compared to C. A .NET developer does not need to know C#, but a C# developer needs to know .NET because C# itself requires an environment to run and run. Code written in C# is compiled into Intermediate Language (IL), i.e. intermediate code, executed in the .NET runtime environment. The runtime environment itself (CLR - Common Language Runtime) allows programs written in .NET to be run on any hardware that is supported by .NET. C# is an object-oriented language that is an extension of C and C++, allowing you to build many different types of applications, which is discussed in more detail below. The biggest competitor of C# is Java, which has a powerful community of developers and many components behind it, but C# is a language that is doing great on the Microsoft platform, and as we know it is a global giant when it comes to operating systems.

Due to its stability, C# is mainly used by large companies, in Poland these are e.g. SII, Volvo, X-kom, Allegro. Of course, large companies have their own goal in this - security and stability are the foundations of their choice, but there are also a number of others, such as the multitude of components and code fragments written by the .NET community itself. Thanks to this, programmers do not have to spend a long time thinking about solving a specific problem, but can use a ready-made solution provided by the network. .NET itself, as a Microsoft platform, works (which is logical) very well with the Windows environment, which translates into great simplicity in the configuration itself. C# based on .NET is a language quite easy to learn, which also leaves many trivial errors during the compilation itself. C# also has some interesting components, one of them for memory management and resource allocation like Garbage Collector, a memory manager that frees up resources resulting from unused data.

Short characteristics of the technologies offered by the .NET platform:

  • ASP.NET - a technology that allows you to create web services and web applications;
  • .NET Core - technology used for applications that require multi-platform and heavy load. It does not allow programming of desktop applications.;
  • Winforms (Windows Forms) – allows you to create desktop applications that run in the Windows environment, such as controls or GDI elements;
  • .NET Remoting - a communication library that allows you to call remote .NET objects;
  • Enterprise Services - a library that allows you to create COM+ components run on the application server;
  • ADO.NET - database access library, Entity Framework is based on it.

Possible questions to ask a potential candidate:

  • How big were the projects you created?
  • What is the .NET runtime?
  • What level of .NET experience do you have, how do you rate yourself - junior/mid/senior?
  • Do you have certificates to assess your knowledge of the environment? If so, what kind?
  • What are the differences between .NET and .NET Core?
  • What are the differences between ASP.NET MVC and Winforms? Enter the most important.
  • What companies did you work for – were they corporations or rather smaller companies, up to 30 people?
  • What is the biggest challenge in .NET technology itself? Why isn't it perfect in every way?