Introduction

This exercise is expected to take less than 2 hours. However, time spent is not part of our assessment. Please work at your own pace in whatever environment is most comfortable for you. If you have any questions, please reach out to us!

Exercise

Write 3 functions (each with a different implementation) which accept a string and return a string containing the same characters as the input string -- but in a random order. Compare the 3 implementations and describe why you might prefer one implementation over another (and under what circumstances). Two of the implementations should use the System.Random type and its Next(int minValue, int maxValue) overload, while the third implementation isn't constrained to System.Random usage.  

Deliverables

  • C# source file(s), optionally including a Visual Studio solution and project(s) as you see fit
  • Comparison of the 3 implementations

Preferred delivery is via public Git repository (e.g. GitHub).