Giter VIP home page Giter VIP logo

coding-challenge-tools's Introduction

Web Coding Challenge

Here is a sample project that will give us some insight into your current level of experience.

This is a simple project, but organize, design, test and document your code as if it were going into production. Please then send us:

  • A link to the hosted application (e.g. Amazon EC2, Heroku, etc.)
  • A link to the hosted repository (e.g. Github/Bitbucket)

Write your README as if it was for a production service, and include the following items:

  • The project you chose (departure times, SF movies, bicycle parking or food trucks)
  • The technical track you chose (full stack, back-end or front-end)
  • Reasoning behind your technical choices (and level of experience with those)
  • 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 other code you're particularly proud of
  • Link to your resume or public profile

Functional spec

Prototype one of the following projects:

  1. Departure Times
  2. SF Movies
  3. Bicycle Parking
  4. Food Trucks

The UX/UI is totally up to you. Feel free to explain any assumptions you have to make. If you like, get creative and add additional features a user might find useful!

Departure Times

Create a service that gives real-time departure time for public transportation (use freely available public API). The app should geolocalize the user.

Here are some examples of freely available data:

SF Movies

Create a service that shows on a map where movies have been filmed in San Francisco. The user should be able to filter the view using autocompletion search.

The data is available on DataSF: Film Locations.

Bicycle Parking

Create a service providing directions to the nearest bicycle parking.

The data is available on DataSF: Bicycle Parking

Food Trucks

Create a service that tells the user what types of food trucks might be found near a specific location on a map.

The data is available on DataSF: Food Trucks

Technical spec

The architecture will be split between a back-end and a web front-end, for instance providing a JSON in/out RESTful API. Feel free to use any other technologies provided that the general client/service architecture is respected.

Choose one of the following technical tracks (full stack is preferred):

  1. Full-stack: include both front-end and back-end.
  2. Back-end track: include a minimal front-end (e.g. a static view). Write, document and test your API as if it will be used by other services and front-ends.
  3. Front-end track: include a minimal back-end, or use the data service directly. Focus on making the interface as polished as possible.

Back-end

We believe there is no one-size-fits-all technology. Good engineering is about using the right tool for the right job. A big part of what we do is learning new tools and technologies. Therefore, feel free to mention in your README how much experience you have with the technical stack you choose, we will take note of that when reviewing your challenge.

Here are some technologies we are more familiar with:

  • Python (most of our back-end uses this language)
  • JavaScript
  • Ruby
  • PHP
  • Go
  • C++
  • Haskell
  • Java

You are also free to use any web framework. If you choose to use a framework that results in boilerplate code in the repository, please detail in your README which code was written by you (as opposed to generated code).

Front-end

The front-end should ideally be a single page app with a single index.html linking to external JS/CSS/etc. You may take this opportunity to demonstrate your CSS3 or HTML5 knowledge.

We recommend using Backbone.js for front-end MVC, and recommend against using heavier front-end frameworks (like Angular, for example). That way we can get better insight into your thought process and your understanding of the framework itself.

Host it!

When you’re done, host it somewhere and provide us with the server's URL, as well as a public URL for the repository hosting your code.

How we review

Your application will be reviewed by at least three of our engineers. The aspects of your code we will judge include:

  • Functionality: Does the application do what was asked? If there is anything missing, does the README explain why it is missing?
  • Code quality: Is the code simple, easy to understand, and maintainable? Are there any code smells or other red flags?
  • Testing: How thorough are the automated tests? Will they be difficult to change if the requirements of the application were to change?
  • UX: Is the web interface understandable and pleasing to use?
  • Technical choices: Do choices of libraries, databases, etc. seem appropriate for the chosen application?

coding-challenge-tools's People

Contributors

charlax avatar jimmycuadra avatar marthakelly avatar

Watchers

 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.