当前位置: 首页 > article >正文

郑州面试得问题

linux的常用命令

rabbit的使用场景
  1.云菜场用户注册成功之后  会发送对应的注册成功消息  同时提醒他绑定推荐人,这时候是直接通过MQ实现
  2.用户下单支付成功之后,完成持久化操作后,我这边会需要将订单得特定数据整理出来发送第三方平台   这个是通过mq实现得
  3.我的日志服务和邮件发送服务和其他服务通信都是通过MQ来实现
  4.云菜场里面的积分兑换,加减积分和修改订单状态都是通过MQ去实现
  5.还有ES数据和mysql数据同步的点也是mq实现的


mysql的行级锁和表级锁的有啥区别
1.表锁:加锁粒度大导致开销比较小,加锁块,不会出现死锁得问题,正因为加锁得粒度比较大  导致她得锁得冲突性比较高,并发性比较低
2.行锁:加锁粒度比较小,开销比较大,加锁比较慢,会出现死锁得问题,冲突率比较小  并发性比较高


hashmap在多线程下有哪些问题
1.线程安全问题
   本身就是线程不安全,会出现数据不一致或者丢失得问题
2.死锁问题
   当多个线程同时访问hasmap得时候  如果都在等对方释放锁
3.数据丢失问题
   当多个线程对其做读写操作的时候,
4.并发异常问题
   当一个线程对其遍历时候,另外一个线程已经对其做了修改  会发生ConcurrentModifacationExeception异常


ES的使用场景和工作原理,以及分片,项目使用的是什么分片

springsecrity的工作原理
 -------------认证
 1.用户提交用户名、密码被SecurityFilterChain中的UsernamePasswordAuthenticationFilter过滤器获取到,封装为请求Authentication,通常情况下是UsernamePasswordAuthenticationToken这个实现类。
 然后过滤器将Authentication提交至认证管理器(AuthenticationManager)进行认证,其子类providermanager里面存了很多的认证方式,最终执行者是由AuthenticationProvider完成的,我们通常会实现UserDetailsService接口,最终AuthenticationProvider将UserDetails填充至Authentication
 2.认证成功后,AuthenticationManager身份管理器返回一个被填充满了信息的(包括上面提到的权限信息,身份信息,细节信息,但密码通常会被移除)Authentication实例。
 3.SecurityContextHolder安全上下文容器将第3步填充了信息的Authentication,通过SecurityContextHolder.getContext().setAuthentication(…)方法,设置到其中。
-------------授权
拦截请求:已认证用户访问受保护的 web 资源将被 SecurityFilterChain 中的 FilterSecurityInterceptor 的子类拦截。
获取资源访问策略:FilterSecurityInterceptor 会调用 SecurityMetadataSource 的实现类 DefaultFilterInvocationSecurityMetadataSource 来获取当前资源所需的权限集合 Collection。 SecurityMetadataSource 是一个抽象接口,它负责读取我们配置的访问策略

websocket的工作原理

mysql的B+树

mysql的优化,哪些会造成索引失效

    1. 使用不等于(<>)操作符

    当查询条件中使用不等于操作符时,索引可能会失效。因为不等于操作需要扫描表中的大部分数据,导致索引的优势无法发挥。

    2. 对索引列进行计算或函数操作

    如果在查询条件中对索引列进行了计算或应用了函数,MySQL可能无法使用该索引,因为它需要计算每一行的值来确定是否满足条件。

    3. 隐式类型转换

    当查询条件中的数据类型与索引列的数据类型不匹配时,MySQL可能会进行隐式类型转换,并导致索引失效。

    4. 使用LIKE操作符进行前缀模糊匹配

    如果使用LIKE操作符进行模糊匹配,并且匹配模式以通配符开始(如LIKE '%xyz'),则索引会失效。因为MySQL需要扫描整个索引来查找匹配的行。

    5. 使用OR连接多个条件

    当使用OR操作符连接多个条件时,如果条件涉及的列不是全部被索引覆盖,那么索引可能会失效。

    6. 选择性低的列

    如果索引列的选择性很低(即列中不同值的比例很低),MySQL可能会认为全表扫描比使用索引更有效,从而不使用索引。

    7. 索引碎片过多

    当索引碎片过多时,MySQL可能会选择不使用索引,因为碎片化的索引可能导致查询效率降低。

    8. 数据分布不均

    如果数据在索引列上的分布非常不均匀,MySQL可能会认为全表扫描更有效,从而不使用索引。

    9. 复合索引未遵循最左前缀原则

    对于复合索引,如果查询条件没有使用索引的最左列,那么索引可能会失效。这是因为复合索引是按照从左到右的顺序构建的。

    10. 使用了NULL判断

    如果索引列包含NULL值,并且在查询中使用了NULL判断(如IS NULL或IS NOT NULL),那么索引可能会失效。

    11. 索引未被统计或统计信息不准确

    MySQL优化器会根据索引的统计信息来决定是否使用索引。如果统计信息不准确或过时,优化器可能会做出错误的决策。

    12. 强制使用索引或忽略索引的提示被误用

    MySQL允许使用FORCE INDEX或IGNORE INDEX来强制或忽略特定的索引。如果这些提示被误用,可能会导致性能下降。

    13. 数据库版本或配置问题

    某些MySQL版本或配置可能存在bug或性能问题,导致索引失效。因此,保持数据库版本更新和合理配置非常重要。

    14. 硬件或网络限制

    硬件资源不足(如内存、CPU或磁盘I/O性能)或网络延迟等问题也可能导致索引失效,因为这些因素会影响MySQL优化器的决策过程。

