C# Online Test

TestDome skill assessments are used by more than 11,000 companies and 1,030,000 test takers.

For Jobseekers

Practice your skills and earn a certificate of achievement when you score in the top 25%.

Take a Practice Test

For Companies

Test candidates with real-world problems and interview the best ones.

Sign Up to Offer this Test

About the test

The C# online test assesses knowledge of programming in the C# language through a series of live coding problems.

The assessment includes work-sample tasks such as:

  • Working with classes, objects, and interfaces to write reusable code.
  • Implementing and properly using algorithms and data structures to optimize application performance.
  • Using components provided by the .NET framework class library.

A good C# developer needs a solid understanding of the C# programming language as well as the .NET framework class library and its functionality to write robust and maintainable code.

Sample public questions

Easy
15 min
code
Public
AI-resistant
C#
Arithmetic
Arrays
Iteration

A gaming company is working on a platformer game. They need a method that will compute the character's final speed, given a map and a starting speed.

The terrain on which the game character moves forward is made from various pieces of land placed together. Implement the method CalculateFinalSpeed which takes the initial speed of the character, and an array of degrees of inclination that represent the uneven terrain.

The speed of the character will increase or decrease proportionally to the incline of the land, as shown in the image below:

Image showing the increase and decrease of character speed.

The magnitude of the angle of inclination will always be < 90°. The speed change occurs only once for each piece of land. The method should immediately return 0 as the final speed if an incline reduces the speed to 0 or below 0, which makes the character lose 1 life.

For example, the below code:

Console.WriteLine(CalculateFinalSpeed(60, new int[] { 0, 30, 0, -45, 0 }));

should print:

75
Hard
30 min
code
Public
AI-resistant
C#
2D Array
Graphs

A turn-based strategy game has a grid with water and land. The grid contains a true value where it's water and false where it's land.

The player controls a boat unit with a particular movement pattern. It can only move to fixed destinations from its current position as shown in the image below:

movement pattern

The boat can only move in a direct path through water to the possible destinations, so a destination will become unreachable if there is land in the way. 

Implement the CanTravelTo function, that checks whether a destination is reachable by the boat. It should return true for destinations that are reachable according to the pattern above, and false for unreachable or out of bounds destinations which are outside the grid. 

For example, consider the following code:

bool[,] gameMatrix = 
{
    {false, true,  true,  false, false, false},
    {true,  true,  true,  false, false, false},
    {true,  true,  true,  true,  true,  true},
    {false, true,  true,  false, true,  true},
    {false, true,  true,  true,  false, true},
    {false, false, false, false, false, false},
};

Console.WriteLine(CanTravelTo(gameMatrix, 3, 2, 2, 2)); // true, Valid move
Console.WriteLine(CanTravelTo(gameMatrix, 3, 2, 3, 4)); // false, Can't travel through land
Console.WriteLine(CanTravelTo(gameMatrix, 3, 2, 6, 2)); // false, Out of bounds

The following image shows valid and invalid destinations when the boat is in the position (3, 2):

terrain movement

For jobseekers: get certified

Earn a free certificate by achieving top 25% on the C# test with public questions.

Take a Certification Test

Sample silver certificate

Sunshine Caprio

Java and SQL
TestDome
Certificate
TestDome logo icon

For companies: premium questions

Buy TestDome to access premium questions that can't be practiced.
Get money back if you find any premium question answered online.

Sign Up to Offer this Test

70 more premium C# questions

Max Sum, Product Refactoring, Racer, Read First Line, Prefix, Chinese Box, Car Rental, Eye of the Storm, Document Store, Snapshot, Moving Total, Driver Exam, Classroom, Username, Weighted Average, Kilometer Converter, Document Counter, Disposable Wrapper, Platformer, String Occurrence, Hobbies, Language Teacher, Read Write Execute, Friend, Internal Nodes, Crop Ratio, Unique Numbers, Wheel Defects, Log Parser, Shelf Test, Chain Link, Worker, Veterinarian, Window Manager, Ceramic Store, Stories, Paper Strip, Segment, Flight Connections, Nullable Employee, Vectors, Date Transform, Book Sale, Construction Game, XML Navigation, Company Stock, Airport Networks, Patient Class, Patient Class, Unique Product, Ingredient Tuple, Stack to List, Log Patch, Circuit Simulator, Fire Dragon, Shining Star, Chemical Machine, Bicycle, Flimsy Ladder, Paragraph, Animal Hierarchy, Procedural Generator, Calories Burned, Sort Params, Parking Allocation, Popular Book, Node, Planet Search, Shipping, Digital Flasks.

Skills and topics tested

  • C#
  • Algorithmic Thinking
  • Accessibility Levels
  • OOP
  • Refactoring
  • Multithreading
  • Synchronization
  • Exceptions
  • LINQ
  • Data Structures
  • Sorting
  • Bug Fixing
  • Language
  • Lists
  • HashSet
  • Properties
  • Regex
  • Strings
  • Arithmetic
  • Inheritance
  • Method Overriding
  • Destructors
  • Memory Management
  • Linked List
  • Stream
  • Dictionary
  • Iteration
  • Graphs
  • Arrays
  • Tree
  • Integer Division
  • StringBuilder
  • Serialization
  • XML
  • Test Case Design
  • Unit Testing
  • Queue
  • Dynamic Programming
  • Null Coalescing Operator
  • Null Conditional Operator
  • Dynamic Objects
  • AI Code Review
  • Conditional Statements
  • Loops
  • 2D Array
  • Abstract Class
  • Tuples
  • Complexity
  • Stack
  • Extension Methods
  • Conditions
  • Higher Order Function
  • Interfaces
  • TDD
  • Field Modifiers
  • Random
  • Pass by Reference
  • Recursion

For job roles

  • .NET Developer
  • Back-End Developer
  • C# Developer
  • Web Developer

Sample candidate report

What others say

Decorative quote

Simple, straight-forward technical testing

TestDome is simple, provides a reasonable (though not extensive) battery of tests to choose from, and doesn't take the candidate an inordinate amount of time. It also simulates working pressure with the time limits.

Jan Opperman, Grindrod Bank

Product reviews

G2 - Crowd Badge
G2 - High Performer (2022)
Capterra - 4.5 Stars
Capterra - Shortlist (2023)

Used by

Solve all your skill testing needs

150+ Pre-made tests

From web development and database administration to project management and customer support. See all pre-made tests.

90+ skills

From JavaScript and SQL to English and customer support. See all questions to filter by skill.

Multi-skills Test

Mix questions for different skills or even custom questions in one test. See an example.

How TestDome works

1

Choose a pre-made test
or create a custom test

2

Invite candidates via
email, URL, or your ATS

3

Candidates take
a test remotely

4

Sort candidates and
get individual reports