Giter Site home page Giter Site logo

coding-challenge's Introduction

Udemy Web App Coding Challenge

We got to know you and we really liked speaking with you! We also need to understand how it is to be working with you, so we'd like to ask you to complete this relatively small project to help us understand how you approach problems and express your solutions. Please take this as an opportunity to express yourself rather than a test and try to enjoy it along the way!

Functional spec

Please implement a quiz-taking system.

  • The system should be a full-stack web application.
    • It should have a backend API to get the questions.
    • And a frontend UI to answer them.
  • The quiz consists of one or more questions.
  • The quiz only has multiple-choice questions.
  • The app should tell the user how he did at the end of the quiz.

What to do

  • Do make use of frameworks, libraries, plugins, anything that helps you build this. We use Django on the backend and React/MobX on the frontend, if you're looking for ideas ;)
  • Do try to host the app somewhere that we can play with it.
  • Alternatively, do take a screencast of how it works, if you run it locally.
  • Do apply common sense to the scale of the app - quizzes can have tons of features, limit yourself to what you need.
  • Do have fun!

What not to do

  • Do not make use of an actual quiz library :)
  • Do not worry about creating an admin interface for quiz creation, feel free to define the quiz directly in the DB.
  • Do not worry about user authentication.
  • Don't forget to document your application!

Documentation

Please write your README as if it was for a production service. Include the following items:

  • Description of the problem and solution.
  • Whether the solution focuses on back-end, front-end or if it's full stack.
  • Reasoning behind your technical choices, including architectural.
  • Trade-offs you might have made, anything you left out, or what you might do differently if you were to spend additional time on the project.
  • Link to to the hosted application where applicable.

How we review

Your application will be reviewed by our engineers. We do take into consideration your experience level.

We value quality over feature-completeness. It is fine to leave things aside provided you call them out in your project's README. The code should be as close to production-ready as possible

The aspects of your code we will assess include:

  • Correctness: does the application do what was asked? If there is anything missing, does the README explain why it is missing?
  • Architecture: does the application handle requests and data efficiently? Is the code structured in a reusable and easily adaptable way?
  • Code quality: is the code simple, easy to understand, and maintainable? Are there any code smells or other red flags? Is the coding style consistent with the language's guidelines? Is it consistent throughout the codebase?
  • Testing: do you have some unit and some integration tests?
  • Technical choices: do choices of libraries, databases, architecture etc. seem appropriate for the chosen application?

coding-challenge's People

Contributors

arski 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.