redis的使用场景  项目中使用了哪些功能
    缓存:Redis 可以作为应用程序的缓存层,减少数据库的读取压力,提高数据访问速度。

    会话存储:在 Web 应用中,Redis 可以用来存储用户的会话信息,如登录状态、购物车内容等。

    排行榜和计数器:Redis 支持原子操作,非常适合实现实时排行榜、点赞数、访问计数等功能。

    消息队列:Redis 可以作为消息队列系统,用于处理异步任务,例如邮件发送、后台任务处理等。

    实时分析:Redis 可以用于实时分析,如用户行为分析、实时统计信息等。

    分布式锁:在分布式系统中,Redis 可以用于实现分布式锁,确保在多个节点之间共享资源的一致性。

    发布/订阅:Redis 提供了发布/订阅模式,可以用于实现消息广播,例如实时通知系统。

    限流:Redis 可以用于实现限流功能,防止系统过载,如 API 调用频率限制。

    数据过期:Redis 支持设置数据的过期时间,自动清理过期数据,适用于临时数据存储。

    全页缓存:Redis 可以缓存整个页面的输出,减少数据库查询和页面渲染时间。

    社交功能:在社交网络应用中,Redis 可以用于存储好友关系、用户状态更新等。

    实时推荐系统:Redis 可以用于存储用户的行为数据和偏好,实现实时推荐。

    地理位置信息:Redis 支持 Geospatial 索引,可以用于实现地理位置相关的查询和推荐。

    时间序列数据:Redis 可以存储时间序列数据,用于监控和分析。

    任务调度:Redis 可以用于任务调度,例如定时任务的执行。

    数据共享:在微服务架构中,Redis 可以作为服务间共享数据的媒介。

    持久化:虽然 Redis 是内存数据库,但它也支持数据持久化,可以在系统故障后恢复数据。

java中原生的锁

redis分布式锁

spring是否是线程安全的

ES是怎么抽数据的

linkedlist和arrayList的区别

es和mq怎么数据一致性

怎么实现异步(comtable)

线程池

jwt
 


http://www.kler.cn/a/370301.html

相关文章:

  • 【Java】阿里环球Antom支付对接
  • 题解 CodeForces 1037D Valid BFS? 三种解法 C++
  • 【Spring】定义的Bean缺少隐式依赖
  • 如何使用C++来实现OPENAI协议通过OLLAMA来与AI大模型通信
  • iOS 性能优化:实战案例分享
  • 芯片详细讲解,从而区分CPU、MPU、DSP、GPU、FPGA、MCU、SOC、ECU
  • 宇视设备视频平台EasyCVR视频融合平台果园/鱼塘/养殖场/菜园有电没网视频监控方案
  • iOS AVAudioSession 详解【音乐播放器的配置】
  • 调用detr-resnet-50进行目标检测
  • JetBrains IDE中GPU进程(JCEF)重启问题(Too many restarts of GPU-process)解决方案
  • 【经验】Redis 持久化机制 RDB 和 AOF 区别
  • 篇章十一 打包构建工具
  • Python_PyCharm换源操作
  • Spring Boot实现的中小企业设备信息管理系统
  • 可编辑PPT | 柔性制造企业数字化转型与智能工厂建设方案
  • 【永中软件-注册/登录安全分析报告】
  • spring boot工程集成jwt 鉴权步骤
  • java智能物流管理系统源码(springboot)
  • 智慧旅游微信小程序平台
  • Milvus 与 Faiss:选择合适的向量数据库
  • 【SQL Server】解决因使用 varchar 类型存储 Unicode 字符串导致的中文显示乱码问题
  • 2024开放原子开源生态大会 | 麒麟信安携手openEuler共建开源生态,共塑产业未来
  • 应用架构参考设计
  • 【论文阅读】CNN网络权值的拓扑数据分析
  • 【泰克生物】比较酵母双杂交中的SMART、Gateway和In-Gate技术:优缺点分析
  • 日本HarmonicDrive哈默纳科减速机SHF系列在半导体中的应用