- 查询语句什么场景下需要返回一个List集合存储查询结果
1,如果可以确定查询返回的结果只有一个对象,那么可以直接使用对象接收。
例如:根据id查询
2,如果不能够确定查询返回的结果是一个对象还是多个对象,可以使用List集合接收然后再通过list.get(0)返回第一个结果,还可以在SQL语句中使用limit 1 只返回一个对象
例如:select * from user where name = “张三” limit 0, 1
- 主键id为什么使用Long类型
1,存储空间不值钱,使用Long类型可以防止出现装不下的情况
- 为什么需要分页
1,数据全部展示在一页,不利于用户查看
2,一次从数据库中查询大量数据,服务器压力太大
3,浏览器一次渲染的数据量是有限的
- job是什么?
1,定时任务
2,异步任务
- job通常会在什么场景下使用?
1,某一个状态值会由于不同操作发生改变,这种情况下可以使用job改变该状态值
例如:用户是否通过一门课程的状态值会随着用户的学习的进度发生改变,那么这个状态值就可以使用job去改变。
2,通过job实现生产者消费者模式
- controller层接收参数的方式
1,新增:POST请求,参数是新增的对象
2,修改:POST请求,参数是新增的对象
3,查询:GET请求,参数在3个以内直接入参,大于3个需封装成DTO
4,删除:GET和POST请求都可以
原则:参数在3个以内直接入参,大于3个需封装成DTO
- 下载页面中的数据到Excel中,Excel中的数据量如何决定?
在没有特殊要求的情况下是所见即所得,也就是通过筛选条件查询出100条数据Excel的数据量就是100条,不加筛选条件查询出全部的数据200条Excel的数据量就是200条
- 查询条件为什么要加domainId,直接根据id查有什么问题?
例子:A管理员登录后在用户列表中查看用户的详情,如果A管理员在浏览器地址栏中直接填写用户id,如果没有查询条件中没有加domainId就会把其它域下的用户详情查出来,这样用户的信息就暴露了。
- UV和PV是什么?
UV (user view): 访问页面的用户数(一个用户访问多次也记为一次)
PV (page view): 访问页面的次数(一个用户访问几次就记为几次)
- 分页和排序哪个在前?
先排序后分页
- 在日志中搜索的命令
Cat 日志全名称 | grep ‘要搜索的内容’
cat service_dev.log | grep ‘2021-09-30’
- linux上传下载命令
下载: sz 文件名称.后缀
上传:rz
注意:文件会上传当前目录中
- springboot接收日期格式的参数
GET请求和POST请求都可以
@DateTimeFormat(pattern = “yyyy-MM-dd HH:mm:ss”)
@JsonFormat(pattern=“yyyy-MM-dd HH:mm:ss”, timezone = “GMT+8”)
private Date time;
@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”, timezone = “GMT+8”)
private Timestamp time2;
- 设置项目、课程等其它资源的开始时间是否可以小于当前时间
默认情况下不可以小于当前时间,
如果客户要求时也是可以让开始时间小于当前时间的
- controller层的作用
参数校验:例如:非空校验、校验是否存在、校验是否合法等都放在controller层完成
数据转换:例如:service层返回的entity对象转dto
权限校验:校验当前用户能不能进行当前操作
当实现某个需求需要用到多个service时在controller中进行协调
- service层的作用
主要用于处理业务逻辑
读操作:
1,简单的逻辑service通常只需要返回一个实体
2,复杂的逻辑service也可以返回一个Return对象携带请求失败的原因
3,涉及到多张表时,service直接调用其它表的dao不需要先调service
写操作:
1,涉及到多个表时要调用表对应的service层去写入对象,不要直接调用dao层
2,涉及到多个表时需要添加事务
- 写出Excel的代码应该放在那一层
放在controller层,service层只负责把查询到的数据返回给controller层,这样做的好处是service层查询数据的接口可以被多次复用
- 下载报表通常不需要分页查询而列表展示必须要分页,那它们能不能调用同一个查询数据的接口
分两种情况
第一种:下载到报表中的数据量很小,可以通过改变size值的大小一次性查出全部数据
第二种:下载到报表中的数据量很大,必须要使用分页查询分批写出的方式生成报表
- service层和controller层如何交互
public Return service (User user) {
try{
serviceDao.delete(user);
}catch(){
return Return.fail("删除失败");
}
}
service层要向controller返回错误信息,例如:删除用户操作在service层应该使用try catch进行处理,如果失败catch中可以向controller层返回异常信息
- 未来发展趋势
5G
人工智能(无人驾驶)
生物科技
自动化生产
智能机器人和家政机器人(打扫卫生,按摩)
物联网(万物互联)
- 开公司注意事项
1,小公司首先考虑的是怎么活,后面考虑的才是研发自己的产品?
2,从长远看公司能有自己的产品是最好的,但产品的研发需要大量的资金、时> > 间、人才。(产品:2年时间+15人的团队),而最终研发出来的产品可能一文不值
创业条件:美工、前端、后端三种人才必须要有
合伙做生意是最大的坑,公司失败的百分之四五十都是合伙人闹掰导致的
眼光一定要准,一次看不准可能就完了。
- 开发功能的正常流程
1,前后端一起理需求,各自明白具体要做什么
2,后端写方案(思路)
3, 给出接口文档
4,前端进行开发
5,后端进行开发
6,前后端对接,联调测试
7,前端单独发布
8,后端单独发布
注意:前端代码和后端代码不会放在一起
- 开会注意事项
1,明确会议的目的,不要跑题
如果提出的其它问题也很重要,那就专门针对该问题再开一场会议不要影响了本次会议的主题
2,要详细记录会上讨论的问题
3,会议结束后要写会议纪要发给客户
4,找时间在网上了解一下会议的常识