4.14 学习总结:
按照以日为维度查询一周中每一天的统计数 使用DATE_FORMAT(r.createDate,‘%Y-%m-%d’)最后要group by DATE_FORMAT(r.createDate,‘%Y-%m-%d’) 按照以月为维度查询半年中每月的统计数 使用DATE_FORMAT(r.createDate,‘%Y-%m’)最后要group by DATE_FORMAT(r.createDate,‘%Y-%m’) mysql中使用date_add()函数
4.15学习总结
了解到MySql的日期函数date_sub(now(), interval 7 day) 比如now() 得到当前时间是 2022-01-15 22:36:43 那么date_sub(now(), interval 7 day) 得到的时间就是 2022-01-08 22:36:43 current_date 获取当前时间,精确到日
4.18 学习总结:
(重点:@PostMapper)在restful风格里面 传参里面的参数必须序列化,要不然只会传入其格式例如:json/application @PostMapper @RequestBody @Valid DynamicTrendAnalysisParam queryParam 查询时不能全部查出,试试分俩个sql写出来
4.19学习总结:
数据概括:(查询慢的sql)select 查询 关联字段放到where 比如 u.tenanatId=s.tenantId 还有查询时间范围拿到where里面 类型分析: 按照type进行分析就要group by type 关键字on(里面只要关联字段)
4.20学习总结:
热度分析:SaleManRankReportServiceImpl 296行 Set typeEnumSet = new HashSet<>(); typeEnumSet.add(ClewTypeEnum.STYLE); typeEnumSet.add(ClewTypeEnum.PHOTO); typeEnumSet.add(ClewTypeEnum.RECOM_ATTIRE); typeEnumSet.add(ClewTypeEnum.IMG_TEXT);
for (ClewTypeEnum typeEnum:typeEnumSet){ if(map.containsKey(typeEnum)){ DynamicHeatAnalysisVo dynamicHeatAnalysisVo= map.get(typeEnum); voList.add(dynamicHeatAnalysisVo) ; }else{ DynamicHeatAnalysisVo dynamicHeatAnalysisVo= new DynamicHeatAnalysisVo(typeEnum,null); voList.add(dynamicHeatAnalysisVo) ; } }
4.25学习总结:
1462行CustomerMapper.xml 关于在controller中传参把wrapper作为参数传递 https://blog.csdn.net/weixin_42260782/article/details/122232629?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165085451516781483756079%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165085451516781483756079&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-1-122232629.142v9control,157v4control&utm_term=mapper.xml%E4%B8%ADew%E6%98%AF%E5%95%A5%E6%84%8F%E6%80%9D&spm=1018.2226.3001.4187
List 转 Map<String, T> List 转 Map<String, List> List 转 Map<String, Count> List<Map<String, Object>> 转 Map<String, List<Map<String, Object>>>
List 转 Map<String, List> 使用groupingBy根据gender属性分组 https://blog.csdn.net/winterking3/article/details/116457573?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165088493416782350981412%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165088493416782350981412&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-4-116457573.nonecase&utm_term=stream%E6%B5%81%E5%A4%84%E7%90%86list%E8%BD%ACmap&spm=1018.2226.3001.4450
4.27学习总结:
Jenkins+Docker的操作 https://blog.csdn.net/hlkt521/article/details/107188180?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165103454016781432988457%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=165103454016781432988457&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-107188180.142v9control,157v4control&utm_term=jenkins&spm=1018.2226.3001.4187
5.9 学习总结:
在进行模糊查询时(查询货号或者商品名称) 不加括号: AND st.styleName LIKE CONCAT( ‘%’, ‘ww’, ‘%’ ) OR ( st.styleId LIKE CONCAT( ‘%’, ‘ww’, ‘%’ )) 加了括号:AND (st.styleName LIKE CONCAT( ‘%’, ‘ww’, ‘%’ ) OR ( st.styleId LIKE CONCAT( ‘%’, ‘ww’, ‘%’ )))
区别: 加入括号只能查货号 和 产品名称 不加括号:只能查询商品名称 或者货号 而且不加括号数据比加了括号的数据要多
不加括号:or前面条件失效,后面条件生效
https://blog.csdn.net/liyue071714118/article/details/108656396?ops_request_misc=&request_id=&biz_id=102&utm_term=mysql%E4%B8%ADand%E5%92%8Cor%E7%9A%84%E5%8C%BA%E5%88%AB&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-108656396.nonecase&spm=1018.2226.3001.4187
判断一个数据是否为0 if(!xxx){}
面试题
1.多线程
? 2.1 为什么会发生线程安全问题?你在项目中是怎么解决的?
? 2.2 并发与并行,线程与进程、
? 2.3 如何创建多线程
? 2.4 线程池你了解多少?
? 2.5 你看过关于多线程的源码?
2.锁相关的问题
? 1.1 synchronized 与 volatile 的区别
? 1.2 什么是乐观锁,悲观锁?
? 1.3 锁有哪几种(锁的分类)?
3.java集合
? 3.1你在项目中一般用的啥集合?
? 3.2那种场景应该用那种集合你知道吗?
? 3.3 说说你对list set map 的优理解?
4.反射
? 4.1 什么是反射(是什么)?
? 4.2 反射的优缺点(为什么)?
? 4.3 反射的应用场景(怎么用)?
5.redis
? 5.1 redis 在项目中做啥用的?
? 5.2怎么配置redis集群?
? 5.3redis的优缺点?为什么不用MongoDB?
? 5.4 redis 的5 种存储数据结构?
? 5.5 redis 雪崩,击穿,穿透?
? 5.6 redis 缓存数据过期了,你怎么处理?(类似于即将登录过期,然而用户还在网页或者某个功能点上)
? 5.7redis除了做缓存还能干嘛?
? 5.8 了解过redis源码嘛?
6 RabbitMQ
? 6.1什么是mq?(干嘛用的)
? 6.2mq 怎么使用(如何在项目中配置)
? 6.3 mq它的作用是干啥(保持缓存与数据库数据一致)?
? 6.4 mq 有几种消息队列?(5种)1:1((能者多劳),1 : n,工作,路由,主题
? 6.5 mq 消息丢失怎么处理?
? 6.6 消息幂等性?
7 项目问题
? 7.1拿到需求你会怎么做?
? 7.2你会独立处理自己写的bug嘛?
? 7.3当你要用没有用的知识点来做项目(你没学)你准备几天完成工作?
8.mysql
8.1 mysql索引有了解嘛?
8.2 它的数据结构是啥,为什么是b树,b+树?
8.3 b树和b+树的区别?
8.4 mysql 事务(acid)
8.5mysql有哪些可以优化的?
8.6 出现脏数据?你怎么解决?
8.7 sql 语句要了解
8.8 行转列你会吗?
?
drop table if exists student;
create table student(
stu_id int primary key auto_increment,
stu_name varchar(20),
stu_gender varchar(20),
stu_age int
);
drop table if exists course;
create table course(
course_id int primary key auto_increment,
course_name varchar(20)
);
drop table if exists score;
create table score(
score_id int primary key auto_increment,
stu_id int,
course_id int,
score int,
constraint fk_stu_id foreign key (stu_id) references student(stu_id),
constraint fk_course_id foreign key (course_id) references course(course_id)
);
insert into student(stu_name,stu_gender,stu_age)
values('张三','男',15),('李四','男',15),('王五','男',15),('赵六','男',15);
insert into course(course_name)
values('语文'),('数学'),('英语');
insert into score(stu_id,course_id,score)
values(1,1,80),(1,2,82),(1,3,84),(2,1,60),
(2,2,70),(2,3,86),(3,1,83),(3,2,77),(3,3,89);
原始数据:
学号 姓名 课程 成绩 001 张三 语文 60 001 张三 数学 89 001 张三 英语 88 002 李四 语文 88 002 李四 数学 66 002 李四 英语 90
行转列的效果:
学号 姓名 语文 数学 英语 001 张三 60 89 88 002 李四 88 66 90
|