Docs Index


Creating and Editing Questions

Last updated on

To add a new question to CoderPad’s Question Bank, start on the Question Bank page and click Create Question.

You’ll then be guided step-by-step through your question creation process.

Most questions will only have three steps, but if you choose to enable “Take-Home test cases”, you’ll have a fourth step:

  1. Adding question metadata
  2. Adding test-cases (only for take-homes)
  3. Adding code elements
  4. Review question

Once you’ve created the question, you’ll also be able to:

✅ Interested in creating a multi-file (HTML/JS/CSS) question? You can find the guide for that here.

Step 1 – Setup Interview Context

Here you will select which types of interviews your question will be used in: “Live Question”, “Take-Home”, or both.

If you’ve only selected “Take-Home”, you can opt to add test cases. Test cases will allow you to test a candidate’s Take-Home code against certain requirements.

✅More information on test cases can be found in the Test Cases feature guide here.

Regardless of interview type, you’ll then be asked to add the following information for the question:

  • Title – What you’ll see in the Question Bank to identify this question. To keep your questions well organized, we recommend coming up with a standard schema for the title of your questions. An example: [Senior Engineer] - Turn this CSV into an Array of Objects.
  • Programming Language – The programming language the question is expecting a solution in.

✅ You can select Markdown or Plain Text to create a language-agnostic question.

  • Difficulty level – Used by interviewers to note the question difficulty level.
  • Internal description – Notes on the question for internal reference in the Question Bank – include more info about this question for your colleagues.
  • Candidate instructions – The instructions that will be shown to the candidate. This field is markdown enabled. Add images to candidate instructions by using markdown to link in an image.

✅ Filling out the Candidate Instructions will ensure that the candidate will be able to view the test instructions no matter what language they select.

Add an image to candidate instructions

To add an image to the Candidate Instructions, you simply have to enter the image Markdown into the Candidate Instructions text box.

Use the following markdown format: ![Image title](External image link):

✅ The image must be externally hosted and public. 

You can then preview the image in the candidate instructions tab of the pad.

Step 2 – Add Take-Home Test Cases

✅If you selected your question to only be used in live interviews, this step will not be present. Skip to adding code elements to your question if this is the case

Test cases are a way to verify a candidate’s solution against a set of return values given a set of inputs.

To learn more about test cases, what a function signature is, and how to add and remove test cases, please see our docs on test cases.

Step 3 – Add Code Elements

A technical interview question requires starting code for the candidate to base their work on. Remember to use the same language the question was created in.

Starter code can have the expected parameters, return type, and other details that might help a candidate start programming a solution. 

❗If your question included test cases, the “starter code” section will be automatically pre-populated with the expected function signature, and cannot be modified.

In the Interview Guide/Solution text box you’re also able to add guidance for interviewers or the solution the candidate is expected to code, via a markdown enabled note. This helps give the interviewer tips on what to look for in a candidate’s solution, as well as providing the interviewer with potential edge cases or tests to reference as they move through the interview.

Interview questions also support Custom Databases and Custom Files that you can attach to make your questions more representative of your production codebase.

If you have selected one of our most commonly used languages: Java, Javascript, Python 2 & 3, C++, Ruby, C#, or if you have selected PostgreSQL or MySQL from as the default language choice, then you can use a Full-Stack database with your question.

Step 4 – Preview

Finally, it’s important to review your question.

In this step, we provide a look at what the question will look like for candidates in the pad. This includes the candidate instructions, starter code, and test cases.

This is a fully functional pad: you’ll have the ability to review and run code, see program output, and verify test-cases passing when intended. Check all tabs to ensure your question is set up how you want. If you need to make edits, click “Previous” to make updates in the previous steps. 

✅ Edits made directly in the preview are not saved to the question

✅Keep in mind that the preview pad will not display hidden test cases in this view to accurately show what a candidate will see. To review hidden test cases, return to the test cases step.

Drafts and Collaboration

We’ve added draft functionality to questions. A new draft is created in your Question Bank Drafts tab as soon as you complete the first question creation step. 

As you progress through the steps of creating a question, it continues to be saved on each step. This means you don’t have to create the entire question in a single session, you can come back to it later on.

Once you reach the Preview step, you can choose to share the draft with your colleagues. You can collaborate with your teammates on the question by sharing the link to the draft.

Click “Save” to finalize your draft – you can then choose to view the draft in your drafts tab, or publish it as an active question ready to be used in interviews. 

Using a question in a pad

There are two ways to add a question to a pad — create a pad with the question or add the question from within the pad:

1. Creating a pad with a question

You can create a pad directly from the Question Bank. Simply find the question that you would like to use and click the Create Live Pad or Create Take-Home button.

A new pad will be created with your question preloaded. You can also preview the question from the expanded view.

2. Add a question from within the pad

It’s simple to load a question from the IDE view. Click on the Questions button at the top of the pad. Select a question from My Library or Examples, then use Append or Replace. Append will add the question at the end of the current code in the IDE, whereas Replace will clear the current contents of the pad and replace them with the selected question.

Append is only available if you’re adding a question that is for the same programming language as the original question. It’s not available for Take-Home pads.

CoderPad Question Bank Questions Modal in Pad View

Edit an existing question

If you want to update an existing question, navigate to the question you want to edit in the Question Bank, select the additional options menu, and then select Edit:

This will load your existing question data into the question wizard, and you can make updates as needed:

❗Keep in mind that test cases are currently only available for take-homes questions. If you add live interview type to an existing question with test cases, it will remove the test cases.

If you’ve toggled the question type and accidentally removed test cases, you can close the tab before saving on the final step – this will revert your changes and bring the test cases back.