C# Online Test
For Jobseekers
Practice your skills and earn a certificate of achievement when you score in the top 25%.
Take a Practice TestFor Companies
Test candidates with real-world problems and interview the best ones.
Sign Up to Offer this TestAbout 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
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.
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 TestSample silver certificate
Sunshine Caprio
Java and SQL TestDomeCertificate
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.
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
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
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
Choose a pre-made test
or create a custom test
Invite candidates via
email, URL, or your ATS
Candidates take
a test remotely
Sort candidates and
get individual reports