データベース形式の問題を作成する

問題作成手順

それぞれの項目についての詳しい説明なども一緒に記載しています。

各ステップに進むごとにデータが一時保存されていますので(途中保存も可能)、再開する場合は下書きから再度参照することが可能ですので、一度保存してあとからデータを更新していくこともできます。

  1. 「問題一覧」画面の右上から「問題を作成」を押下します。モーダルが表示されたら「データベース」を選択します。
    • 問題形式
      • 「データベース」を選択します。
    • 制限時間
      • 作成する問題の内容に合わせて制限時間を設定します。他の問題を参考にしながら作成するのがおすすめです。1問で30分前後になるような問題の設計ができると良いです。
    • 難易度
      • 「易しい」「ふつう」「難しい」から選択します。この難易度は既にある問題から相対的にどれくらいのレベルかを基準に選択するのがおすすめです。問題概要入力のステップにて以下の情報を入力します。
  2. スキーマ定義のステップにて以下の情報を入力します。
    •  ⚠️これ以降の入力をした上で一度保存されたスキーマの定義を変更した場合、これ以降のステップの入力に影響があるため、一度保存された内容を削除する必要があります。変更する場合はお気をつけください。
    • 入力項目は以下の通りです。
      • テーブル名とカラム名
        • テーブルは複数追加することが可能です。また、各テーブルごとに必要なカラム名を型と合わせて設計することができます。カラムは1つのテーブルに対して、複数追加することが可能です。
      • 期待するクエリ出力結果のカラム定義
        • 問題を解く際の最終的なアウトプットを記載します。複数の値を出力して欲しい際にはカラムを追加し、複数定義します。
  3. テストケースの追加のステップにて以下の情報を入力します。
    • テストケースを入力します。ここで入力されたテストケースを元に候補者の提出したコードの自動採点を行うため、ケースが詳細に入力されていればいるほど自動採点の精度が上がります。
    • テストケースには2種類あります。一つは、正解率を測るテストケースで、レポート画面ではこちらの正解率の部分に対応しています。エッジケースを含む様々なケースを網羅して追加することで、候補者のコードはどこまでを考慮できているかを確認することができます。
    • もう一つはパフォーマンスを測るテストケースで、入力された値を元にコードの実行速度を計測します。入力が徐々に伸びるようにテストケースを入力することで、実行数が増えたときにどの程度劣化するのか(しないのか)を測ることができます。
    • テストケースの追加入力項目は以下の通りです。
      • テスト中は表示しない : ONにしておくと候補者はテストを実施している時に、該当のテストケースを利用することができません。
      • タイトル : レポート画面でどのケースを通ったか(落ちたのか)を簡単に把握するためにケースごとに分かりやすいタイトルを付けると確認時に非常に有効です
      • 詳細 : タイトル同様にレポート画面で、ケースの詳細を確認できます。詳細はMarkdown形式で入力が可能です。
      • 言語追加(任意)
      • テストケースの追加 : テストケースを複数個追加できます。
      • テーブルの値を設定 : モーダルが開かれ各テーブルの値を入力することができます。
      • プレビューの中身 : プレビューではテーブルのカラム名・型・データが閲覧可能です。
    • パフォーマンス入力項目は以下の通りです。
      • ラベル : レポート画面にて表示されるパフォーマンスグラフのラベルとして利用されます。
      • テストケースの追加 : パフォーマンステストケースの追加を行います。
  4. 解答の入力のステップにて以下の情報を入力します。 
    • 追加された解答コードの言語分だけ、候補者の利用できる言語として設定可能になります。 また、追加されたコードの分だけ可読性のスコアの精度を高めることができます。可読性の詳細については以下をご参照ください。
      • 時間計算量

      • 空間計算量 : 追加する解答の時間計算量・空間計算量を設定します。Big-O Complexityについてはこちらを参考にしてください。

      • タイトル

      • 詳細

      • 解答の追加 : 解答は複数追加が可能です。その際には解答のラベル(最適・標準・愚直)を選び追加します。

      • 言語追加(任意)

      • 解答コードの追加
      • 解答するプログラミング言語の追加
        • これまでのステップで入力した関数定義、テストケースを満たすような解答コードを入力します。
        • 解答コードは現在サポートされている言語別に追加でき、追加された言語分だけ候補者が解答時に利用できる言語となります。
        • 解答をリセットする場合は、「テンプレートコードに戻す」ボタンを押すことで初期のテンプレートコードにリセットすることができます。
        • 解答コードが入力できたら、前のステップで入力したテストケースを実行できます。実行結果などが確認できるので、問題なく実行できることを確認して次に進んでください。入力項目は以下の通りです。
  5. その他項目にてヒントを追加します(任意)
    • コーディング試験時に候補者が詰まった際に参照できるヒントを入力します。
    • 入力項目は以下の通りです。 
      • 詳細 : ヒントの本文です。詳細はMarkdown形式で入力が可能です。
      • ヒントの追加 : ヒントは複数個追加可能です。
      • 言語追加(任意)
  6. 最後に「保存して次へ」を押下します。表示されたモーダルで問題のバージョンを指定して保存すると利用可能となります。