Architecture & Design The Top 4 Code Testing Sites for Developers in 2021

The Top 4 Code Testing Sites for Developers in 2021

I hate tests. I really do. For me, writing a test (whether it be theoretically or practically) is torture. The problem is that I am inherently nervous, and when put in a box, I will escape as soon as possible, and never return.

I also hate practical tests, extremely.

Don’t get me wrong, I have written many tests, I cannot even remember how many, and I still do write tests. Apart from being a very nervous person (I do take pills for that), I am extremely impatient and get bored very quickly. If I feel the test is boring, I’ll give somewhat of an honest attempt and hope for the best.

I have a very active mind. It is always somewhere else. I hate it sometimes because it makes it uncomfortable for people that doesn’t know me well enough. I need stimulation always and everywhere.

Being a software developer, tests become the norm. When applying for jobs, you will have to write tests to being hired. Now, this is where it gets sticky (for me, at least); some places give tests that do not make sense, with the test seemingly being copied and pasted from somewhere, or some places only want to hire geniuses who can figure out the most complex math problems.

There are quite a few sites that can help test your skills. Software houses rather tend to give you an electronic test at these sites, instead of providing an in-house test. The reasoning behind this could be that they are too busy to create custom tests, or because sites such as these that I will mention are relatively new.

My own experience shows that most of the questions are common day-to-day routines, math problems, and string manipulation. This is where my issue comes in: They expect the answer in a certain way, whereas I may have a different way of doing things. One example comes to mind quickly:

The creation of a sequence of Fibonacci numbers. For the uninformed, Fibonacci number are generated by adding the two previous numbers to obtain the next answer. For example:

The first twenty numbers in the Fibonacci sequence is:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765

I would create this functionality inside my program in the following way:

VB.NET

   Private Sub Button1_Click(ByVal sender As System.Object, _
         ByVal e As System.EventArgs) Handles Button1.Click
      Dim n As Integer
      For n = 1 To 40
         ListBox1.Items.Add(fib(n))
         Application.DoEvents()
      Next
   End Sub
   Function fib(ByVal n)
      If n < 2 Then Return n _
         Else Return fib(n - 1) + fib(n - 2)
   End Function

C#

   private void Button1_Click(System.Object sender,
      System.EventArgs e)
   {
      int n;
      for (n = 1; n <= 40; n++)
      {
         ListBox1.Items.Add(fib(n));
         Application.DoEvents();
      }
   }

   public void fib(object n)
   {
      if (n < 2)
         return n;
      else
         return fib(n - 1) + fib(n - 2);
   }

Technically, I suppose that this is not the 100% correct way of doing it, but this has worked for me since I can remember. Now, with these tests, the above code is not really accepted because they provide some sort of a template for you to fill in the gaps.

The above code is not complicated at all, but in my experience doing something similar on the testing platforms, is unnecessarily over-complicated, In my opinion.

Developer Testing Sites

There are numerous developer testing sites, I will talk about four of the most popular sites. They are:

  • TestDome
  • Codility
  • Devskiller
  • Hackerank

TestDome

TestDome

Now, I have many years of experience in programming, giving classes, writing articles, and even a book that I am busy with, and I have not heard about a binary gap before, thus not having the need for it (my experience—yours may be different). Perhaps I was just living under a rock? And this was marked as Easy?

Yes, the reading material supplied with some of the questions does help, but I still feel that there are questions for people more clever than I will ever be.

Another nice feature is the data that you can see afterwards that they used for testing purposes.

Codility
Figure 2: Codility

Desvkiller

Devskiller

I just find the number of available languages a bit limiting. What is also nice is the Interview Preparation Kit, which contains a number of tests with which you can practice.

HackerRank
Figure 4: HackerRank

Conclusion

Using sites like these will improve your skills, without a doubt, but keep in mind that there are many ways to skin a cat; don’t allow yourself to be boxed-in and forced to do things one way, when another way could also work.

Latest Posts

Related Stories