Giter Site home page Giter Site logo

mercurynewmedia-test's Introduction

Mercury New Media - Coding Skills Test

You are working with a top-tier state university that needs help accessing their student and course data.

The university currently offers 350 different courses to over 10,000 students.

Currently, we have two rough C# interfaces, IStudentAPI and ICourseAPI, with only one method each.

Refactoring

We would like to see how you would improve the example code. Please include a couple sentences describing your changes along with the rationale, along with any additional changes you would have made given more time.

API Design

Extend the IStudentAPI to include methods to satisfy the following criteria:

  • Retrieve all students, ordered by last name, as a pageable result set
  • Find all students enrolled in a specified course
  • Find all students with a given last name

Extend the ICourseAPI to include methods to satisfy the following criteria:

  • Retrieve all courses, ordered by course name, as a pageable result set
  • Find a single course by name

Assume that the consumers of the interface will only receive the API specification, including any documented assumptions, error conditions, and method parameters. Judicious use of XML comments on the interface is encouraged.

Implement your newly added interface methods.

Unit Testing

In order to validate your API, what unit tests would you need to ensure it works as specified?

Implement those tests in the test project.

Time

Please limit your time to 2 hours. Include a few sentences about the changes you made, or any additional changes you would make given more time.

mercurynewmedia-test's People

Contributors

barbosatek avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.