Giter VIP home page Giter VIP logo

code-challenge's Introduction

BuildNG

Pre-interview Technical Challenge

Repository push access will close after 11:59pm Jan 28

Thank you for applying for our pilot software engineer development program! This challenge will be the focus of the technical conversation we'll have during your interview. It consists of two parts:

Please clone this repo on your machine and make a branch named {yourname}-pilot-interview containing:

  1. Your application code
  2. An APP_README.md file detailing the key architectural and UX decisions you made (including language(s), frameworks, and paradigms you utilized/implemented and why) as well as instructions for running and using the app.

You'll be walking us through your code and running app during the technical part of your interview, so this will help you prepare. It's encouraged to start fleshing this out prior to even coding––we care first and foremost about your thoughtful approach, then clean and clear code, then a working app, then a fine looking UI.

The Challenge

Zomato has a public API that you can use to get restaurant information, including restaurant details, reviews, and menu information.

As an example, https://developers.zomato.com/api/v2.1/cuisines?city_id=280 returns a list of all cuisines that can be found in New York City restaurants.

The API requires you authenticate using a user_key which you can instantly generate for free.

The task is to create an application that presents the data from at least two endpoints. For example, an app that lists all sushi restaurants in New York City (using the /search endpoint), and upon clicking on a restaurant takes you to a detail page that includes its info and reviews (using the /reviews endpoint).

Platform Choice

You can create the application as either a web application or a mobile application in any of the following languages or platforms

  • .NET (Full Framework or Core), PHP, Ruby, Python and/or JavaScript for web applications
  • iOS, Android or Windows Mobile for mobile applications

Task requirements

Feel free to spend as much or as little time on the exercise as you like as long as the following requirements have been met.

  • Please complete the user story below.
  • Your code should compile and run in one step.
  • Feel free to use whatever frameworks / libraries / packages you like.

Extra credit

  • include tests
  • implement a search/filter for users to narrow down the results your app returns

User Story

As a user running the application
I can view a list of restaurants
So that I know which restaurants are currently available

As a user running the application
I can view each restaurant listed individually
So that I can view details about the restaurant

Technical questions

Please include answers to the following questions in your APP_README.md markdown file.

  1. How long did you spend on this technical challenge? What would you add to your solution if you had more time?
  2. What was the most useful feature that was added to the latest version of your chosen language? Please include a snippet of code that shows how you've used it.
  3. How would you track down a performance issue in production? Have you ever had to do this?
  4. How would you improve the Zomato API that you just used?
  5. Please describe yourself using JSON.

Thanks for your time, we look forward to meeting with you!

code-challenge's People

Contributors

chloerice avatar

Watchers

Craig Thomas 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.