C# & .NET Online Test

20 questions total, 50 minutes maximum, for mid-level programmers

The C# coding test allows you to easily assess the programming skills of candidates before ever inviting them to an interview.

This 20-question C# online test was compiled by a team of professional .NET developers and covers a broad spectrum of C# language knowledge. You can rely on the results of this exam to give you an accurate picture of which candidates might be worth hiring and which ones to pass on.

We hope you'll take advantage of the C# quiz to improve your interview process!

Programming test includes:

C# 6.0 & .NET 4.6  -  20 Questions

  • C# Syntax, C# Statements: "try-catch", "using"
  • Object-Oriented Programming (OOP)
  • Entity Framework, LINQ to SQL
  • Value Types vs. Reference Types
  • Miscellaneous: Generics, Delegates, Extensions
  • Miscellaneous: Structs, Singleton Pattern, Direct Cast vs "As" Operator

Sample C#/.NET Test Question

Consider the following C# code, which retrieves customers' information and their total purchase amounts from an MS SQL Database using the Entity Framework:

C# Test Questions

How many SQL queries will be executed against the database?


  1. One query
  2. Two queries
  3. Three queries

The correct answer is one query.

Answer explanation

Both the GetCustomers and GetSales methods are IQueryable. This means they return query expressions, not actual collections.

As a result, we execute a single complex query against the database (when .ToList() is called) instead of retrieving two collections separately and joining them server-side.

Why this question is important

This C# test question proves a developer's understanding of the difference between the IQueryable and IEnumerable interfaces.

It's important for C# developers to understand how the Entity Framework and LINQ to SQL interact with an SQL database.

Wrong built LINQ-To-SQL queries and misunderstanding of the differences between IQueryable and IEnumerable can cause serious performance issues, such as:

  1. Retrieving too much data from the SQL database; e.g. retrieving all rows from a table when only 20 entries are actually displayed at a time.
  2. Executing too many queries against the database; e.g. retrieving a list of customers, then executing individual queries to retrieve each customer's purchases.
  3. Executing overly complex queries against the database. If a query is too complex, you can actually get time-out exception. Sometimes it's preferable to split a complex query into two or more sub-queries and handle them further server-side.

Register Download Sample Report


1. How did we make the test?

This C# programming test was written by the team of five C# developers, each of whom has 7 or more years of .NET programming experience.

Once they were finished writing the questions, we selected the ones we determined were the most interesting and useful in terms of indicating actual development skill. Of all the questions that were created for the test, only 30% made it into the final version.

2. Does every candidate have to answer the same questions?

Yes, C# exam consists of the same questions for every candidate.

In order to make a fair comparison between candidates, each candidate needs to answer questions of equal difficulty, and the only way to ensure that is by giving each candidate the exact same set of questions.

That said, the order of questions and answers is randomized for each candidate.

3. What do the exam scores mean?

The first thing you need to keep in mind about the technical test is the following:

This C# online test is not intended to help you find the best candidates.

It is intended to help you avoid the worst ones.

Say you give the C# test to 5 candidates and they get scores of 35, 45, 60, 65 and 80 with the maximum score of 100.

The candidate who got an 80 is obviously a promising candidate, but you should invite the ones who got 65 and 60 to a live interview as well.

Skills and knowledge are just part of the picture.

You need consider many factors when deciding which candidate to hire, such as actual development experience and their ability to work as part of a team.

In other words, don't hire a candidate based solely on their skill test results!

4. С# Quiz vs. Coding Test

Our test takes the form of a multiple-choice quiz; i.e. users choose their answers from a set of options instead of writing their own code.

We're aware some of our clients would prefer a "proper" C# coding test, but automating such a system would be impossible: since there are so many different ways to write code which achieves the same result, we would have to check all answers by hand!

We do have a stopgap in mind for the future: eventually, customers will be able to add their own questions with write-in responses.

This will allow you to screen candidates based on both the results of our C# quiz as well as your own custom questions.

If you have any questions or feedback regarding this feature, be sure to contact us!

5. What skill level is the test for?

This C# practice test is designed with mid-level developers in mind. It can also be used to test junior programmers, but you should reduce your acceptance score drastically to compensate.

Likewise, you can use it to test senior .NET programmers as well, with an increased acceptance score.

Some will argue that it's pointless to judge senior developers based on a test meant for mid-level developers. This is generally true if you're looking for specific skills in a candidate rather than a broad base of expertise.

But at the same time, anyone can claim to be a senior developer on their resume. If you're concerned that candidates might be overstating their C# skills and accomplishments, this knowledge test is a good way to determine which ones can actually deliver what they promise.