Skip to content

TabishB/back-end-challenge

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Q-CTRL Back-end Engineering Challenge

The Q-CTRL Back-end Engineering Challenge is a way for applicants to roles within the Q-CTRL Back-end Engineering team to demonstrate their skills and overall approach to back-end application development.

The requirements are intentionally sparse (the devil is in the detail). We don't want you to do a lot, but what you do should be your best work and should clearly demonstrate you embody the Three Virtues.

Table of Contents

The Rules

The Challenge

Background

There's a new set of product features being planned for BLACK OPAL whereby a customer will be able to create and manage quantum controls. You can think of these controls as being the individual inputs a customer may employ to manipulate their quantum system using the Q-CTRL App.

Requirements

Create a RESTful API using Django. The API should be backed by a PostgreSQL database, conform to the JSON:API specification and should implement endpoints that provide the following functionality:

  1. Create a new control
  2. List all controls (five per page)
  3. Get a specific control
  4. Update a specific control
  5. Delete a specific control
  6. Bulk upload controls in CSV format
  7. Download controls in CSV format

Additional Information

Below are the attributes of a control. All attributes are required.

Name Description
Name The name of the control (e.g. "Single-Qubit Driven").
Type Valid control types are Primitive, CORPSE, Gaussian, CinBB and CinSK.
Maximum Rabi Rate The maximum achievable angular frequency of the Rabi cycle for a driven quantum transition. This is a number between 0 and 100.
Polar Angle An angle measured from the z-axis on the Bloch sphere. This is a number between 0 and 1 (units of pi).

The below assets have been provided to help complete the challenge.

Name Description
controls.csv Sample CSV file

Contributing

See Contributing.

Credits

See Contributors.

License

See LICENSE.

About

⭐️ Q-CTRL Back-end Engineering Challenge

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published