Java Spring招聘
作者:胡小根
邮箱:hxg@haomo-studio.com
1 招聘流程
我司的Java程序员招聘流程包括两个环节:
- 笔试
- 面试
2 笔试
2.1 过程
- 笔试时长2小时(可以提前验收)
- 请自带电脑
2.2 内容
- Spring框架为:SpringMVC
- 采用Spring实现 http://api.haomo-studio.com/org/swagger-ui.html 中的以下几个接口:
- 登录接口:http://api.haomo-studio.com/org/swagger-ui.html#!/account-controller/LoginUsingPOST
- 创建用户:http://api.haomo-studio.com/org/swagger-ui.html#!/hm-user-controller/createHmUserUsingPOST_1
- 更新用户:http://api.haomo-studio.com/org/swagger-ui.html#!/hm-user-controller/getHmUserUsingPUT
- 查询某个用户信息:http://api.haomo-studio.com/org/swagger-ui.html#!/hm-user-controller/getHmUserUsingGET
- 查询用户列表:(注意接口参数需要实现X-Auth-Token/pageNo/pageSize/sortItem/sortOrder/filters/includes/refers):http://api.haomo-studio.com/org/swagger-ui.html#!/hm-user-controller/getHmUsersUsingGET_1
查询接口参数说明如下:
@param pageNo 整数,如1 起始页页数
@param pageSize 整数,如10 每页显示条数
@param sortItem 格式为"id, name" 根据字段排序 (sortItem与sortOrder一一对应)
@param sortOrder 格式为"asc, desc" 排序的关 键字 (asc正序,desc倒叙)
@param filters JSON字符串, 用来过滤列表的数据, 格式为
{
'table': 表名
{
'column1': { 表中的字段
like: '%abc%', 模糊查询,包含字符”abc”
notLike: '' 模糊查询,不包含字符
between: [1, 10], 取值在[1,10]之间,包含1与10
notBetween: [1, 10], 取值小于1大于10
isNull: true, // 只能为true 判断字段是否为空
isNotNull: true, // 只能为true 判断字段是否不为空
equalTo: "abc", 相等于
notEqualTo: "abc", 不等于
greaterThan: 10, 大于
greaterThanOrEqualTo: Í10, 大于等于
lessThan: 10, 小于
lessThanOrEqualTo: 10, 小于等于
in: [], 包含[]中字段
notIn: [] 不包含[]中字段
}
}
}
@param includes JSON字符串, 用来将本表的外链字段(table_id类似的字段)指向的外链表相关联
同时返回两张表的数据, 格式为:
{
'include_table1': { //外链表 表名1 (本表所对应的主键表)
'column': 'xxx_id' 当前表的外键字段
},
'include_table2': { //外链表 表名2
'column': 'xxx_id' 当前表的外键字段
}
}
@param refers JSON字符串, 用来将其他表的外链字段指向本表关联,同时返回数据, 格式为:
{
'refer_table1': { //主键id所对应的外键表 表名1 (本表所对应的外键表)
'column': 'xxxx_id' //外键表的外键字段
},
'refer_table2': { //主键id所对应的外键表 表名2
'column': 'xxxx_id' //外键表的外键字段
}
}
项目相关地址(重要!):
- 项目模板:SpringMVC
- 如果没有本地开发环境,请直接使用Gitee的WebIDE编写代码,教程见文档
- API地址:http://api.haomo-studio.com/org/swagger-ui.html (编写的代码,必须严格按照我们接口定义返回的格式返回)
- 数据库设计文档 (请上传到http://www.dmanywhere.cn/打开预览)
- 数据库连接方式:haomo-tech.com:3317,用户名:org,密码:org@haomo
- Redis连接方式:haomo-studio.com:6377
- RabbitMQ连接方式:http://haomo-studio.com:15673,用户名:rabbitmq,密码:v7NoH2Agw037c5Ye,服务地址:5673
2.3 要求
- Tomcat 8 / JDK 8
- 实现我们要求的接口定义文档中的内容。
- 将代码推送PR到 https://gitee.com/haomo/HmJavaTest 并将gitee用户名发给HR
2.4 评分标准
- 成功启动项目:1分
- 完成登录接口:2分
- 完成一般登录功能:0.5分
- 完成高并发登录功能:1.5分
- 完成创建用户接口:2分
- 完成一般创建用户功能:0.5分
- 完成高并发创建用户功能:1.5分
- 完成更新用户接口:1分
- 完成一般创建用户功能:0.5分
- 完成高并发创建用户功能:0.5分
- 查询某个用户信息接口:1分
- 完成一般查询用户功能:0.5分
- 完成高并发查询用户功能:0.5分
- 完成查询用户接口:3分
- 实现基本查询,未实现pageNo/pageSize/sortItem/sortOrder/filters/includes/refers等接口参数过滤,0.5分
- 实现pageNo/pageSize:0.5分
- 实现sortItem/sortOrder:0.5分
- 实现filters:0.5分
- 实现includes:0.5分
- 实现refers:0.5分
3 面试
笔试通过后,HR将通知对应人员进行面试。面试时长15-30分钟。