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
20 min
code
Public
AI-resistant
C#
Arrays
Iteration

Your company is analyzing malware which targets numerical record files.

The malware uses a sliding window over the array of numbers in a file, and tries to match the following pattern:

T, -, -, X, -, -, -, T

Where the position ‘X' is compared to each position 'T'. The window is moved so 'X’ passes through all the values.

The malware has the following rules:

  • If any of the ‘T' positions in the pattern are bigger or equal to 'X’ the malware replaces 'X' with 0.
  • If the 'X' position in the pattern is near the left or right border and is missing a 'T' position neighbor, only the other side is considered.
  • The malware finds all the positions first and only then sets them to 0.

For example, if the values in a record file are the following:

new int[] { 1, 2, 0, 5, 0, 2, 4, 3, 3, 3 }

The expected values after the malware runs are:

new int[] { 1, 0, 0, 5, 0, 0, 0, 3, 3, 0 }

In this example, number 4 was set to 0 because 5 is the bigger number.

Implement the Simulate function so that the malware behavior is replicated for further study.

Easy
10 min
code
Public
C#
Arrays

Implement the UniqueNames method. When passed two arrays of names, it will return an array containing the names that appear in either or both arrays. The returned array should have no duplicates.

For example, calling MergeNames.UniqueNames(new string[]{'Ava', 'Emma', 'Olivia'}, new string[]{'Olivia', 'Sophia', 'Emma'}) should return an array containing Ava, Emma, Olivia, and Sophia in any order.

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

63 more premium C# questions

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

Skills and topics tested

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

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 (2022)

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