{"id":20904712,"url":"https://github.com/sage/dotnet-coding-challenge-2","last_synced_at":"2025-05-13T05:30:49.912Z","repository":{"id":137383514,"uuid":"334101208","full_name":"Sage/dotnet-coding-challenge-2","owner":"Sage","description":"Alternative Sage .NET Core candidate interview challenge","archived":true,"fork":false,"pushed_at":"2021-01-29T13:22:57.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-03-12T21:28:13.376Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.sage.com","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sage.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-29T09:46:54.000Z","updated_at":"2024-05-24T16:29:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"79027d7f-ffb8-4cb2-862b-6010547f0a20","html_url":"https://github.com/Sage/dotnet-coding-challenge-2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sage%2Fdotnet-coding-challenge-2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sage%2Fdotnet-coding-challenge-2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sage%2Fdotnet-coding-challenge-2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sage%2Fdotnet-coding-challenge-2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sage","download_url":"https://codeload.github.com/Sage/dotnet-coding-challenge-2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253882731,"owners_count":21978542,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-18T13:18:36.030Z","updated_at":"2025-05-13T05:30:49.905Z","avatar_url":"https://github.com/Sage.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# .NET Coding Challenge 2\n\u003e This coding challenge is for a .NET developer. We are making the assumption that you are familiar with .NET Core.\n\nYour task is to build a solution that parses text.\n\nThere is no strict time limit and you won't be judged on how long it took you to complete, however we would like you to spend between 1-2 hours on this.\n1. You must use .NET Core and C#\n2. You do not need any persistent storage.\n3. You can use any NuGet package but be prepared to justify its usage.\n\n## Specification\nWe want you to develop an application that processes text and supplies a summary of statistics based on that text.\n\n### Statistics Requirements\n - Raw size, in bytes of the text (assuming UTF-8 encoding if specified).\n - Number of words in the text.\n - List of distinct words in the text and the number of occurences of each.\n - All punctuation is to be ignored when counting words (and distinct words).\n - Examples of punctuation are members of the following categories in [UnicodeCategory](https://docs.microsoft.com/en-us/dotnet/api/system.globalization.unicodecategory?view=netcore-3.0): `ConnectorPunctuation`, `DashPunctuation`, `OpenPunctuation`, `ClosePunctuation`, `InitialQuotePunctuation`, `FinalQuotePunctuation`, or `OtherPunctuation`. \n - Words are defined as any sequence of alphanumeric characters containing no whitespace.\n\n### Extra considerations\n- Is the implementation scalable? (We may need to run this against multiple/larger files).\n- Consider the efficiency of the code.\n\n## How we will assess your work\nWe are looking for production quality code which utilises design patterns where appropriate and conforms to best practices and principles such as SOLID, etc. Other things we will take into consideration:\n\n - Code should be testable and easy to maintain.\n\nYou should clone this repository and when you're ready to share your work push it to private repository and our recruitment team will let you know the username to add as a collaborator so we can check it out.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsage%2Fdotnet-coding-challenge-2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsage%2Fdotnet-coding-challenge-2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsage%2Fdotnet-coding-challenge-2/lists"}