Rubin's Blog

  • 首页
  • 关于作者
  • 隐私政策
享受恬静与美好~~~
分享生活的点点滴滴~~~
  1. 首页
  2. 面试
  3. 正文

面试总结

2022年 1月 7日 1001点热度 0人点赞 2条评论
  • 假如生产环境出现CPU占用过高,如何分析思路和定位?

解决思路:先查占用CPU高的进程号---->然后查询占用CPU高的线程号---->最后查询是具体哪行代码出的问题。

一、使用top命令找出CPU占比最高的进程

二、使用 jps -l 或者 ps -ef | grep java | grep -v grep 命令,查出是哪个后台程序

三、通过 ps -mp 进程号 -o THREAD,tid,time 命令,定位到具体线程或者代码(参数解释:-m 显示所有线程,-p pid进程使用cpu的时间,-o 该参数后是用户自定义格式)

四、通过 “printf “%x\n” 线程号” 命令,将上面查询出来的线程号转换为16进制格式(并把英文改成小写格式)

五、通过 " jstack 进程ID | grep tid(16进制线程ID小写英文) -A40 " 命令,查出具体是哪行代码出的问题

上述问题答案参考博文:https://blog.csdn.net/mangomango123/article/details/114043755。

  • 现在分库分表很常见,分库分表如何支持多条件的高效率检索?

这个问题换句话就是问分库分表时如何快速检索非分片键的数据。现有的解决方案有两种:一种是异构索引,举例就是订单按照订单号分库分表之后,创建用户ID和订单ID的关联表,该表通过用户ID来做分片键,数据异步更新(可以使用MQ或者订阅binlog);另一种就是利用ES构建宽表索引,通过异步(MQ或者binlog)去更新数据。

参考:https://blog.csdn.net/hanruikai/article/details/113859723。

  • 谈谈Redis的ZSET

sortedSet(zset) 有序集合: 元素本身是无序不重复的,每个元素关联一个分数(score),可按分数排序,分数可重复。应用场景:由于可以按照分值排序,所以适用于各种排行榜。比如:点击排行榜、销量排行榜、关注排行榜等

  • Redis哨兵的作用
Redis之高可用方案

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 面试
最后更新:2022年 6月 9日

RubinChu

一个快乐的小逗比~~~

打赏 点赞
< 上一篇
下一篇 >

文章评论

  • yalong

    过了几篇大哥的文章。
    总体不错。
    提个建议:所有图形,尽量自己画出来,即使画不出来,也照着抄出来,不要直接粘贴别人的,图形比代码更有说服力。

    2022年 1月 7日
    回复
  • RubinChu

    :cool:

    2022年 1月 10日
    回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    取消回复
    最新 热点 随机
    最新 热点 随机
    问题记录之Chrome设置屏蔽Https禁止调用Http行为 问题记录之Mac设置软链接 问题记录之JDK8连接MySQL数据库失败 面试系列之自我介绍 面试总结 算法思维
    面试总结 SpringCloud Netflix之服务提供者 SpringCloud之Config分布式配置中心 Redis之快速实战 JVM常用指令与可视化调优工具 SpringBoot之源码环境搭建

    COPYRIGHT © 2021 rubinchu.com. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang

    京ICP备19039146号-1