面试系统
创建面试
POST /open_api/v1/interviews
请求参数:
参数名 | 必填 | 参数类型 | 描述 |
---|---|---|---|
user_id | 否 | Integer | 创建人ID |
name | 否 | String | 候选人名字 |
否 | Integer | 面试官链接有效期,单位为小时,默认为14天(已废弃,链接永久有效) | |
written_pad_id | 否 | Integer | 笔试板ID |
返回结果(data中的内容):
参数名 | 必填 | 参数类型 | 描述 |
---|---|---|---|
uid | 是 | String | 面试UID |
interviewer_url | 是 | String | 面试官面试地址 |
candidate_url | 是 | String | 候选人面试地址 |
例:
{
"errcode": 0,
"errmsg": "成功",
"data": {
"uid": "XABCFK",
"interviewer_url": "https://www.showmebug.com/xxxxxxxx",
"candidate_url": "https://www.showmebug.com/xxxxxxxx"
}
}
批量创建面试
POST /open_api/v1/batch_interviews
请求参数:
参数名 | 参数名 | 必填 | 参数类型 | 描述 |
---|---|---|---|---|
user_id | 否 | Integer | 创建人ID | |
interviews | 是 | Array[] | 面试列表,最多为100个 | |
uid | 是 | String | 候选人uid | |
name | 是 | String | 候选人名字 |
例:
{
"user_id": 1001,
"interviews": [
{
"uid": "C001",
"name": "李四"
}
]
}
返回结果(data中的内容):
参数名 | 参数名 | 必填 | 参数类型 | 描述 |
---|---|---|---|---|
interviews | Array | 面试数组 | ||
uid | 是 | String | 面试UID | |
interviewer_url | 是 | String | 面试官面试地址 | |
candidate_url | 是 | String | 候选人面试地址 | |
candidate_uid | 是 | String | 候选人uid | |
candidate_name | 是 | String | 候选人名称 |
例:
{
"errcode": 0,
"errmsg": "成功",
"data": {
"interviews": [
{
"uid": "XABCFK",
"interviewer_url": "https://www.showmebug.com/xxxxxxxx",
"candidate_url": "https://www.showmebug.com/xxxxxxxx",
"candidate_uid": "C001",
"candidate_name": "李四"
}
]
}
}
获取面试列表
GET /open_api/v1/interviews
请求参数:
参数名 | 必填 | 参数类型 | 描述 |
---|---|---|---|
search | 否 | string | 搜索关键字,笔试板名称 |
creator_id | 否 | Integer | 发卷人ID |
status | 否 | Array | 笔试状态:interview_opened 未开始,interview_started 正在进行,interview_ended 已完成 |
created_time_start | 否 | Datetime | 创建时间,时间段开始时间 |
created_time_end | 否 | Datetime | 创建时间,时间段结束时间 |
ended_time_start | 否 | Datetime | 面试结束时间,时间段开始时间 |
ended_time_end | 否 | Datetime | 面试结束时间,时间段结束时间 |
page | 否 | Integer | 页数 |
per_page | 否 | Integer | 分页大小,默认25,最大50 |
返回结果(data中的内容):
参数名 | 参数类型 | 描述 | ||
---|---|---|---|---|
count | Integer | 面试总数 | ||
interviews | Array | 面试数组 | ||
id | Integer | 面试ID | ||
number | String | 面试唯一编号,uid | ||
name | String | 面试板名称 | ||
status | String | 面试状态 | ||
creator_id | Integer | 创建人ID | ||
creator_name | String | 创建人名称 | ||
rate | Integer | 面试评分,1 ~ 5 星 | ||
pad_duration_time | Integer | 面试时长,单位秒 | ||
interview_evaluation | String | 面试官评价 | ||
created_at | Datetime | 创建时间,格式ISO8601 | ||
interview_started_at | Datetime | 开始时间,格式ISO8601 | ||
interview_ended_at | Datetime | 结束时间,格式ISO8601 |
例:
{
"errcode": 0,
"errmsg": "成功",
"data": {
"count": 2,
"interviews": [
{
"id": 1,
"number": "ABCDEF",
"name": "李某",
"status": "interview_ended",
"creator_id": 1,
"creator_name": "李四",
"rate": 5,
"interview_evaluation": "还不错,可以继续",
"pad_duration_time": 1800,
"created_at": "2020-10-01T16:00:00+08:00",
"interview_started_at": "2020-10-01T17:00:00+08:00",
"interview_ended_at": "2020-10-01T19:00:00+08:00",
},
{
"id": 1,
"number": "ABCDEF",
"name": "李某",
"status": "interview_drafted",
"creator_id": 1,
"creator_name": "李四",
"rate": null,
"interview_evaluation": null,
"pad_duration_time": null,
"created_at": "2020-10-01T16:00:00+08:00",
"interview_started_at": null,
"interview_ended_at": null,
}
]
}
}
删除面试
DELETE /open_api/v1/interviews/:uid
请求参数:
参数名 | 必填 | 参数类型 | 描述 |
---|---|---|---|
user_id | 是 | Integer | 操作者ID |
返回结果:
例:
{
"errcode": 0,
"errmsg": "成功"
}
获取面试题目列表
GET /open_api/v1/questions
请求参数:
参数名 | 必填 | 参数类型 | 描述 |
---|---|---|---|
search | 否 | string | 搜索关键字,题目标题 |
page | 否 | Integer | 页数 |
per_page | 否 | Integer | 分页大小,默认25,最大50 |
返回结果(data中的内容):
参数名 | 必填 | 参数类型 | 描述 | |
---|---|---|---|---|
count | 是 | Integer | 题目总数 | |
questions | 是 | Array | 题目数组 | |
id | 是 | Integer | 题目ID | |
title | 否 | String | 题目标题备注 | |
language | 是 | String | 编程语言 | |
contents | 是 | String | 题目内容及代码 | |
description | 是 | String | 题目描述备注 | |
creator_id | 否 | Integer | 创建人ID | |
creator_name | 否 | String | 创建人名称 | |
created_at | 是 | String | 创建时间,ISO8601格式 | |
updated_at | 是 | String | 更新时间,ISO8601格式 |
例:
{
"errcode": 0,
"errmsg": "成功",
"data": {
"count": 2,
"questions": [
{
"id": 1,
"title": "测试编程题 - 五",
"creator_id": 1001,
"creator_name": "李四",
"language": "Java",
"contents": "// 冒泡排序:从当前元素起,向后依次比较每一对相邻元素,若逆序则交换\n public class ShowMeBug {}",
"description": "考察冒泡排序",
"created_at": "2020-10-01T16:00:00+08:00",
"updated_at": "2020-10-01T16:00:00+08:00"
},
{
"id": 2,
"title": "测试编程题 - 六",
"creator_id": 1001,
"creator_name": "李四",
"language": "Ruby",
"contents": "# 冒泡排序:从当前元素起,向后依次比较每一对相邻元素,若逆序则交换\n def custom\n\nend",
"description": "考察冒泡排序",
"created_at": "2020-10-01T16:00:00+08:00",
"updated_at": "2020-10-01T16:00:00+08:00"
}
]
}
}
创建面试题目
POST /open_api/v1/questions
请求参数:
参数名 | 必填 | 参数类型 | 描述 |
---|---|---|---|
creator_id | 否 | Integer | 题目创建人、默认为管理员 |
language | 否 | string | 题目语言,默认富文本 |
contents | 是 | string | 题目内容及代码 |
description | 否 | string | 题目描述备注,仅面试官可见 |
title | 否 | string | 题目标题备注 |
返回结果(data中的内容):
参数名 | 参数类型 | 描述 | |
---|---|---|---|
id | 是 | Integer | 题目ID |
title | 否 | String | 题目标题备注 |
language | 是 | String | 编程语言 |
contents | 是 | String | 题目内容及代码 |
description | 是 | String | 题目描述备注 |
creator_id | 否 | Integer | 创建人ID |
creator_name | 否 | String | 创建人名称 |
created_at | 是 | String | 创建时间,ISO8601格式 |
updated_at | 是 | String | 更新时间,ISO8601格式 |
例:
{
"errcode": 0,
"errmsg": "成功",
"data": {
"id": 1,
"title": "测试编程题 - 五",
"creator_id": 1001,
"creator_name": "李四",
"language": "Java",
"contents": "// 冒泡排序:从当前元素起,向后依次比较每一对相邻元素,若逆序则交换\n public class ShowMeBug {}",
"description": "考察冒泡排序",
"created_at": "2020-10-01T16:00:00+08:00",
"updated_at": "2020-10-01T16:00:00+08:00"
}
}
批量创建面试题目
POST /open_api/v1/batch_questions
请求参数:
参数名 | 必填 | 参数类型 | 描述 | |
---|---|---|---|---|
creator_id | 否 | Integer | 题目创建人,默认为管理员 | |
questions | 是 | Array | 题目列表,最大长度为100 | |
language | 否 | string | 题目语言,默认富文本 | |
contents | 是 | string | 题目内容及代码 | |
description | 否 | string | 题目描述备注,仅面试官可见 | |
title | 否 | string | 题目标题备注 |
返回结果(data中的内容):
参数名 | 参数类型 | 描述 | ||
---|---|---|---|---|
success_count | 是 | Boolean | 创建成功数量 | |
fail_count | 否 | String | 失败数量 | |
questions | 是 | Array | 题目数组 | |
success | 是 | Boolean | 是否创建成功 | |
message | 否 | String | 失败原因 | |
question | 是 | Object | 题目信息,成功时与创建题目返回一致,失败时为传入题目参数 |
例:
{
"errcode": 0,
"errmsg": "成功",
"data": {
"success_count": 1,
"fail_count": 1,
"questions": [
{
"success": true,
"message": "",
"question": {
"id": 1,
"title": "测试编程题 - 五",
"creator_id": 1001,
"creator_name": "李四",
"language": "Java",
"contents": "// 冒泡排序:从当前元素起,向后依次比较每一对相邻元素,若逆序则交换\n public class ShowMeBug {}",
"description": "考察冒泡排序",
"created_at": "2020-10-01T16:00:00+08:00",
"updated_at": "2020-10-01T16:00:00+08:00"
}
},
{
"success": false,
"message": "Contents 不能为空",
"question": {
"contents": null,
"title": null,
"language": "ruby",
"description": ""
}
}
]
}
}
删除面试题目
DELETE /open_api/v1/questions/:id
返回结果:
例:
{
"errcode": 0,
"errmsg": "成功"
}