- 博客(22)
- 收藏
- 关注
原创 14、MySQL高频面试题
索引可以大幅度提高查询的效率,但不是所有的字段都要加,也不是加的越多越好,因为索引会占据磁盘空间,也会影响增删改的效率。在MySQL中索引使用的数据结构是B+Tree,B+树是基于B树的变种,它具有B树的平衡性,而且树的高度更低。MySQL的很多功能都是依靠日志来实现的,比如事务回滚,数据备份,主从复制等等,常见的日志有下面几个。索引失效指的是虽然在查询的列上添加了索引,但是某些情况下,查询的时候依旧没有用到索引,常见的情况有。
2024-01-12 19:55:32
8181
原创 第1天业务题目
1-2 现在浏览器点击按钮出现了一个报错,如何定位发生问题的代码。1-3 你得项目中进行用户的登录和检验的详细流程是怎样的。1-1 请说一下你项目中是如何进行项目管理和发布的。1-4 说一下文章发布的流程。
2024-01-12 11:57:56
844
原创 13、Redis高频面试题
缓存预热是指系统上线后,提前将相关的缓存数据加载到缓存系统。避免在用户请求的时候,先查询数据库,然后再将数据缓存的问题,用户直接查询事先被预热的缓存数据。如果不进行预热,那么 Redis 初始状态数据为空,系统上线初期,对于高并发的流量,都会访问到数据库中,对数据库造成流量的压力。数据量不大的时候,工程启动的时候进行加载缓存动作数据量大的时候,设置一个定时任务脚本,进行缓存的刷新数据量太大的时候,优先保证热点数据进行提前加载到缓存。
2024-01-11 14:22:17
6048
原创 11、分布式事务高频面试题
在分布式系统中,一个业务因为跨越不同数据库或者跨越不同微服务而包含多个子事务,要求所有子事务同时成功或失败,这就是分布式事务。比如一个电商系统的下单操作需要请求三个服务来完成,这三个服务分别是:订单服务,账户服务,库存服务。当订单生成完毕以后,就需要分别请求账户服务和库存服务进行进行账户余额的扣减和库存扣减。假设都扣减成功了,此时在执行下单的后续操作时出现了问题,那么订单数据库就进行事务回滚,订单生成失败,而账户余额和扣减则都扣减成功了。这就出现了问题,而分布式事务就是解决上述这种不一致问题的。
2023-12-30 16:18:57
3999
原创 10、RabbitMQ高频面试题
死信交换机和正常的交换机没有什么不同,当一个包含死信的队列使用属性,指定了一个交换机,这个交换机称为死信交换机消费者使用basic.reject或 basic.nack声明消费失败,并且消息的requeue参数设置为false消息是一个过期消息,超时无人消费要投递的队列消息满了,无法投递一般的死信交换机还会再跟着一个专门的队列,用来专门存储所有的死信,以方便后期的人工干预。
2023-12-29 21:01:04
5101
1
原创 苍穹外卖面试题-下
本项目是专门为一家餐厅定制的一款软件产品,主要包含包括系统管理端和小程序端两部分系统管理端提供给餐饮企业内部员工使用,可以对餐厅的分类、菜品、套餐、订单、员工等进行管理维护小程序端提供给消费者使用,可以在线浏览菜品、添加购物车、下单、支付、催单等操作我在这个项目中主要负责后端分类、套餐、菜品模块和小程序端的所有功能。
2023-12-02 14:59:06
2866
原创 苍穹外卖面试题-中
Redis是一个基于内存的键值对数据库,它的键都是字符串类型,而值的部分支持5种数据类型,每种类型特点不一样。POI的封装度较低,使用时需要写大量的代码,并且性能也比较低,同时它是对文档一次性导入,容易导致内存溢出。具体的操作步骤就是:在查询列表的时候,先判断Redis缓存中是否有数据,如果有,直接返回给前端。EasyExcel的封装度比较高,使用起来比较方便,而且它是一条条导入数据,不会导致内存溢出。这个状态访问比较频繁,放在redis中,提高了查询速度的同时,可以减轻数据库的访问压力。
2023-11-28 20:14:37
2874
原创 苍穹外卖面试题-上
如果我们输入的请求参数不符合对应的校验规则,系统就会抛出异常,此时我们只需要在全局异常处理器中捕获异常,然后给前端提示即可。@NotEmpty 可以标注 在字符串,集合,数组,map上,被标注的元素必须不能为 null ,也不能是空串。最后,当请求访问完服务离开的时候,还会再次经过拦截器,这个时候就可以清理掉ThreadLocal中的内容了。我们项目中的校验是使用validation技术实现的,它的核心是一些具有特定意义的注解。@Range 标注在字符串和数值的大小必须在指定的范围内,对于null无效。
2023-11-27 16:45:23
5577
原创 Java-循环-分支练习题2
20、【while】小芳的妈妈每天给她2.5元钱,她都会存起来,但是,每当这一天是存钱的第5天或者5的倍数的话, 她都会花去6元钱,请问,经过多少天, 小芳才可以存到100元钱。12、【循环 + 分支】打印所有四位数中 个位 + 千位 == 百位 + 十位 的数字,要求:5个一行,中间用空格隔开,还要打印总数量。如6的因数为1、2、3、6,则因数个数为4。2)收入在1000~3000元以内(含3000),纳税额为收入的3%; 3) 如果用户输入的工龄为10,基本工资为3000,
2023-11-26 19:02:31
847
原创 3、多线程高频面试题(版本1)
在Java中,每个对象都隐式包含一个 monitor(监视器)对象,加锁的过程其实就是竞争 monitor 的过程,也就是启动线程的时候,只能调用start方法,如果调用的run方法,不会启动新线程,而是当普通方法调用执行。join方法是Thread类中的一个方法,它的作用是将当前线程挂起,等待其他线程结束后再执行当前线程。在我的理解中,线程共分为7种状态,分别是:新建、就绪、运行、终止以及阻塞、等待、计时等待。在多线程中有多种方法让线程按特定顺序执行,最简单的方式就是使用线程类的join方法实现。
2023-11-17 20:10:44
3654
3
原创 0、如何回答面试题?
知识是什么,有什么特点和好处,用在什么场景下,如果带上一句在我们公司怎么用的就更好了。先解释一下被列举内容的定义和特点,然后再列举3-5个以上的例子。两个技术做对比: 1. 先回答共同点 2. 再回答不同之处。
2023-11-13 20:42:43
867
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人