- 博客(11)
- 收藏
- 关注
原创 业务题第11天
2.使用一种“程度较轻的synchronized”,即在变量上加volatile修饰,然而volatile不好把控,使用volatile的代码往往比使用锁的代码更加容易出错。1.在方法块上加入synchronized关键字,保证在同一时刻,只有一个线程可以执行某个方法或某个代码块,但是如果在读取较多而写入较少时程序效率低下。在高并发情况下,再循环中使用i++时往往会出现些问题,这是由于i++不具备原子性(读取i的值,加1,再写会主存,是三步操作)。增操作在多线程环境下可能存在线程安全问题。
2024-02-01 08:23:04
340
1
原创 业务题第10天
配置和使用模块:登录系统后,可以根据实际需求配置和使用相应的模块,如部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、通知公告等。自定义开发:若依平台提供了强大的一键生成功能,包括控制器、模型、视图、菜单等,可以根据实际需求进行自定义开发。老人及家属可通过小程序或电话预约参观养老院,预约成功后,系统将安排养老顾问进行对接,做好到院接待的工作。探访预约是指家里有老人已经入住了养老院,家人可以点击探访预约,看望绑定的老人;预约分为了两种,分别是探访预约和参观预约;
2024-01-31 08:23:38
297
原创 业务题第9天
根据产品原型图,确定字段的数量和类型,根据产品原型的输入输出项确定基本字段,如果涉及到多张表,存在一对多或多对多关系,进行外键字段的设计;小程序端养面向老院老人家属,可以用来查看老人信息,缴费,下订单等。前期我们开会进行需求的讨论分析,需求确定后进行表结构的设计,接口的设计,然后进行代码的开发功能实现,功能编写完成后前后端联调,测试bug,解决bug,最后进行功能的验收。中州养老项目包括来访参观到退住办理的完整流程,具体包括:线上预约,到院参观,办理入住,护理服务,绑定老人,请假销假审批,退住办理;
2024-01-29 08:31:41
331
原创 业务题第8天
Redisson是一个基于Redis的Java客户端,提供了易于使用且功能丰富的分布式锁实现。在Redis中,实现分布式锁的常用方法是利用Redis的单线程特性和原子操作的特点。如果设置失败,表示其他进程已经获取到了锁,此时可以选择等待一段时间后再次尝试获取锁,或者直接放弃。如果设置失败,线程可以选择等待,等待的方式可以是阻塞等待或者定时轮询,直到获取到锁为止。当一个线程需要获取锁时,它通过Redis的setnx指令尝试设置锁的键。当线程执行完操作后,使用del指令删除锁的键,释放锁。
2024-01-25 08:20:35
387
原创 业务题第7天
非事务方法调用事务方法:非事务方法调用事务方法导致事务失效的原因与Spring框架的事务管理机制有关。事务异常类型不对:Spring事务管理默认只感知RuntimeException异常,对于其他异常如IOException,Spring无法捕获并回滚事务,导致事务失效。事务方法的异常被捕获:非事务方法调用事务方法时,由于异常被捕获而不会向外抛出,导致Spring无法感知事务异常,从而无法回滚事务,导致事务失效。在我们的项目中优惠券的功能大体上可以分为,新建优惠券、发放优惠券、领取优惠券、使用优惠券。
2024-01-23 08:27:37
332
1
原创 业务题第6天
Java 1.8中的ConcurrentHashMap使用了更细粒度的锁机制和更高效的扩容算法,减少了扩容时的锁竞争,提高了并发性能。在Mysql中为了防止单表数据量过多,我们采用了分表设计方案,将一个赛季放在一张表里,查询的时根据赛季标识查询,只要查一张表即可。具体做法是:在向数据库保存积分的地方,向redis(Zset)中保存,以年月为键,用户id为值,积分为score。排行榜分为两种,当前赛季积分排行榜,历史赛季积分排行榜。对于数据库的海量数据存储,方案有很多,常见的有:分区、分表、分库、集群。
2024-01-22 01:12:58
361
原创 业务题第5天
5-1 你们项目中签到为什么要使用bitmap5-2 你们项目中积分功能是如何实现的5-3 Redis三大新面试点: 跳表、pipeline、bitmap
2024-01-18 21:57:46
360
1
原创 业务题第4天
4-1 你们项目是如何是XXL-JOB的我们在项目中使用XXL-Job主要来管理定时任务。首先需要搭建XXL-Job的运行环境,包括配置数据库和任务调度中心等组件。然后通过调度中心创建定时任务或分布式任务,并设置任务的执行方式、参数、调度策略等。之后添加执行器,一般一个执行器对应一个微服务,然后再配置相关任务。最后可以在调度日志中查看任务的执行情况、日志输出和异常信息。4-2 说一说你的评论点赞功能是如何完成(reids版本)在项目中我们使用redis缓存点赞数据。首先,当提交点赞信息后,先判断点赞记录是否
2024-01-18 00:14:54
322
原创 面试题第3天
其中问题表中的字段主要有,id主键、问题标题,问题内容、所属课程、所属章节、所属课节、提问用户id、最新回答id、回答数量等等。@NotEmpty 可以标注在字符串、集合、数组、map类型上 被标注的元素值不为null,也不能为空集合或者空串。@Length(min=,max=) 可以标注在字符串上,被标注的字符串的大小必须在指定的范围内。当上级回答id为空时,代表这个是一个问题的回答,当上级回答id不为空时,代表这是一个对问题回答的评论。
2024-01-16 08:30:20
359
原创 业务题第2天
由于返回的数据中包含了一部分课程信息,然而课表里却无法提供,所以需要通过Feign调用课程微服务来进行查询,并补齐参数。如果是付费课程,触发支付微服务进行支付操作,支付成功后,将消息发送到mq;当浏览器发送查询请求时,需要从课程表进行查询,设置业务条件,包括登录用户ID,并按照最后一次学习时间的倒序排列。当用户点击学习中心中的"我的课程"时,会向学习微服务发送查询课表的请求,返回数据。查询最近学习章节主要涉及两个微服务,分别是,学习微服务,课程微服务。生成课表涉及到了两个微服务,支付微服务和学习微服务。
2024-01-15 00:46:51
316
原创 业务题第1天
1-2 现在浏览器点击按钮出现了一个报错,如何定位发生问题的代码。1-3 你得项目中进行用户的登录和检验的详细流程是怎样的。1-1 请说一下你项目中是如何进行项目管理和发布的。1-4 说一下文章发布的流程。
2024-01-12 16:16:58
358
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人