/CRUD-dotnet-react

Contains code to be used during technical interviews.

Primary LanguageC#

Integrate Front-End Interview Exercise

Overview

The center of Integrate's product is the Demand Acceleration Platform (DAP). DAP allows users to interact with marketing lead data. A marketing lead is a person who shows interest in a company’s products or services. Our customers need marketing leads that are correct and likely to generate business.

We are striving to build a world-class UI using React. The UI interacts with microservices that expose their functionality through RESTful APIs.

Exercise Definition

It is important to us that your interview exercise is relevant to the kind of work you would be performing at Integrate.

For this exercise, you will be asked to create a simple app using React. This repo provides a working create-react-app project for you to use as a base.

The app should allow users to:

  • View marketing leads (i.e., people)
  • Add a person to the list

Backend API endpoints are provided in this repo, along with Swagger documentation describing them. The goal is working software that can be demonstrated in a browser.

You can use any additional libraries you would like (e.g., React-Boostrap, Material-UI, etc.), but make sure to keep your design simple. We don't expect you to complete an enterprise-level app during a brief interview!

Collaboration

This interview is about more than just code; we're also hoping to discover the following:

  • How comfortable are you with pair/group programming? Our culture is highly collaborative.
  • What things are you considering when you are coding? Being able to explain what you're doing and why you're doing it is critical to our continuous improvement as a team.

Asking questions (for requirements clarity or help) is encouraged.

Additional Topics for Discussion

You don't have to implement the following things during the exercise, but be ready to discuss them.

  • Automated testing
  • Hooks
  • Functional components vs. class-based components
  • Common design patterns
  • Error handling
  • Filtering/searching data
  • Paging large amounts of data

Here we go!

Open the Getting Started Guide to get started!