面试
文章平均质量分 69
大鸡腿同学
SoftRpc contribuer; 21年拿到阿里淘系口头offer; 目前在某公司架构组搬砖,多多指教~
展开
-
RocketMQ知识图谱总结
文章目录前言RocketMQ组成提高性能地方过期机制高可用NameSpace刷盘消息储存消息发送消息消费事务消息前言本博客是观看中通架构师丁威老师《rocketmq技术内幕》总结,以及网上一些技术博客,仅用于个人学习以及分享个人知识盲区。RocketMQ组成producer,consumer,broker,namespace提高性能地方Message Queue 是broker上分片的最小单位,也能提高消费性能过期机制commitlog不管有没有消费,72小时之后会删除高可用produ原创 2021-10-06 15:20:14 · 649 阅读 · 0 评论 -
redis知识图谱总结
前言面试在面很多高级岗位的时候,面试官会时不时来句redis底层数据结构,以及各种扩展,例如:得物高工技术终面:redis数据结构底层实现再如我面过很多大厂也会问我rehash,我当时???好吧,尽量完善自己的知识图谱redis数据结构本博客主要是观看《redis设计与实现》,然后进行个人的学习总结~sdssimple dynamic string它是字符串实现数据结构,特点:会保存使用字节的数量,以及未使用的字节的数量好处:不会内存溢出,比如说缓冲区,既然我已经有了这个数值,你如果原创 2021-09-14 00:38:16 · 934 阅读 · 0 评论 -
线程池队列满了之后任务丢弃,怎么解决(实战篇)
文章目录前言开整代码问题前言最近有朋友去面了路客,面试官问的问题比较大,说实话很难细分。挑一道实战的来讲,线程池队列满了之后任务丢弃,怎么解决开整众所周知,线程池默认拒绝策略是丢弃并抛出异常,这样的话那溢出的任务就不见了,在实际业务中会受到影响。优化:改写拒绝策略,延迟任务重新投向线程池打印对应任务参数,可以做塞回数据库,或者打印出来方便排查问题代码重新拒绝策略static class RetryPolicy implements RejectedExecutionHandler {原创 2021-08-25 11:56:02 · 9933 阅读 · 2 评论 -
TopK高频重复 算法题
文章目录前言解法代码前言最近广州某大厂面,笔试也有算法,惊了~题目就是找出2G数据里头,重复最多的前100个,虚拟机只有1G内存解法1.首先是分治法因为内存不够,就1G1G来算咯,然后再将结果进行合并即可。2.就是一个TopK 的问题,可以采用堆3.重复次数最多需要用map来记录key对应出现的次数有多少代码public static void main(String[] args) { /*PriorityQueue<Integer> queue = ne原创 2021-08-24 16:41:01 · 182 阅读 · 0 评论 -
阿里二面之lazada跟国际化中台区别,以及多租户的学习
前言在阿里国际化二面的时候,我问了面试官lazada跟国际化中台的关系?lazada属于其中一个业务方,而中台的概念就是要兼容各种业务方,也就是多租户的问题面试题多租户的实现在我们公司也会遇到这个问题,就是前端会传个店铺id,然后使用本地变量去储存,再通过mybatis plus租户插件去入库。面试官那在jvm层面上,需要怎么注意(ps:这里我有点闷逼)解答每个店铺它的配置都不一样,也就是对象,实例都需要一个隔离。其次像数据库,缓存,mq也需要进行隔离。answer:在业务上可以才有原创 2021-08-19 16:57:31 · 954 阅读 · 0 评论 -
面试题--cpu高解决方案以及火焰图学习
文章目录前言参考文章套路怎么优化查看相关占用cpu代码Arthas 火焰图前言在很多面试题中,有个高频的:线上cpu很高的时候,怎么处理参考文章一次线上服务高 CPU 占用优化实践如何读懂火焰图?cvte厂的巨佬,摩拜一波套路top拿到占用cpu比较高的进程top -HP拿到进程中的线程pidjastack 对应pid | grep pid转十六进制(或者自己去文件找)怎么优化根据打印出来的堆栈信息,进行分析,也可以使用火焰图进行优化对应代码Arthas 用户文档步骤原创 2021-07-31 17:34:22 · 893 阅读 · 0 评论 -
Mysql死锁学习篇--X锁,S锁
文章目录前言X锁,S锁表锁,行锁死锁死锁处理参考文章前言无论是面试还是现实开发都有遇到过死锁,但是一直对死锁问题没有更加深入的了解,今天就一点点总结下~X锁,S锁X锁:排它锁,就是拿到了其他人不能拿到其他的锁S锁:共享锁,其他人还是能拿到S锁,但是不能拿到X锁表锁,行锁MyISAM支持表锁,Innodb支持表锁跟行锁表锁:开销比较小,加锁快,不会造成死锁,但是并发小行锁:开销大,加锁慢,会造成死锁,但是并发比较大死锁线上场景:RR级别,一个在批量插入,另一个在进行根据特定字段的更新,当原创 2021-07-30 17:24:10 · 1337 阅读 · 0 评论 -
阿里、蚂蚁金服面试--幂等性实现
文章目录前言参考文章MQ方案相关思想DB方案redis方案前言由于之前没有总结完整,导致在面试的时候老是有卡壳,比如说最近微众银行的二面,如果通过数据库来实现幂等性参考文章阿里经典面试题:消息队列的消费幂等性如何保证?MQ方案在服务端的时候是at lease one,就是会多次发送保证说在网络问题或者客户端宕机等等情况下,可以进行多次发送,保证客户端能接收到。那么这时就需要去重。去重主要通过messageId进行相应的去重相关思想就是有消息状态表,还有对应的标识,可以是message原创 2021-07-29 16:50:18 · 227 阅读 · 0 评论 -
阿里中间件-全链路压测 总结
文章目录前言全链路压测文章地址具体流程要点前言这几天在面蚂蚁金服的国际支付事业部,刚好有个面试题是:全链路压测怎么设计?(ps:我当时有点闷逼的,因为我们一般就是用jmeter去进行压测,至于全链路怎么搞呢)全链路压测文章地址全链路压测体系建设方案的思考与实践具体流程大概流程: 首先要做流量染色 ->流量识别->然后agent用字节码技术->改写sql 将数据落到影子表要点1.染色然后如何在全链路进行传递?A:这个可以参考阿里开源中间件sofatrace里面spa原创 2021-06-22 11:49:20 · 803 阅读 · 3 评论 -
优雅关闭线程池
文章目录前言why?how?相关参数shutdown跟shutdownNow区别具体关闭线程池代码参考资料前言这一类的文章在公众号其实是很多的,所以这一篇主要是加深自己对线程池的相关函数以及关闭线程池的知识点进行总结~why?为啥会出现如何优雅关闭线程池这类问题?比如说线程池还在执行任务,这时jvm就关闭了,很多任务是直接out对吧。所以说如何解决这个问题。how?RunTime.getRunTime().addShutdownHook新增一个关闭回调钩子,就是在jvm关闭的时候会进行回调。原创 2021-06-07 10:17:11 · 212 阅读 · 6 评论 -
大厂面试:volitail实现原理
文章目录面试volitail介绍操作系统层实现防止指令重排序线程安全的三个原则面试大厂面试都是要往深里面讲,有次面腾讯还有网易,都是让我往深讲,基本原理就是不听,哈哈。volitail介绍实现了可见性,但是没有实现原子性,所以是线程不安全的。其次怎么实现的可见性呢?由于存在线程内存,所以线程修改完需要刷新到主内存里面,保证其他线程也能看到。操作系统层实现msi协议m修改 s共享 i已失效当share状态的时候,变成其他状态的时候会主动写回主线程,其他线程将变量失效。防止指令重排序原创 2021-05-26 09:52:51 · 532 阅读 · 2 评论 -
3月社招新鲜面经总结
文章目录网易一面网易一面主要是介绍下项目,谈到处理并发跟优化的问题个人简历讲到二级缓存,里面有一个一直困扰我的问题:就是如何刷新机器集群里面的缓存,我当时回答说根据一个变量来大家一起刷新,比如放在redis上。后面请教面试官,解惑我很久以前的疑惑:可以使用zk的广播,牛皮~(我怎么没有想到)redis基础数据结构,底层构造(槽,跳表),高可用(raft算法,哨兵模式,一致性hash)jvm相关,从一个类的初始化的过程,谈到jvm,以及如何调优(ps:面试官人很好,一直引导)回收器:CMS,原创 2021-02-24 23:49:51 · 2281 阅读 · 2 评论