Docs Index

Doc

Creating a Question

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

Click “Create Question” to 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.

These steps include:

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

Adding Question Metadata

In the first step, select which types of interviews your question will be used in – “Live”, “Take-Home”, or both types of interviews.

Then, if you’ve only selected “Take-Home”, you can opt to add test cases. While we’ll touch on them more further down in this doc, test cases will allow you to test a candidate’s
Take-Home code against certain requirements.

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".
Code language: JavaScript (javascript)
  • Programming Language – The programming language the question is expecting a solution in
  • 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 enables markdown formatted instructions, which will be rendered as markdown for candidates

Adding 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.

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 this step, 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.

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 instructions they’ll see, 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 previous steps. 

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

Keep in mind that hidden test cases will not be displayed in this view – in order 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.

Once you reach the preview step, you can choose whether to share the draft with your colleagues. You can collaborate with your teammates by sharing the link to a draft for them to make additional edits.

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.