
数据库/中间件面试题
文章平均质量分 89
包含Mysql、Oracle、Redis、MongonDb、RocketMq、KafKa、RebbitMq等常见面试题
Java白菜治
如果观看文章之后有不懂或者根据文章操作之后不生效的可以留言,我看到后会第一时间回复的,看完记得点赞收藏,谢谢了
展开
-
Java最全面试题->数据库/中间件->Redis面试题
缓存穿透一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。一些恶意的请求会故意查询不存在的key,请求量很大,就会对后端系统造成很大的压力,就叫做缓存穿透。避免对查询结果为空的情况也进行缓存,缓存时间设置短一点,或者该key对应的数据insert了之后清理缓存。对一定不存在的key进行过滤。可以把所有的可能存在的key放到一个大的Bitmap中,查询时通过该bitmap过滤。缓存雪崩。原创 2024-10-26 07:00:00 · 1533 阅读 · 0 评论 -
Java最全面试题->数据库/中间件->RebbitMQ面试题
RabbitMQ是一款开源的,Erlang编写的,基于AMQP协议的,消息中间件;可以用它来:解耦、异步、削峰。优点:解耦、异步、削峰;缺点:降低了系统的稳定性:系统中使用了消息队列,如果消息队列挂了,那么系统也会挂掉。因此,系统可用性会降低;加入了消息队列,要多考虑很多方面的问题,比如:一致性问题、如何保证消息不被重复消费、如何保证消息可靠性传输等。因此,需要考虑的东西更多,复杂性增大。原创 2024-10-29 07:00:00 · 1133 阅读 · 0 评论 -
Java最全面试题->数据库/中间件->KafKa面试题
Follower可以批量的从Leader复制数据,而且Leader充分利用磁盘顺序读以及send file(zero copy)机制,这样极大的提高复制性能,内部批量写磁盘,大幅减少了Follower与Leader的消息量差。zookeeper 是一个分布式的协调组件,早期版本的kafka用zk做meta信息存储,consumer的消费状态,group的管理以及 offset的值。Kafka的复制机制既不是完全的同步复制,也不是单纯的异步复制。broker 是消息的代理,原创 2024-10-29 06:00:00 · 1484 阅读 · 0 评论 -
Java最全面试题->数据库/中间件->RocketMQ面试题
首先多个queue只能保证单个queue里的顺序,queue是典型的FIFO,天然顺序。多个queue同时消费是无法绝对保证消息的有序性的。可以使用同一topic,同一个QUEUE,发消息的时候一个线程去发送消息,消费的时候 一个线程去消费一个queue里的消息。下边是我自己整理的面试题,基本已经很全面了,想要的可以私信我,我会不定期去更新思维导图。原创 2024-10-28 07:00:00 · 881 阅读 · 0 评论 -
Java最全面试题->数据库/中间件->MongoDB面试题
MongoDB是一个文档数据库,提供好的性能,领先的非关系型数据库。采用BSON存储文档数据。BSON()是一种类json的一种二进制形式的存储格式,简称Binary JSON. 相对于json多了date类型和二进制数组。mongodb存储bson对象在丛集(collection)中。数据库名字和丛集名字以句点连结起来叫做命名空间(namespace)。一个集合命名空间又有多个数据域(extent),集合命名空间里存储着集合的元数据,比如集合名称,集合的第一个数据域和最后一个数据域的位置等等。原创 2024-10-28 06:00:00 · 970 阅读 · 0 评论 -
Java最全面试题->数据库/中间件->Oracle面试题
存储过程(Stored Procedure )是一组为了完成特定功能的 SQL 语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。优点:允许模块化程序设计,就是说只需要创建一次过程,以后在程序中就可以调用该过程任意次。允许更快执行,如果某操作需要执行大量 SQL 语句或重复执行,存储过程比 SQL 语句执行的要快。减少网络流量,例如一个需要数百行的 SQL 代码的操作有一条执行语句完成,不需要在网络中发送数百行代码。原创 2024-10-26 06:00:00 · 1091 阅读 · 0 评论 -
Java最全面试题->数据库/中间件->Mysql面试题
sql注入通过在 Web 表单中输入(恶意)SQL 语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行 SQL 语句。举例:当执行的 sql 为 select * from user where username = “admin” or “a”="a"时,sql 语句恒成立,参数 admin 毫无意义。防止 sql 注入的方式:预编译语句:如,select * from user where username =?,sql 语句语义不会发生改变,sql 语句中变量用?原创 2024-10-25 07:00:00 · 1139 阅读 · 0 评论