Customise the questions during the interview or application process by following this guide. This enables your users to create questions for each position posted within a job board or ATS.

Steps


The process is divided into 3 steps:

  1. Embed the question builder (Front-End)
  2. Saving the questions (Back-End)
  3. Retrieving the questions (Back-End + Front-End)

Here is a detailed breakdown of the flow :

Embed the question builder (approx. 30 mins)

We created a tool that you can integrate seamlessly into your process. It will handle all the front-end for creating the questions. As with the rest of our technology, we strived to make it simple.

We created something similar to our widget here. It's just 2 steps :

  1. Add a <div> to your HTML with the ID myinterview-questions-container where you would like to put the iframe. In most cases, it will sit in the form to create/edit a job.
  2. Call our JS question builder widget at the end of the page ( https://embed.myinterview.com/questionsWidget/1.3.0/widget.js ) and initialize it with the relevant parameters (see next step).

Parameters

The config object is as is :


 <script>
      var questionsBuilderConfig = {
          questions : [
            //Minimal example
            {
                question: 'What do you want to learn from your next experience?',
            },
            //Complete example
            {
                question: 'Introduce yourself', // the question of this part of the interview
                partDuration: 15, // the duration of this part of the interview in seconds
                description: 'Example: Hello my name is [Your Name] and have been a [Profession] for [Number of] years.)' , // the description of this part of the interview
                explanation: 'The introduction is your opportunity to make a good first impression. ' +
                             'Here are some tips on how to ace this part of the cover video:',
                points: ['Dress professionally.','Look directly at the webcam.', 'Speak clearly and at a steady pace.',
                         'Make sure that the room you are in is well lit and quiet.', 'Smile!',
                          'State your name, profession and years of experience (If applicable).'],
                conclusion: 'This section may take less than 15 seconds to complete, please click ' +
                            'stop when you are finished speaking.',
                numOfRetakes: 1 // the number of retakes the user may take for a single part
            },
            
          ],
          advanced: true, //Enables advanced mode
          styleSheet: "https://.../yourstyle.css"
      };
  </script>

  • questions - (array, optional)
    Preload default questions in the builder like above. For full reference of those parameters, please check this link

  • advanced - (boolean, optional, default false)
    Enables editing of description, explanation, points and conclusion.

    With advanced: false

    With advanced: true


  • styleSheet - (string, optional)
    Load a CSS style sheet to make the builder match your style.

Saving the questions

Context and steps

There are 2 cases:

  1. Using RDBMS like mySQL
  2. NoSQL database like MongoDB
In both cases, the output you will receive from the question builder will be identical.

RDBMS

In case of a relational database, we provide an indicative table structure below and we recommend that you use a CRUD tool for your site's language / framework.


Table Structure

You have 2 ways of integrating the structure of questions into your DB :

  1. Minimal setup that includes all the required fields
  2. Complete setup that includes all the optional fields.

We suggest this structure for your table :

questions table
Field Type Property Default Description
id int Index Index of the question
job_id int Foreign Key Foreign Key to link to the right object (more details below)
question varchar(300) NOT NULL Text of the question
time_limit int 30 Time in seconds that the user is granted for the answer
retakes int 1 Number of times the user can retry the question
order int 0 Allows to retrieve the questions in the right order
questions table
Field Type Property Default Description
id int Index Index of the question
job_id int Foreign Key Foreign Key to link to the right object (more details below)
question varchar(300) NOT NULL Text of the question
time_limit int 30 Time in seconds that the user is granted for the answer
retakes int 1 Number of times the user can retry the question
order int 0 Allows to retrieve the questions in the right order
description varchar(255) Subtitle displayed below the question
explanation varchar(255) When filled, you have an icon next to the question that opens a panel on the right with additional help for the user (Check visual reference)
conclusion varchar(255) Paragraph after the listed points
questions_points table
Field Type Property Default Description
id int Index Index of the question
question_id int Foreign Key Index of the question related to the helping points
point varchar(100) Content of the helping point
order int 0 Allows to retrieve the points in the right order

The foreign key

Depending on your use case, your foreign key can be :

  1. The index of the position, if questions are customized per job
  2. The index of the category, if you want common questions for every job belonging to the same field

NoSQL

In case of a NoSQL database, we recommend saving the questions object you get directly from the builder inside the job / category document.

Another possibility is to store the entire config object inside the document.

Retrieving the questions

This part is really dependent on the technologies you are using. The idea is to build an object that can be inserted in the config directly. As stated in the main documentation, the config object is as followed :


 <script>
      myInterviewConfig = {
          apiKey: "qDp2egprFa",
          parts : [
            //Complete example
            {
                question: 'Introduce yourself', // the question of this part of the interview
                partDuration: 15, // the duration of this part of the interview in seconds
                description: 'Example: Hello my name is [Your Name] and have been a [Profession] for [Number of] years.)' , // the description of this part of the interview
                explanation: 'The introduction is your opportunity to make a good first impression. ' +
                             'Here are some tips on how to ace this part of the cover video:',
                points: ['Dress professionally.','Look directly at the webcam.', 'Speak clearly and at a steady pace.',
                         'Make sure that the room you are in is well lit and quiet.', 'Smile!',
                          'State your name, profession and years of experience (If applicable).'],
                conclusion: 'This section may take less than 15 seconds to complete, please click ' +
                            'stop when you are finished speaking.',
                numOfRetakes: 1 // the number of retakes the user may take for a single part
            },
            //Minimal example
            {
                question: 'What do you want to learn from your next experience?',
            },
          ]
      };
  </script>


You can put the array of questions either in the parts or in the questions parameter. In case of NoSQL, you should just have to retrieve it directly, whereas with RDBMS, you should handle multiple tables (typically one for the interviews / jobs and one for the question).