Giter Club home page Giter Club logo

tny-tech-test's Introduction

The New Yorker Technical Test

Hello and welcome to The New Yorker Technical Test! Within this repo, you will find the technical assignment required for the completion of The New Yorker Product Engineering (Web) interviewing process.

Before we begin, here are a few key points to keep in mind as you tackle this assignment and its requirements:

Key Points

  1. โ— This assignment is one (1) of many criteria that will be evaluated about a candidate. So, please remember to read the instructions carefully, be thoughtful, and don't be afraid to show your creativity
  2. Candidates should take no more than eight (8) hours to complete this assignment. This work time can be spread across a seventy-two (72) hour turnaround period
  3. Candidates are expected to:
    • Clone this main repo (Please do not fork this repo!)
    • Make changes in the cloned repo
    • Incremental commits are encouraged to visualize how the application evolved during the development
    • Update README file with clear instructions on how to set up and run the application
    • Once completed, push the changes in your github repository
    • Share the repository link. The resulting repo must be set to public
  4. This assignment is tiered with a few optional tasks. Candidates are required to:
    • Complete the basic application requirements
    • Complete the requirements mapped to the engineering level they are interviewing for

Optional tasks have been provided as a creative challenge for those who are interested but they are not required for your assignment to be eligible for review

  1. Candidates should reach out to their recruiting contact if they have any further questions

The Assignment

Skip to:
Basic Application Requirements
Additional Tiered Requirements
Optional Tasks for All levels

Instructions

All candidates are asked to build a React app that:

  1. Renders a front-end client
  2. Has a back-end interface that interacts with the designated REST API -- NewsAPI (https://newsapi.org/)

Your application's front-end client must be built on the foundation of the boilerplate app presented in this repo. Feel free to add, remove, and modify any files as needed. Please refrain from implementing create-react-app or create-next-app in your project as it will NOT be viewed as an acceptable change.

You must be sure to acquire a public API Key for your application's back-end interface so that your branch can be run locally.

Your application must follow these minimum application requirements:

Basic Application Requirements

A candidate's application must follow the general format of these wireframed layouts:

Desktop Mobile

Front-end requirements

  • Must have a navigation

  • Must display a card-based layout of stories on the landing page

  • Must have a footer

  • Must be responsive for mobile devices

  • Story items must render an image, header, and description

  • Story items must click through to the larger article

  • Must apply a design system to the application's UI. Candidates can use one (1) of the following design systems or any other design system they may be familiar with:

    Please note that Bootstrap is NOT a design system

Back-end requirements

  • Must make a successful HTTP request to the REST API when ran locally
  • Must provide data to the front-end client for rendering

Additional Tiered Requirements

Levels
Junior-level (Associate SE) Candidates
Mid-level (SE1) Candidates
Senior-level (SE2) Candidates
Principal-level (SE3) Candidates

Optional Tasks for All levels

These tasks are optional and are not required for a candidate's test to be reviewed. If time permits, candidates can attempt to add any of the following:

  • Image lazy loading
  • One (1) error page state for when a non ok status is given by the REST API

Mid- to Senior-level candidates can also attempt to:

  • Render A11y compliant components
  • Add auto-complete to the search bar feature
  • Incorporate deep link routes that point to a single story item and displays the item's content vs its description

The Wrap-up

Again, please adhere to the instructions provided and we look forward to reviewing your submissions.

Happy coding!

tny-tech-test's People

Contributors

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