赞
踩
1、项目中熔断和限流怎么做的,熔断、降级、限流【方法:令牌桶、漏桶、滑动窗口】
1)、限流有哪几种方式?我扯了阿里sentinel的令牌桶、漏斗、冷启动、自适应限流(bbr、cpu load),为什么bbr公式能做到自适应限流?当时没想明白这个问题问什么,然后面试官说了可以根据结果来做调整。
参考资料: https://segmentfault.com/a/1190000023552181
Kratos 源码分析:限流器 Limiter - 熊喵君的博客 | PANDAYCHEN
服务容错: 服务容错模式 - 美团技术团队
单机器多线程限流
2、设计模式
3、序列化工具
参考资料 :ProtoBuf : Protobuf 终极教程
4、百万微服务如何定位出现的微服务
5、分布式 ID九种实现
9种 分布式ID生成方案,让你一次学个够 - Java进阶课 - SegmentFault 思否
6、注册中心是怎么实现的,是单独的组件还是集成于rpc框架里面。注册中心是单机的还是分布式的,分布式的注册中心是怎么实现的。注册中心是单机的还是分布式的,分布式的注册中心是怎么实现的
24丨注册中心:分布式系统如何寻址? | JAVA 架构师笔记
7、假设注册中心失效,即便是用了etcd这种高可用的系统,注册中心也是有故障率的,那怎么让注册中心实现即使在宕机期间也能正常服务
8、知道脑裂吗?如何解决?【raft】
【1】raft强一致,什么叫强一致;向客户端保证了什么问题
强一致性、弱一致性、顺序一致性、最终一致性概述_关系数据库强一致性_爱吃甜食_的博客-CSDN博客
【2】从leader读比较强,从follower读的时候怎么办
raft 读请求可以读follower吗 - SegmentFault 思否
【3】leader失效了解过吗,怎么保证你读的时候leader还是真正的leader,任期
Raft中 几种特殊情况分析(持续更新)(1-26日勘误) - 知乎
https://www.cnblogs.com/wyq178/p/13899534.html
9、负载均衡算法
10、CAS的ABA问题是什么,要怎么解决
11、线程的同步机制
线程同步机制笔记 - Kaiyuan's Blog | May the force be with me
12、设计一个排行榜的数据结构,说思路
13、分布式事务怎么实现?当时只说了扫表(怎么减轻扫表压力)+rocketmq事务消息实现原理+seata at实现原理。其实还可以扯下tcc、xa,不过感觉面试官已经知道这题问不倒我了,就没继续说下去。
14、用户访问A服务,A服务需要调用B服务,但是B服务的处理耗时在不断上涨,问A服务的关键指标(cpu、io、mem等)会怎么变化
听到问题后,我直接原地爆炸,头皮发麻,只能用dubbo的思维去硬扯,其实没太分析出来,可能分析出来5 6成吧,尴尬。 面试官继续问:你都是分析同步调用,那异步调用呢? 更爆炸了,当时陷入了java rpc线程的思路死循环中,异步调用不是一样吗? 除非说A服务需要同时调用B C服务,可以用异步同时调用B C服务再get来达到并发调用的效果,但是指标应该是一样的? 然后我扯了一句,太细了,打了句哈哈,我们线上遇到这样的问题都是直接扩容解决的。面试官反问为什么扩容能解决,然后我说了句处理固定数量qps的请求,如果多个应用一起扛的话,每个应用能够均摊,如果B服务也能顶住的话,其实可以不被B服务影响吞吐量。 其实后面细想,面试官真的是在问这个吗?协程协程,抓住协程跟线程的区别,这题就迎刃而解了,为什么协程高效?因为完全异步调用时协程能够接受在调用处停顿啊,线程做不到。其实问题是承上启下的,当时没get到他的点,太可惜了
Callback 与 Coroutine 协程概念说明 | Tao's blog
15、手写生产者消费者模型
参考资料:https://www.cnblogs.com/-wenli/p/12336965.html
16、bitmap, 优点,缺点,和 hashmap 比较
Redis-Bitmap - 个人文章 - SegmentFault 思否
17、布隆过滤器
5 分钟搞懂布隆过滤器,亿级数据过滤算法你值得拥有! - 掘金
18、分布式缓存:如果客户端想保存热点数据,如何设计
如何保证redis中存放的都是热点数据_代码搬运工.的博客-CSDN博客
19、热点数据如何从存储节点同步到客户端?是推送还是拉取
20、在线写一个LRU,如何加锁
阿里面试官让我实现一个线程安全并且可以设置过期时间的LRU缓存,我蒙了!
22、项目,jwt 是什么
JSON Web Token 入门教程 - 阮一峰的网络日志
23、对象一定分配在堆上么,JIT,分层编译,逃逸分析
24、限流怎么做,如果让你设计一个限流系统,怎么实现
25、Linux 中,awk、find、grep -v、grep -c
26、说一下GC吧,什么时候进行Full GC呢?你了解哪些收集器?CMS和G1。详细谈谈G1的优点
27、乐观锁,悲观锁,以及应用场景?
28、说说dns?除了查ip还可以查什么?都有哪些类型的记录
DNS 协议是什么?完整查询过程?为什么选择使用 UDP 协议发起 DNS 查询? · Issue #108 · sisterAn/blog · GitHub
https://m.dns.com/article/detail/710/3.html
DNS和CDN的区别与联系_帮助中心- DNS.COM,域名DNS解析服务商
29、浏览器地址栏输入网址到看到页面的过程中都发生了什么
从输入 URL 到页面展示到底发生了什么?看完吊打面试官! - 知乎
30、项目难点?如何保证可扩展性?【缓存、限流等等】
31、代码上线后发现CPU使用率过高,怎么排查
线上服务器CPU占用率高如何排查定位_mango_54的博客-CSDN博客
记一次Go程序CPU占用100%的问题_gozero cpu越来越高_Kylin_Mountain的博客-CSDN博客
Golang使用pprof分析cpu占用过高问题_pprof 分析cpu使用过高_Go和分布式IM的博客-CSDN博客
32、打开一个文本文件,修改里面的内容,这整个过程中操作系统干了什么
计算机文件读写原理_计算机 读写工作原理_shrun的博客-CSDN博客
33、迁移数据怎么保证数据一致性
34、一个业务流程,链路比较长,且涉及多个服务之间的通信,如果出问题怎么排查
35、代码中遇到进程阻塞,进程僵死,内存泄漏等情况怎么排查。通过ps查询状态,分析dump文件等方式排查
linux 查看进程阻塞,Linux下socket编程 多线程 进程超时阻塞、卡死问题定位_爱的巴掌的博客-CSDN博客
linux系统排查线程阻塞问题_linux 如何查一个thread 阻塞在哪个位置_锤%锤的博客-CSDN博客
36、Linux了解么,查看进程状态ps,查看cpu状态 top。查看占用端口的进程号netstat grep
37、回到网络,刚才你说到直播场景,知道直播的架构怎么设计么,要点是什么,说了几个不太对,他说要避免广播风暴,答不会
38、线上问题怎么排查?Full GC频繁怎么办
39、动态代理和静态代理区别,如何实现动态代理
Nginx正向代理和反向代理配置 - Martin的专栏 - SegmentFault 思否
nginx--❤️图解及代码实现正向代理、反向代理及负载均衡(非常实用,建议收藏❤️)-云社区-华为云
40、utf-8 编码中的中文占几个字节;int 型几个字节
41、并发度提100倍有哪些优化的点
42、网关层还了解什么技术
43、锁怎么做的?分布式锁怎么做的?放过去的请求失败或者延迟大量请求阻塞在那里怎么办
44、日志记录模块讲一下?日志统一记录?可用性怎么保证的?报警怎么实现的?报警的指标只是健康检查?服务之间的相互调用有涉及到吗?分布式链路追踪如果某个服务调用出问题了,怎么排查问题
45、让你写一下堆栈溢出你怎么写?为什么往集合设置那么多元素没有被GC?
46、容器与云原生区别
云原生应用之路 —— 从 Kubernetes 到云原生 · Kubernetes 中文指南——云原生应用架构实战手册
47、短链接系统的设计,以及运行的流程
48、线程、协程、php-fpm的线程所占的内存
1、MySQL两阶段锁
参考资料:tcp - 详解MySQL两阶段加锁协议 - 码农架构 - SegmentFault 思否
浅析MySQL二段锁 - 空中漫步 - SegmentFault 思否
2、MySQL的order by 和group by优化【FileSort排序算法:双路排序算法、单路排序算法】
参考资料:MySQL高级 之 order by、group by 优化_走慢一点点的博客-CSDN博客
3、MVCC的 实现或者是事务的隔离级别
事务隔离级别有哪些_事务隔离级别有哪几种_事务隔离级别的主要内容_华为云学院_华为云
参考资料 :chenjiayang.me
MySQL事务隔离级别和实现原理(看这一篇文章就够了!) - 知乎
https://www.cnblogs.com/kismetv/p/10331633.html
4、redo log、undo log、binlog
【1】innodb的redo log 如何保证crash-save
【2】bin log 和 redo log的写入顺序
【3】redolog 写满之后 新来的日志怎么写入
参考资料 : 必须了解的mysql三大日志-binlog、redo log和undo log - 个人文章 - SegmentFault 思否
https://www.cnblogs.com/rickiyang/p/13841811.html
5、两阶段提交
参考资料:【2021-07-16】为什么 redo log 需要两阶段提交? | daily-a |《每日一题》| Java 技术论坛
MySQL 2PC & Group Commit - 个人文章 - SegmentFault 思否
MySql事务之两阶段提交与redo log、binlog - 简书
6、Mysql分库分表
参考资料:https://segmentfault.com/a/1190000021755246
java - 百亿级数据分表后怎么分页查询? - 艾小仙 - SegmentFault 思否
7、MySQL倒排索引的概念,如何调优
参考资料 :MySQL(InnoDB剖析):---全文检索(倒排索引、全文索引/全文检索)_全文索引和倒排索引_你走吧起风了__的博客-程序员信息网 - 程序员信息网
8、Mongodb与 MySQL的区别
9、redolo工作原理,宕机恢复
10、undolog在宕机时怎么保护原子性
11、sql语句的执行过程
https://www.cnblogs.com/mengxinJ/p/14045520.html
12、MySQL的主键用uuid的坏处
自增主键【自增锁】MySQL自增锁引起的插入性能问题_mysql自增列对插入性能的影响_一次编写 到处调试的博客-CSDN博客
13、一个业务场景,经常会访问where a = xx and b = x 以及 where b = xx and c = xx,基于这个业务场景,但是只能建立一个索引,怎么建立。【 (b,a,c) 的联合索引、索引下推】
14、5个服务器,每个服务器5个MySQL进程,有一个进程可写,其它都24个进程只能读,如何实现数据同步
【在上面的基础上,在启动一个机器,开个MySQL服务,需要同步原来机器上所有的数据,如何实现】
15、MySQL为什么索引不适用哈系表
16、大表怎么优化
参考资料:牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网
17、数据库步长原理
18、订单分表场景怎么按用户关联多个分表查
19、Mysql有哪些引擎有哪些区别
20、MongdbTemptle save和insert的区别
21、数据库 abc ab% %bc “” null 哪些可以用索引
参考资料:https://www.cnblogs.com/niuben/p/11197945.html
mysql like索引_MySQL索引,查询中like '%abc%' 能用索引吗?_weixin_39616379的博客-CSDN博客
22、慢查询分析
索引失效
23、Mybatis分页 拦截器
24、为什么一页是16k
深入理解Mysql索引底层数据结构与算法 - 极术社区 - 连接开发者与智能计算生态
Mysql中innodb引擎表页大小16KB超出大小怎么办?_star_xing123的博客-CSDN博客
25、分布式事务、.Xa协议原理
26、mongodb和elasticsearch各自特点
27、写sql,深翻页优化,我写了inner join、where index>?两种方式。where index>?方式有什么缺点?inner join为什么快
java - MySQL深度分页的问题及优化方案:千万级数据量如何快速分页 - 敲开互联网四大之门 - SegmentFault 思否
28、如果硬盘的随机访问性能大幅提升,mysql 的存储结构能否优化,其他的存储结构?哈希表怎么存,用哈希的方式,增删改查相比B+树有什么区别
29、sql 执行慢,是什么原因,怎么解决
30、mysql多事务执行会产生哪些问题,怎么解决这些问题
31、库分表做过么,怎么做到不停机扩容,双写数据丢失怎么办,跨库事务怎么解决
不停机扩容
MySQL 水平sharding 扩容如何做到不停机平滑扩容? - 知乎
Mysql数据库平滑扩容解决高并发和大数据量问题_赵广陆的技术博客_51CTO博客
双写数据丢
故障分析 | 记一次 MySQL 主从双写导致的数据丢失问题-腾讯云开发者社区-腾讯云
32、mysql主从复制,主从延时怎么解决
MySQL 主从同步延迟的原因及解决办法_51CTO博客_mysql主从同步延迟怎么解决
33、怎么保证redis和mysql的一致性,redis网络原因执行超时了会执行成功么,那不成功怎么保证数据一致性
美团二面:Redis与MySQL双写一致性如何保证? - 掘金
34、线上有遇到大流量的情况么,产生了什么问题,为什么数据库2000qps就撑不住了,有想过原因么,你们当时怎么处理的
35、mysql半同步了解过吗
https://www.cnblogs.com/ivictor/p/5735580.html
36、select * from table t where size > 10 group by size order by size的sql语句执行顺序?
Sql查询原理与Select执行顺序(详细)-阿里云开发者社区
37、数据库中是否会出现死锁?数据库中的死锁避免是否可用刚才说的方法来避免?
38、如果进程一次锁住数据库中的多条记录来避免死锁,会带来什么问题?你觉得应该怎样解决这个问题?在这我回答了乐观锁,然后回答了乐观锁的实现原理
39、如果数据库中的确发生了死锁,应该怎么解决?我先回答简单的方法就是kill掉死锁中的 进程,破除循环等待。然后问了在死锁发生和kill掉进程过程中,会不会有其他操作。我绞 尽脑汁想了一个以前在论文里看到的,仅供大家参考,我回答在kill掉进程前,先检查锁住 相关资源的进程,如果有进程可以完成,那优先为这些进程分配资源,使其尽快完成后释放出资源
40、MySQL 平滑水平扩容方案
41、innodb的事务。主要涉及到mvcc以及视图回滚等,各个隔离级别下的问题以及如何解决?比如mysql默认是可重复读级别,但是会有幻读问题,你得从原理上了解为什么会出现幻读、那如何解决呢,我们可以通过间隙锁来解决,那间隙锁的原理是什么?间隙锁有什么问题。回答的时候最好把这些问题都涉及到,引导面试官
间隙所原理
插入意向锁
https://juejin.cn/post/7178321966024097829
42、联合查询和子查询的优缺点
43、explain extra中use index、use where、use condition 区别
44、MySQL索引过大会有什么危害
45、MySQL 乐观锁和悲观锁的实现
46、mysql 目前有 7 条数据,delete 了两条,此时掉电重启,再插入新数据,自增 id 是几
https://www.cnblogs.com/lyh233/p/16329935.html
47. 表连接查询和子查询的优缺点
48、MySQL in 或者 or 走索引吗
MySQL中, in和or 会走索引吗_mysql or走索引吗_dreamer'~的博客-CSDN博客
49、表连接不走索引的原因
Mysql多表关联不走索引的原因及分析_Mysql_脚本之家
50、索引锁片化
记一次索引碎片引起的性能问题_sqlserver索引碎片危害_zhangzeyuaaa的博客-CSDN博客
51、普通索引和唯一索引改变数据之间的区别
Mysql - 普通索引与唯一索引之间性能差别change buffer_唯一索引和普通索引性能一样吗_it_lihongmin的博客-CSDN博客
52、联合索引的B+数据结构
联合索引在B+树上的存储结构及数据查找方式_联合索引b+树_问北的博客-CSDN博客
53、为什么MySQL不推荐使用join
数据库中的四大join & 笛卡尔乘积(以MySQL为例)_数据库笛卡尔积运算实例_晓之木初的博客-CSDN博客
1、redis的cluster的架构原理【一致性hash,怎么样去找到最合适的虚拟节点进行一致性哈希,这样有什么优点】【怎么去做负载均衡】
参考资料 : 深入学习Redis之Redis Cluster - Java菜鸟程序员 - SegmentFault 思否
【Redis技术探索】帮你完全搞定Cluster(集群)架构原理_51CTO博客_redis cluster集群
https://www.cnblogs.com/crazymakercircle/p/14282108.html#autoid-h3-26-1-2
场景:一个场景,比如现在所有的key都是热点key,你的一致性哈希上的分布式节点有一部分挂了,你现在想要扩容去弥补这个节点数量,你怎么保证这个一致性问题
2、redis的6个数据结构的实现【跳表重点】
3、redis的aof和rdb的持久化
4、redis的网络处理机制【IO多路复用】
5、redis的 哨兵Sentinel
6、redisc的codis架构
参考资料:浅析MySQL二段锁 - 空中漫步 - SegmentFault 思否
7、缓存穿透和缓存雪崩
8、redis分布式锁 的 实现
面试官:你真的了解Redis分布式锁吗? - 技术进阶之路 - SegmentFault 思否
RedLock: Redlock:Redis分布式锁最牛逼的实现
Redis分布式锁之红锁(RedLock) | SakuraTears的博客
9、Redis服务降级
10、Redis分布式锁 除了删除版本的lua还有吗【redisson】
Redisson 实现分布式锁原理 - 架构文摘 - SegmentFault 思否
工作三年,小胖居然问我 Redisson 原理?真的过份! - 墨天轮
https://www.cnblogs.com/qdhxhz/p/11046905.html
11、Redis 1000w个key 按照 xxx__前缀取1w的命令
redis根据前缀批量查找key_redis根据前缀查询_排骨瘦肉丁的博客-CSDN博客
redis从海量的key里面查询出某一固定前缀的key - 掘金
12、一台redis挂了拿不到key了怎么办
13、跳表能换成红黑树吗
14、一致性hash,虚拟节点作用,为什么一致性hash是一个环。
15、你们用的redis集群么,扩容的过程,各个节点间怎么通信的
16、redis持久化过程,aof持久化会出现阻塞么,一般什么情况下使用rdb,aof
17、redis长度过长怎么优化?哪个api,数据量超过多少效率会变低
Redis 大key(bigkey)问题的排查与解决方案 | Laravel China 社区
18、redis解决客户端session共享信息怎么解决的
19、ttl 为0
番外:https://segmentfault.com/a/1190000022172968
20、redis 跳表
21、redis大key为什么慢、如果删除需要注意什么
22、为啥redis使用跳表,而不使用B+树
23、使用setnx时,且setnx删除失败了,如何保证数据的强一致性
24、缓存击穿、穿透、雪崩
25、redis过期策略
参考资料 :https://leveldb-handbook.readthedocs.io/zh/latest/bloomfilter.html
1、Go的内存分配
2、Go的垃圾回收算法
3、Go的Channel的实现
4、抢占式调度
参考资料:https://www.cnblogs.com/luozhiyun/p/14589730.html
5、内存泄露的 原因,如何定位
6、方法参数入栈的 顺序
7、如果每个goroutine中都获取返回值 ,有些方案(channel,全局参数、闭包)
8、go中for遍历多次执行goroutine会存在什么问题,怎么改进
9、char *Ptr=0; *Ptr='a' 说明一下内存分配流程
10、new和make的区别
参考资料:Go语言中new和make的区别 | 飞雪无情的博客
golang new和make的区别 - golang开发笔记 - SegmentFault 思否
11、2个协程交替打印字母和数字
12、Go依赖管理
【1】Go依赖管理历史有几次方式
【2】Go mod主要解决了什么问题
【3】Gosum里面是什么内容
13、介绍一下Go的context
14、数组和切片有什么区别
15、sync.map与map的区别
https://www.cnblogs.com/ling11/p/16318554.html
16、内存逃逸
17、Channel 底层如何实现阻塞的
18、饥饿模式下如何保证队列里的协程一定拿得到锁,或者说协程是根据什么判断进入这个队列的
19、stack里面保存什么 【method栈帧,pc,局部变量】
【1】局部变量是什么?应该不会保存在stack里面吧
【2】协程怎么停顿:抛异常造成suspend,保存现场
【3】协程为什么高效:避免内核中线程的上下文切换、协程数据更轻量。还有吗?等了一会我没思路,然后面试官自己说了其实还有一个,线程是可以随时发生上下文切换的,而协程是需要在固定位置显式切换的,所以保存上下文更轻量
20、runtime
21、go 语言的 panic 如何恢复
22、go 中 new 和 make 的区别
golang new和make的区别 - golang开发笔记 - SegmentFault 思否
23、可重入锁【go支持可重入锁吗 ;不支持】
https://segmentfault.com/a/1190000041121156
24、Golang defer的原理
25、context 的重写,以及作用
26、golang 控制反转、依赖注入
Go编程模式:委托和反转控制 | 酷 壳 - CoolShell
https://sgfoot.com/gof-ioc-code.html
27、go协成池
https://www.cnblogs.com/wongbingming/p/13091091.html
后端 - 100 行写一个 go 的协程池 (任务池) - 个人文章 - SegmentFault 思否
深入浅出Golang的协程池设计 - Go语言中文网 - Golang中文社区
golang_Pool: go实现协程池 - CodeAntenna
28、time的原理
29、如何掉一个http的服务
30、Map怎么实现读写锁
31、Go 请求超时原因
https://www.cnblogs.com/mushroom/p/11756631.html
32、Go引用和指针的区别
33、深拷贝、浅拷贝
34、go空结构体
https://go.cyub.vip/type/empty_struct.html
35、new和make的区别,new能声明引用类型吗,new声明引用类型,new是在堆上分配内存还是栈上分配,那什么时候可以堆上分配内存
https://www.cnblogs.com/itbsl/p/10476674.html
36、内存逃逸讲讲
为什么栈比堆快
37、channel怎么实现的,以及什么时候加的锁,加锁的顺序,什么时候会死锁
38、MPG【没有细问】
39、垃圾回收【什么时候触发垃圾回收,怎么触发的】为啥不喷垃圾回收实现三色标记法
40、pprof 的原理【对进程内的函数调用栈采样,基于大数定律看哪些函数耗时长】
golang pprof 的原理分析_golang pprof原理_phantom_111的博客-CSDN博客
41、如何保证线上的稳定性
https://www.cnblogs.com/imyalost/p/12952930.html
1、PHP垃圾回收机制
参考资料 :PHP: 引用计数基本知识 - Manual
浅析 PHP7 的垃圾回收机制 | Laravel China 社区
2、php-fpm的作用
3、hhvm的作用
4、配置一个php的环境
1、RPC有哪几种 ,具体说一下流式RPC
2、brpc和 grpc分别用的什么协议
3、gRPC用的什么协议?TCP三次握手?四次挥手?FIN-WAIT-2是什么时候的
4、RPC有哪几种?这里还问了一个流式 RPC怎么巴拉巴拉什么处理之类的,我想不起来了问的具体是啥了,只记得当时我就蚌埠住了
5、brpc 中bthread
https://its301.com/article/cjfeii/114702352
brpc框架学习之线程库 - 小秋尾chennhuang的日记 | chennhuang's diary
1、Mq积压
2、Mq重试太多怎么办
3、Kafka和zk之间的联系
4、Kafka副本备份的过程
5、消费者是推的还是拉的
6、Kafka吞吐量高的原因
7、RabbitMQ的消息模型都有哪些
8、kafka的消费组
1、问我zk了解原理不,讲了zab
1、ES工作时各个节点如何工作
2、ES查询的优化
ES查询性能调优实践,亿级数据查询毫秒级返回-腾讯云开发者社区-腾讯云
Elasticsearch搜索调优 - 1024搜-程序员专属的搜索引擎
3、ES的数据量有多大,查询耗时多少,耗时的瓶颈是什么,如何排查
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。