C# & .NET Online Test
20 questions total, 50 minutes maximum, for mid-level programmers
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
Custom Branding
Do you want the C# & .NET coding test to match your own branding?
No problem! Use your company's domain and logo without any mention of Geektest.
Your applicants will think these programming assessment tests are all yours!
Branded PDF Report
Are you recruitment firm? Send your clients branded reports of your candidates.
You'll make a great impression!
Reports are provided in PDF format, making them easy to read, share and print.
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:
How many SQL queries will be executed against the database?
Answers
- One query
- Two queries
- 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:
- 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.
- Executing too many queries against the database; e.g. retrieving a list of customers, then executing individual queries to retrieve each customer's purchases.
- 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.
F.A.Q.
1. Does every candidate have to answer the same questions?
Yes. C# & .NET test consists of the same questions for every candidate.
In order to properly compare candidates, they need to answer questions of the same difficulty level, and different questions always mean different difficulty levels.
However, the order of questions and answers is randomized for each applicant.
2. How should I interpret the exam scores?
First of all, you need to keep in mind one very important thing:
The purpose of this C# & .NET online test is not to help you find the best developers.
Its purpose is to help you avoid the worst ones.
For example, you have 5 candidates who get scores of 35, 45, 60, 65, and 80, based on a maximum possible score of 100.
We would recommend you invite the last three (those scoring 60, 65, and 80) to a live interview, not just the one who scored an 80/100.
3. Coding Test vs. Quiz
The test is presented in a multiple-choice, or quiz, format, rather than requiring test takers to write code.
If we used a coding test instead, we would have to check all answers manually, which would obviously be impossible.
4. What skill level is the test for?
The test is primarily created for mid-level developers.
5. What about junior and senior level developers?
The test 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 developers 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 knowledge and accomplishments, this C# & .NET skills test is a good way to determine which ones can actually deliver what they promise.
Other .NET Tests
- C# & .NET
- C# & .NET & MS SQL
- C# & .NET & JavaScript
- C# & .NET & MS SQL & JavaScript
- ASP.NET MVC
- ASP.NET MVC & C#
- ASP.NET MVC & C# & MS SQL
- ASP.NET MVC & C# & JS
- ASP.NET MVC & C# & MS SQL & JS