Giter VIP home page Giter VIP logo

contra-interview-assessment's Introduction

Contra Technical Assessment

Introduction

Welcome to the next step of Contra's engineering interview process! You'll be asked to complete a code assessment in the stack we use internally at Contra: Node.JS, TypeScript, React, GraphQL, and PostgreSQL. We've configured sensible repository defaults and boilerplate Frontend and Backend projects, so you can spend your time writing actual code, not configuration.

We know not everyone has experience with our core stack โ€” that's okay! The goal of this exercise is to assess your ability to learn, and make good software design decisions along the way. To be respectful of your time, this assessment is designed to be completed in under 4 hours and has no deadlines or due dates.

If you have any questions, reach out to Joseph -- he is very helpful ๐Ÿ˜‰.

Choose your own adventure

We have split our technical assessment into a backend assessment and frontend assessment -- you are free to choose which one you'd like to complete. While everyone we hire is full-stack, we want every candidate to play to their strengths and past experiences -- we recommend choosing the assessment at which you'll be the most successful. Show us what you've got!

Within the backend and frontend folder you will find a README.md that outlines the technical assessment, criteria and setup steps.

Repository Setup Instructions

Install NVM The easiest way to install and manage versions Node.JS on your local machine is nvm.

Follow the nvm installation instructions

Next, you'll want to install the version of Node this repository uses -- v16.11

$ nvm install 16.11
$ cd contra-interview-assessment
$ nvm use

If successful, you should get a message like this:

Now using node v16.11.0 (npm v7.11.2) Install Yarn Next, you'll need to install the yarn package manager to install project dependencies and run scripts.

Follow the yarn setup instructions

Evaluation

When evaluating your submission, we care about the following:

  • Correctness
  • Developer Experience
  • Tests of any kind, as long as you can explain why you added the tests that you did
  • Performance & Scaleability
  • Code consistency, style, and quality

There's no perfect solution โ€” "Developer Experience, "Performance & Scaleability,", and "Code Quality" mean different things in different contexts. Use your best judgement, and explicitly call out any assumptions you made along the way. Remember: there aren't any tricks here, and we review every submission with the best intent.

Submission

Fork & PR When you're ready, fork this repository and create a Pull Request. In your Pull Request, be sure to clearly explain the changes you made, and any assumptions your reviewer should keep in mind.

Loom Submission

At Contra, we prize great communication over all else. In addition to great written communication, we love concise Loom demos that capture your personality and passion for your work, and convey what you can't in writing. As part of your submission, attach a <5 minute Loom to your PR description that introduces yourself, walks through your code, and the decisions you made along the way.

contra-interview-assessment's People

Contributors

boeing787 avatar dependabot[bot] avatar devcwm avatar jaobrown avatar kulshekhar avatar renovate[bot] avatar schlenks 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.