学习点
- java内存模型,垃圾回收
https://tech.meituan.com/2020/11/12/java-9-cms-gc.html
那些区域会发生oom
https://blog.csdn.net/qq_38127722/article/details/118785511 - es fresh和refresh
https://blog.csdn.net/seanxwq/article/details/122600294 - String类型最长是多少,结论:65534
u2是无符号2字节,最大分为2^16-1=65535 ,去掉结束符就是65534
因为java jvm手册中表明定义string 的length是u2类型
https://mp.weixin.qq.com/s/dt38mk0YbfPkaCouJqi1IA - redis和mysql双写一致性
https://mp.weixin.qq.com/s/ooxSSQA-o2Vuk_BCvuP6Lg - es分页
https://mp.weixin.qq.com/s/42T7qBE4ZE2Y526Tia4mrw - es快照实现方式(自己提出的问题)
- 面试官:为什么数据库连接很消耗资源,资源都消耗在哪里?
https://mp.weixin.qq.com/s/GQxius9Ulz-cjqwZpGQmPQ - 经典面试题:Integer c=100,d=100,c==d 一定是false吗?
https://mp.weixin.qq.com/s/THLU1WnuyEfCWiTKXgWJ2g - 美团面试题:hashCode 和对象的内存地址有什么关系?
https://mp.weixin.qq.com/s/qmhgGb5Xxy9oZzsS0VVyNA - 面试官问:消息被重复消费,怎么避免?有什么好的解决方案?
https://mp.weixin.qq.com/s/j4qwcgWkujgc8aEy_XR4bg - 面试官问:select……for update会锁表还是锁行?
https://mp.weixin.qq.com/s/Up68iQC2vB-LfNELkduP5Q - 面试官:说说Spring AOP、AspectJ、CGLIB ?它们有什么关系?
https://mp.weixin.qq.com/s/BybcXvGl2tGFhlCeJsJo7w - 面试官:为何 Redis 使用跳表而非红黑树实现 SortedSet ?
https://mp.weixin.qq.com/s/HFu1varflDP8aPNzE9mW-A - 没答好「进程间通信」,被面试官挂了….
https://mp.weixin.qq.com/s/Dc5ltOVsfXtNTK3jwIlLCQ - 为什么多线程下 @Async 会导致 Spring 事务失效?
https://mp.weixin.qq.com/s/khEgG4n2WuQSYSBkJCWZMA - SpringBoot + Redis:模拟 30w 人的秒杀抢单!
https://mp.weixin.qq.com/s/dcsLWpvKQjjTTsZqDUFYXQ - threadlocal内存泄露
ThreadLocal 你怎么动不动就内存泄漏?
https://mp.weixin.qq.com/s/MpImTSSTG5qeuXMKATYdkQ
谈谈ThreadLocal的设计及不足
https://www.cnblogs.com/jcli/p/talk_about_threadlocal.html - Spring 是如何解决循环依赖的?写得太好了!
https://mp.weixin.qq.com/s/Ra6Peuq7ZDSNe7OruAWZtw
京东一面:Spring 为何需要三级缓存解决循环依赖,而不是二级缓存?我懵了。。
https://mp.weixin.qq.com/s/jqbhZbO5zmfLCzmAV8Tlgw - 终于搞懂了java8的内存结构,再也不纠结方法区和常量池了!那些区域会产生oom异常?
https://mp.weixin.qq.com/s/2-XHHYdHaMl7OebE6IEwnA - 阿里二面:怎么解决MySQL死锁问题的?
https://mp.weixin.qq.com/s/xmRBcmse3XfwWxGrm7L-BA - CTO 说公司的 ES 性能不够好、集群不够稳定!直到我用了这些调优技巧后。。。
https://mp.weixin.qq.com/s/nYFv10TmyAB1tJXgHoo2tA - 腾讯三面:40 亿个 QQ 号码如何去重?
https://mp.weixin.qq.com/s/J2Q3sB0N73vHc3fGsMxpGg - Redis 之布隆过滤器与布谷鸟过滤器
https://mp.weixin.qq.com/s/EiM7knXoFYhRfC-3es_X1Q - Kafka性能篇:为何Kafka这么"快"?
https://mp.weixin.qq.com/s/JFRqTwC8-hESQYlRJXDDLw - cap理论,分区容错性是啥?一般放弃什么?
- hashmap存储和查询的过程。hashmap为什么要修改为红黑树。
- 对依赖倒置和控制反转的理解
- mysql主从复制
- kafka对新扩出来的partition如何做流量灰度
- mysql int和string的隐式数据类型转换
- 为什么wait和notify要在object下而不是在Thread静态类下。
- 国产化
- java面试
https://hadyang.com/interview/ - 面试结束后问面试官的问题
https://github.com/yifeikong/reverse-interview-zh - Elasticsearch内核解析 – 查询篇
https://zhuanlan.zhihu.com/p/34674517 - 树
https://baijiahao.baidu.com/s?id=1692099343071396847&wfr=spider&for=pc - concurrenthashmap
https://blog.csdn.net/nazeniwaresakini/article/details/105576938
锁升级:计算size的时候
https://baijiahao.baidu.com/s?id=1726241809502970594&wfr=spider&for=pc&searchword=concurrenthashmap1.7%E5%92%8C1.8%E7%9A%84%E5%8C%BA%E5%88%AB - 如何解决redis热key问题
- cas实现原理,如何解决aba问题
- mysql多列索引实现原理
- kafka为什么快
https://baijiahao.baidu.com/s?id=1710624455165799096&wfr=spider&for=pc - redis有哪些数据结构
https://blog.csdn.net/mjh1667002013/article/details/123973987 - kafka2.4版本支持从副本消费,但是仅仅是在同步的时候使用,而非用来提高读取性能
https://zhuanlan.zhihu.com/p/324497008 - kafka在什么时候会触发rebalance
search after
这是Elasticsearch 5 新引入的一种分页查询机制,其实原理几乎就是和scroll一样,因此代码也是几乎一样的, 简单三句话介绍search after怎么用就是:
它必须先要指定排序(因为一定要按排序记住坐标)
必须从第一页开始搜起(你可以随便指定一个坐标让它返回结果,只是你不知道会在全量结果的何处)
从第一页开始以后每次都带上search_after=lastEmittedDocFieldValue 从而为无状态实现一个状态,说白了就是把每次固定的from size偏移变成一个确定值lastEmittedDocFieldValue,而查询则从这个偏移量开始获取size个doc(每个shard 获取size个,coordinate node最后汇总
shards*size 个。
最后一点非常重要,也就是说,无论去到多少页,coordinate node向其它node发送的请求始终就是请求size个docs,是个常量,而不再是from size那样,越往后,你要请求的docs就越多,而要丢弃的垃圾结果也就越多
作者:华安火车迷
链接:https://www.jianshu.com/p/91d03b16af77
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
技术学习
-
字节跳动,算法中文手册
-
可能是史上最全的权限系统设计
https://mp.weixin.qq.com/s/D5oeGq_cbsH4I5tC5jbkhA -
玩转 SpringBoot 监控统计(SQL监控、慢SQL记录、Spring监控、去广告)
https://mp.weixin.qq.com/s/LlQunuJpg8ISaiyZiqDtTQ -
一行代码完成模型训练,30倍加速,3毫秒急速识别,超强图像分类算法开源!
https://mp.weixin.qq.com/s/-ZIGzTd8hs7Tly1-ugQ-xg
5 Netty的FastThreadLocal到底有多快?
https://mp.weixin.qq.com/s/VgcgVdbTQS2i-trODCG3Cw
6 在Grafana中使用Variables
https://mp.weixin.qq.com/s/cFn8MtcC7kW6Iz4YqudLSw -
ES入门
2万字详解,彻底讲透 全文搜索引擎 Elasticsearch(仅供入门)
https://mp.weixin.qq.com/s/vAtVNqlrt90Fl_0-Wxm6fQ -
Lucene 中的 Stored Fields 存储优化
https://mp.weixin.qq.com/s/zsAjhhoOy__UlSf6i-ZMSA -
浅谈Lucene中的DocValues
https://mp.weixin.qq.com/s/VL-v_d3yh7de6k_wAd-XEQ -
ES总结-底层数据结构之docValue
https://mp.weixin.qq.com/s/rNWlut8bWTvWzi9qwsEbTg -
容器与Pod到底有什么区别和联系?
https://mp.weixin.qq.com/s/yfSWCQNxyY5zKSmwInDQaQ -
如何在 Java 中通过 Bucket4j 提供速率限制?
https://mp.weixin.qq.com/s/KlsDmqs_I37bShRK_e_lzQ -
Lucene解析 – 基本概念
https://mp.weixin.qq.com/s/l7dxz2LwIlg9FITGGSz_0w
知识图谱实战系列六:Lucene在知识图谱上构建索引
https://mp.weixin.qq.com/s/RyNKVVi-HthgkjfORPR9YA -
Java中9种常见的CMS GC问题分析与解决
https://mp.weixin.qq.com/s/RFwXYdzeRkTG5uaebVoLQw -
Probe:Android线上OOM问题定位组件
https://mp.weixin.qq.com/s/tO1yxFs2qNQlQ2bJ8vGzQA -
列存数据库,不只是列式存储
https://mp.weixin.qq.com/s/USi6WBnpG-fM8e2LqqPqTA -
学习cassendra,clickhouse,druid
ClickHouse与ES的优劣对比
https://www.cnblogs.com/xionggeclub/p/15100707.html
还在用 ClickHouse?事实证明 ES 更强大!
https://mp.weixin.qq.com/s/_WxLHJkaj_HIZvekIXmu4g -
分词
ElasticSearch的store属性与source
https://blog.csdn.net/lijingjingchn/article/details/105682618
ES分词器组成篇
https://mp.weixin.qq.com/s/KpzHDcLkmPZLa755sSPFAg
聊聊Elasticsearch中的文本分析
https://mp.weixin.qq.com/s/kvgCfGYkGtBkTkkx56tUtQ
Lucene系列(4)——Analyzer原理及代码分析
https://mp.weixin.qq.com/s/AmD-O2u_VAmDZYHs_dvkw -
Java8的Stream不好调试?试试StreamTrace调试神器!
https://mp.weixin.qq.com/s/8UeCO2QVY-tBzD2EgAfOTQ -
微服务之间的最佳调用方式
https://mp.weixin.qq.com/s/JGiGunAhP4XqzbmTbSghnQ -
OAuth2 vs JWT,到底怎么选?
https://mp.weixin.qq.com/s/lMLthnBl47a5jaT2rWa2oA -
JVM实现原理分析之safepoint
https://mp.weixin.qq.com/s/_WlfOHMv36gakePEcFMlfg -
超牛逼的性能调优利器 — 火焰图
https://mp.weixin.qq.com/s/soVdq1O0jqn6S5uEBLvo7g -
Java魔法类:Unsafe应用解析
https://tech.meituan.com/2019/02/14/talk-about-java-magic-class-unsafe.html -
Spring Boot引起的“堆外内存泄漏”排查及经验总结
https://tech.meituan.com/2019/01/03/spring-boot-native-memory-leak.html -
从实际案例聊聊Java应用的GC优化
https://tech.meituan.com/2017/12/29/jvm-optimize.html -
Elasticsearch可搜索快照技术原理及最佳实践
https://cloud.tencent.com/developer/article/1907148
腾讯云es资料合集(吴容):https://cloud.tencent.com/developer/user/6583491
腾讯云Elasticsearch集群规划及性能优化实践https://cloud.tencent.com/developer/article/1696747 -
scroll search context原理,context存在时会进行merge,但是不会删除旧的段,因此scrollsearch存在时磁盘占用会增加
https://www.elastic.co/guide/en/elasticsearch/reference/current/paginate-search-results.html#scroll-search-context -
kafka集群扩容总结:
http://dockone.io/article/2434520 -
es scrollsearch原理
https://developer.aliyun.com/article/771575
https://www.jianshu.com/p/91d03b16af77 -
“跨库分页”的四种方案
https://blog.csdn.net/wufaliang003/article/details/78763567?locationNum=15&fps=1 -
理解 MappedByteBuffer 及其实现类 DirectByteBuffer
https://zhuanlan.zhihu.com/p/523056198 -
java正则表达式命名分组
https://www.cnblogs.com/ljhdo/p/10678281.html
https://www.cnblogs.com/ljhdo/p/10678281.html -
jvm grafana监控指标
JVM 常用监控指标解释 https://www.jianshu.com/p/6bd38d84fa82
jvm 采集器 micrometer -
feign调用
search after
这是Elasticsearch 5 新引入的一种分页查询机制,其实原理几乎就是和scroll一样,因此代码也是几乎一样的, 简单三句话介绍search after怎么用就是:
它必须先要指定排序(因为一定要按排序记住坐标)
必须从第一页开始搜起(你可以随便指定一个坐标让它返回结果,只是你不知道会在全量结果的何处)
从第一页开始以后每次都带上search_after=lastEmittedDocFieldValue 从而为无状态实现一个状态,说白了就是把每次固定的from size偏移变成一个确定值lastEmittedDocFieldValue,而查询则从这个偏移量开始获取size个doc(每个shard 获取size个,coordinate node最后汇总
shards*size 个。
最后一点非常重要,也就是说,无论去到多少页,coordinate node向其它node发送的请求始终就是请求size个docs,是个常量,而不再是from size那样,越往后,你要请求的docs就越多,而要丢弃的垃圾结果也就越多
作者:华安火车迷
链接:https://www.jianshu.com/p/91d03b16af77
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
前端面试
https://github.com/febobo/web-interview
资料下载
https://home.ximouzhao.com:9999/#s/8StMCEIA
变形记在线:https://www.xstt5.com/waiwen/9652/
俄罗斯网站
宝藏资源网站byrutor-破解游戏资源
盗版资源网站Rutracker