# 归档:部分精华内容
作者:冰河
星球:http://m6z.cn/6aeFbs (opens new window)
博客:https://binghe.gitcode.host (opens new window)
沉淀,成长,突破,帮助他人,成就自我。
# 一、介绍
归档汇总星球中的一些精华内容,旨在帮助小伙伴们迅速找到和学习星球精华贴。星球里的读者和小伙伴们也可以在文章下面提交PR,一起来维护和汇总星球的内容。
# 二、重要内容
- 又一个可直接用于实际项目的高性能通用熔断组件项目完结! (opens new window)
- 致星球刚入行不久的小伙伴们:快速入门Java学习路线 (opens new window)
- 几种数据查询深分页的简单优化方案 (opens new window)
- 重要:金丝雀(灰度)核心发布流程与系统兼容要点 (opens new window)
- 【重要】快速了解星球,开启学习之路! (opens new window)
- Java面试考点与学习路线 (opens new window)
- 又一个可直接用于实际项目的高性能通用熔断组件项目完结! (opens new window)
- 《架构师进阶系列》开篇:架构师与高级开发工程师的分水岭是啥? (opens new window)
- 《架构师进阶系列》前言:要想成为架构师需要掌握哪些硬核技能? (opens new window)
- 《架构师进阶系列》性能调优-第01章:程序员进阶架构师必看的面试重灾区:JVM整体架构、内存模型与调优实战 (opens new window)
- 《架构师进阶系列》性能调优-第02章:程序员进阶架构师必看的面试重灾区:逃逸分析 (opens new window)
- 架构师为什么要写文档?又该如何写文档呢? (opens new window)
- 为什么互联网巨头们纷纷使用Git而放弃SVN? (opens new window)
- 从零到千万用户,如何一步步优化MySQL? (opens new window)
- 到底是先更新数据库还是先更新缓存? (opens new window)
- 基于Redis如何统计千万级别用户的日活和月活数据? (opens new window)
- 缓存设计核心原则 (opens new window)
- 分布式环境下如何保证数据库和缓存的双写一致性? (opens new window)
- 高性能压测数据自动生成组件 (opens new window)
- Redis持久化机制 (opens new window)
- Redis的过期策略以及内存淘汰机制 (opens new window)
- 缓存与数据库的双写一致性问题 (opens new window)
- Redis缓存的常用设计模式 (opens new window)
- 常见的分布式中间件概述 (opens new window)
- 数据异构最佳实践(含完整代码实现) (opens new window)
- 如何设计一个支撑高并发大流量的系统的思路 (opens new window)
- 高并发场景下如何设置线程数量 (opens new window)
- 如何更加高效的阅读和学习开源框架源码(精华提纲篇) (opens new window)
- 一文扫尽HTTP请求头内容 (opens new window)
- 如何实现亿级流量下的分布式限流?这些理论需要你掌握 (opens new window)
- 如何实现亿级流量下的分布式限流?这些算法你必须掌握 (opens new window)
# 三、JVM核心技术
- Java应用生产故障排查(内存CPU飙升、线程死锁) (opens new window)
- 深入Hotspot源码与Linux内核理解NIO与Epoll (opens new window)
- 面向GC的Java编程! (opens new window)
- JVM基础 | JVM调优的几种场景 (opens new window)
- JVM基础 | 类的编译、编译优化、常量这地、泛型擦除、条件编译 (opens new window)
- JVM基础 | 类的加载过程 (opens new window)
- JVM 基础 | 类字节码解析 (opens new window)
- JVM基础 | JVM空间 (opens new window)
- JVM基础 | JVM堆内存分配机制 (opens new window)
- JVM基础 | JVM垃圾回收机制 (opens new window)
- JVM基础 | JVM垃圾回收算法 (opens new window)
- JVM基础 | CMS垃圾收集器 (opens new window)
- JVM基础 | G1垃圾收集器 (opens new window)
- JVM基础 | 内存布局 (opens new window)
- JVM基础 | 垃圾回收算法总结 (opens new window)
- JVM基础 | 各种参数配置 (opens new window)
- JVM基础 | 4大JVM性能分析工具详解,及内存泄漏分析方案 (opens new window)
# 四、问答精华
- 自己手写了一个简单MQ,面试的时候会被一般会问啥? (opens new window)
- 系统对接公司的统一认证,有什么方法能让所有请求先走我们自己的拦截器后走统一认证的过滤器吗? (opens new window)
- Springboot项目不借助配置中心实现动态加载配置文件,有没有什么办法让前端只调用一次就能获取配置文件最新值? (opens new window)
- 我在gateway的配置文件设置了ip,为什么通过localhost还是可以访问到接口 (opens new window)
- 依赖注入”和“面向接口或抽象类”编程两者有什么区别呢? (opens new window)
- 自定义了一个注解,想实现配置这个注解后,去拦截控制器上的一些接口,上报到Prometheus。 (opens new window)
- 目前公司想重构系统,计划使用数据服务+服务网关通过数据服务屏蔽sql。要求我负责牵头。这要怎么搞?没点头绪 (opens new window)
- chatgpt辅助程序员的当今,作为程序员,如何提高自己的壁垒呢? (opens new window)
- 大文件 断点读取 比如现在有个5g文件 我读取了1000行数据 突然数据断了 然后重启脚本 我需要继续从1000行继续读取 ,这种怎么设计好点呢 读取速度要快 (opens new window)
- 冰河大佬,我们现在是基于微服务开发,用户和组织机构管理被放到了单独的模块单独的库进行管理了,但是其它的微服务需要关联用户或者组织机构进行查询,我是需要每个库都保留一份用户和组织机构表么?这样的一旦用户过组织机构变动就会涉及数据同步问题,感觉很棘手,您有啥好建议么? (opens new window)
- 大佬,秒杀系统44章多线程并发下如何防止超卖的,没明白 (opens new window)
- 求教一下大佬,一个查询的接口,在 service 层加了@Transactional(readonly=true),会有什么影响,按我个人理解,查询是没必要加事务的,我的理解有问题么,谢谢大佬! (opens new window)
- 做业务如何提升技术?项目是屎山,如何提升自己?熟练使用还是研究底层?技术有师傅手把手带是进步最快的? (opens new window)
- 星球小伙伴做了四十多个项目,但是技术没多大提升,怎么办? (opens new window)
- 如何快速突击面试? (opens new window)
- 你好,冰河大佬,我想问一下,平常开发中,Redis对于树形结构的对象数据,应该如何存储合理一些呢 (opens new window)
- 阿里巴巴开发手册规定表之间禁止外键和级联,那如果一张用户表跟N张其他业务表存在一对多关系,当删除某个用户时,这些业务表与之关联的数据要怎么操作,如果逐个删除所有与该用户关联的其他业务表中的数据。。。 (opens new window)
- Seckill秒杀系统异步下单流程 (opens new window)
- 通过缓存通用模型去解决缓存击穿问题,缓存通用模型相比布隆过滤器的优势在那里?怎么去评估这两种处理方式呢? 我所理解是缓存通用模型不仅能够解决缓存击穿问题,还能解决缓存穿透问题以及缓存雪崩问题,除了这个还有其他方面的优势吗? (opens new window)
- 秒杀专栏中SystemClock时间戳性能优化,想请教下为什么这么设计和系统原生的方式相比System.currentTimeMillis()这种方式可以提高多少性能吗 (opens new window)
- 一个系统的登录需要考虑哪些东西?面试官是要考察哪方面的? (opens new window)
- 学习了 Seckill 项目 混合型缓存的设计和实现,先是看文档跟着实现了一遍,后面自己又根据自己的思考实现了一遍,有几个问题想问一下 (opens new window)
- 我想问下业务中做异步操作怎么样的方式比较好,有哪种写法更好更简洁呢? (opens new window)
- 麻烦大佬帮我看看,这简历有什么问题? 投了四五十个了中小公司了,还是零面试。 (opens new window)
- 冰河,我在学习 rpc的时候,看到服务提供者在接收到消息后开启了异步处理,这样的话,netty 是如何等待响应返回的呢?又是如何将响应绑定到之前的请求上对应返回的呢 (opens new window)
- 如何再代码层面上,监听事件,知道更新成功,需要怎么进行代码实现呢? (opens new window)
- 请教一下这种场景。用什么队列能保证线程安全 (opens new window)
- 需要在10亿用户中通过用户名查找某个用户是否存在,该如何设计 (opens new window)
- 大佬们有没有支付类系统架构设计的相关资料?求一份或者有做相关开发的,能不能提供一些核心思路。 (opens new window)
- 有一个服务A,调用我的服务B有百分之 10 会出现 connect reset的错误,怎么处理? (opens new window)
- 分布式项目中节点有40个,每天有定时任务去收集数据,然后入到kafka,现在想直观的看到推送到kafka的数量。请问大家,有什么好的解决方案。 (opens new window)
- 各位大佬好,最近接到一个需求,需要实现一套标准的打印机小票模板的解析和各厂商模板标签的适配 (opens new window)
- 想请教冰河老师一个问题,在众多的技术中,除了工作需要之外,选择一个具体的技术花大量时间(比如5年)来不断深入学习是否可取? (opens new window)
# 五、学习总结
- 需要在10亿用户中通过用户名查找某个用户是否存在,该如何设计 (opens new window)
- 经常用缓存,那么你是如何确定缓存的过期时间呢? (opens new window)
- 数据库和Redis数据一致性怎么保证? (opens new window)
- 关于分库分表的几点疑问和总结 (opens new window)
- Redis的常见用法总结 (opens new window)
- 实现分布式锁,Zookeeper 与 Redis 哪个更好一点? (opens new window)
- 今天分享一个小知识,MySQL表级锁MDL (opens new window)
- 总结一下SQL 优化的方法,可用于面试和日常开发 (opens new window)
- 接口幂等与支付状态机 (opens new window)
- 今天工作遇到一个测试环境的bug,json数据太长了,导致数据部分新增失败... (opens new window)
- 背景:类似信用卡还款,一笔还款进来,会根据不同场景下的规则将本金、利息、服务费、罚息、其他费用等条目分给不同的账户。 (opens new window)
- 分布式IM即时通讯系统搭建环境时候遇到的一个问题 (opens new window)
- 学习分库分桶里面的构建分桶,计算出每个桶里面的数据。如果有200条数据,分3个桶... (opens new window)
- 如果将MySQL分成 Server层和存储引擎层两大部分,那么Buffer Pool位于存储引擎层。 (opens new window)
- 再次回看分库分表部分,慢慢理解分库分表分桶设计,以及对应缓存的方案 (opens new window)
- Linux 是如何启动的? (opens new window)
- 系统设计小抄–如何实现高可用,高吞吐,高扩展 (opens new window)
- 查询发现dockerhub上sonatype的nexus镜像支持的全都是amd64架构,直接pull下来在docker上无法启动的解决方案 (opens new window)
- 《深入理解JVM虚拟机》总结笔记 (opens new window)
- DevOps 和 NoOps 是如何改变软件开发生命周期(SDLC)的? (opens new window)
- 秒杀项目,使用docker-compose搭建研发环境时,用master分支的docker-compose-light.yml启动容器... (opens new window)
- RPC(Remote Procedural Call, 远程过程调用)之所以被称为 remote...gRPC 的数据流 (opens new window)
- RPC完成到31章,完成了SPI扩展序列化功能,因为用JDK 17, 有些binary library好久没更新.. (opens new window)
- 今天又一个问题:你嘴上一直原神启动,那现在有一个问题,原神用的是TCP还是UDP? KCP 又是什么? (opens new window)
- 今晚睡觉前分享一道高频的计算机网络面试题 (opens new window)
- RocketMQ消息清理机制 (opens new window)
- FFmpeg:多媒体处理的瑞士军刀 (opens new window)
- 系统设计小抄:如何设计安全可靠的API? (opens new window)
- 今日分享,是一个比较基础的问题:软件是如何生产出来的 ? (opens new window)
- 框架八股-无锁并发-复盘项目 (opens new window)
- 今天遇到一个面试问题(考思路):说如果只有mysql数据库,你如何实现一把分布式锁? (opens new window)
- 整理了下rpc框架用到的一些理论知识概念 (opens new window)
- 给大家分享一个奇特的bug,关于mybatis的 (opens new window)
- 有了下图,还有什么理由不学秒杀 (opens new window)
- 今日分享 Netflix 架构演变过程 (opens new window)
- IoC 和 Spring IoC (opens new window)
- 今日分享:我们为什么需要osi七层模型? (opens new window)
- 线程的各种状态 (opens new window)
# 六、面试面经
- 面试场景:RocketMQ消息消费问题 (opens new window)
- 星球读者反馈面试真题 (opens new window)
- 阿里二面:向1000万用户发送活动消息短息,这样的系统要怎么设计? (opens new window)
- 有点怕面试, 上上家工资很低也呆了两年半,然后六月裁员。 七月好不容易入职了,结果十一月又是裁员。 平常没啥积累, 遇到面试就脑子空空! (opens new window)
- 你们公司什么场景下用到了MQ?有没有涉及到可靠性投递? (opens new window)
- 蚂蚁金服面经分享 (opens new window)
- 大家觉得面试时自我介绍环节应该介绍哪些内容呢? (opens new window)
- 讲讲你对时间轮算法的理解? (opens new window)
- 讲讲你对LinkedBlockingQueue的理解? (opens new window)
- 讲讲你对PriorityBlockingQueue的理解? (opens new window)
- 讲讲你对DelayQueue的理解? (opens new window)
- 讲讲你对SynchronizedQueue的理解? (opens new window)
- 讲讲你对LinkedTransferQueue的理解? (opens new window)
- 讲讲你对ConcurrentLinkedQueue的理解? (opens new window)
- 讲讲你对ConcurrentLinkedDeque的理解? (opens new window)
- Netty的addlast 是向后添加的吗?比如addlast(1);addlast(2);实际的顺序是1,2吗? (opens new window)
- 消息中间件面试题汇总 (opens new window)
- 微服务相关的面试题汇总 (opens new window)
- 设计模式面试题汇总 (opens new window)
- 类初始化的时机有哪些? (opens new window)
- 在网站返回浏览器证书的时候,如果被中间人截取,换成他自己的证书和公钥,那么之后的操作在中间人看来不都是透明了么? (opens new window)
- ES数据写入先写入内存最后刷新到磁盘,读取数据的时候,是直接读内存还是读磁盘?如果是读内存的话,那立刻写立刻读是能读到的呀,为什么会说读不到呢 (opens new window)
- G1分那么多的Region,有点像hdfs里面的小文件,小文件太多会影响性能,但是为什么G1的性能会比之前那些更好呢? (opens new window)
- 混合回收是对新生代,老年代和大对象的Region进行垃圾回收,按照最少的时间回收最多的垃圾原则,可能会优先回收新生代的Region,然后空闲的Region达到5%停止了回收,导致老年代没有被回收,这样的话没过多久又要进行混合回收了,请问我分析的对吗? (opens new window)
- 一般是什么场景下会出现需要用户态切换到内核态? (opens new window)
- kafka写稀疏索引时,使用raf.getChannel.map将文件映射到内存,为什么写log时,不使用这种方式,是基于什么考虑的? (opens new window)
- 年后有跳槽想法的小伙伴可以看看,希望对大家有所帮助。 (opens new window)
- 记一次面试经历,还是要多学习,以后遇到没见过的问题冷静思考,不能再手忙脚乱了 (opens new window)
- 今天面试遇到一个问题,netty服务端发送消息给多个客户端如何保证消息不延迟?我没有回答出来,想请教下 (opens new window)
- 当面试被问到分布式锁时,可以从以下几个方面来回答 (opens new window)
- 《JAVA面试核心知识点》分享给大家,希望对大家有帮助。 (opens new window)
- 关于Spring的一些面试题,你会几个? (opens new window)
- 星球读者面试真题记录 (opens new window)
- 面试官:系统有万亿条消息怎么存储? (opens new window)
- 打卡第一天:JVM、JRE和JDK的关系 (opens new window)
- 打卡第二天:什么是跨平台性?原理是什么? (opens new window)
- 打卡第三天:Java语言有哪些特点 (opens new window)
- 打卡第四天:什么是字节码?采用字节码的最大好处是什么? (opens new window)
- 打卡第五天:什么是Java程序的主类?应用程序和小程序的主类有何不同? (opens new window)
- 打卡第六天:Java和C++的区别是什么? (opens new window)
- 打卡第七天:Oracle JDK 和 OpenJDK 的对比 (opens new window)
- 打卡第八天:Java有哪些数据类型 (opens new window)
- 打卡第九天:高效计算问题。 (opens new window)
- 打卡第十天:Java中的访问修饰符 (opens new window)
- 打卡第十一天:&和&&的区别 (opens new window)
- 打卡第十二天:final 有什么用?final finally finalize区别 (opens new window)
- 打卡第十三天:this、super关键字的用法与区别 (opens new window)
- 打卡第十四天:聊天你所理解的static关键字? (opens new window)
- 打卡第十五天:说说break ,continue ,return 的区别? (opens new window)
- 打卡第十六天:在 Java 中,如何跳出当前的多重嵌套循环 (opens new window)
- 打卡第十七天:面向对象和面向过程的区别 (opens new window)
- 打卡第十八天:面向对象的特征有哪些方面 (opens new window)
- 打卡第十九天:什么是多态机制?Java语言是如何实现多态的? (opens new window)
- 打卡第二十天:面向对象五大基本原则是什么? (opens new window)
- 打卡第二十一天:抽象类和接口的对比 (opens new window)
- 打卡第二十二天:普通类和抽象类有哪些区别?抽象类能使用 final 修饰吗?创建一个对象用什么关键字?对象实例与对象引用有何不同 (opens new window)
- 打卡第二十三天:成员变量与局部变量的区别有哪些? (opens new window)
- 打卡第二十四天:在Java中定义一个不做事且没有参数的构造方法的作用 (opens new window)
- 打卡第二十五天:重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分? (opens new window)
- 打卡第二十六天:hashCode 与 equals (重要) (opens new window)
- 打卡第二十七天:为什么 Java 中只有值传递 (opens new window)
- 打卡第二十八天:值传递和引用传递有什么区别? (opens new window)
- 打卡第二十九天:JDK 中常用的包有哪些?import java和javax有什么区别? (opens new window)
- 打卡第三十天:java 中 IO 流分为几种? (opens new window)
- 打卡第三十一天:BIO,NIO,AIO 有什么区别? (opens new window)
- 打卡第三十二天:反射三连问 (opens new window)
- 打卡第三十三天:String四连击 (opens new window)
- 打卡第三十四天:String简单三连问 (opens new window)
- 打卡第三十五天:String 类的常用方法都有那些? (opens new window)
- 打卡第三十六天:在使用 HashMap 的时候,用 String 做 key 有什么好处? (opens new window)
- 打卡第三十七天:String和StringBuffer、StringBuilder的区别是什么?String为什么是不可变的? (opens new window)
- 打卡第三十八天:Java自动装箱与拆箱? (opens new window)
- 打卡第三十九天:集合面试五连鞭 (opens new window)
- 打卡第四十天:List,Set,Map三者的区别?List、Set、Map 是否继承自 Collection 接口?List、Map、Set 三个接口存取元素时,各有什么特点? (opens new window)
- 打卡第四十一天:JVM 有哪些垃圾回收算法? (opens new window)
- 打卡第四十二天:集合框架底层数据结构 (opens new window)
- 打卡第四十三天:哪些集合类是线程安全的? (opens new window)
- 打卡第四十四天:说说Java集合的快速失败(fail-fast)机制? (opens new window)
- 打卡第四十五天:怎么确保一个集合不能被修改? (opens new window)
# 七、职场经验
- 我是一名双非大四的学生,刚学完黑马程序员的springcloud,做了一个学堂微服务项目。秋招找java处处碰壁,现在面对这么多不知道的知识对未来很迷茫。请问我这种情况后续学习路线应该怎么规划,哪些是重点。主要是为了应届找工作,目标是中厂。 (opens new window)
- 很多人工作很长时间了,却不知道如何更好的设计和优化MySQL数据库 (opens new window)
- 大家好,一直以来没有总结的习惯,今天听取冰河大佬的建议说按照自己的思路对面试进行一个总结 (opens new window)
- 想问问一下冰河,社招1年经验是看重八股文还是实战经验?算法这一块是不是也比较看重 (opens new window)
- 前面面试还好,没想到却因为没有高并发实战项目挂了 (opens new window)
# 八、简历
← 星球项目汇总 分布式IM即时通讯系统 →