高德暑期一面面经(已过)

发面经,攒人品。
1、聊项目(玩具项目,就聊了一点)
2、redis分布式锁实现
3、redis为什么可以用作分布式锁,自己实现分布式锁怎么做,还有哪些可以用作分布式锁
4、redis内存空间
5、redis io多路复用
6、redis内存淘汰和删除策略
7、jwt与session,jwt缺点
8、rpc与mq。各自使用场景
9、redisson(项目中写到了)
10、threadlocal
11、spring事物失效,this.b
12、mysql索引失效
13、联合索引
14、索引下推
15、b+树规则
16、注解的本质
17、手撕:hot100 字符串最小不重复字串
总结:
面了1h10min,每一个问题都是从一个点切入,然后一直问一直问,一直出各种场景题,直到问到我不会为止,才开始下一个问题。面试官人很好,会引导,目前为止最好的一次面试经历了。
4.21一面,结束后秒约二面,4.25二面。
全部评论

相关推荐

不愿透露姓名的神秘牛友
04-15 23:47
已编辑
无手撕  面试官迟到三分钟(这应该不算迟到)以为会问八股,结果全是项目引申的,麻了 有的面试官不问我这玩具项目呜呜+在日常实习就没看,自己介绍都没讲清楚1. 线程通信方式  oom  线程安全 死锁2. 分布式事务 如果c超时没反应, 咋处理。直接通知回滚的话,可能有c先处理回滚的命令,后面又执行了本地事务(c查看本地事务的状态 执行中就不回滚 还是咋处理)3. 协调者挂了 咋办  项目: 库存变化流程 redis回滚库存为啥会超卖 mq重投db会不会超卖 (幂等判断和回滚在一个事务中)4. 分库和分表的区别(分库一般是多个实例解决高并发,分表是单表数据量比较大  分库和分表很像,都是按分片键路由)基于买家id分表分库的话,卖家想查询怎么办(binlog 卖家id分片)自己说话要坚定,不能弱弱怂怂的 晚上一看,挂了感觉是除了分布式事务那两问题基本都能回答个大概,可能"大概"这种程度不行吧,太久没看了,自己的项目都不熟了,分布式事务确实就学了一点   看见我的项目都想吐,重复看的东西。。#毕业后不工作的日子里我在做什么#呜呜呜呜,好菜,本科学历不太行感觉银行国企也不太稳麻了3. 我搜的是1.TCC  2.本地消息表  3.多节点选举机制(如Raft协议)实现高可用,避免单点故障     三阶段提交只是缓解了单点故障问题      (TCC和本地消息表根本就没有协调者所以没有单点故障   没有往这上面想 一直在绕三阶段提交)2. #### 1. 参与者C超时无响应**解决方案:**- **事务状态查询机制**:协调者先发起事务状态查询(3PC中的CanCommit阶段)- **异步补偿机制**:记录操作日志,超时后通过定时任务重试事务查询- **最终一致性兜底**:若长时间无响应,记录异常事务日志人工介入- **示例流程**:  1. 协调者发送prepare请求  2. 参与者C超时未响应  3. 协调者发起事务状态查询请求  4. 若C本地事务已提交 -> 继续提交其他参与者  5. 若C未提交/回滚 -> 发起全局回滚(我前面讲的RMQ的事务消息 也是反查本地事务状态 这没回答出来)4. ### 二、分库分表核心区别|          | 分库                          | 分表                  ||----------|-----------------------------|---------------------|| 拆分维度  | 数据库实例级别                   | 单表结构级别           || 核心目标  | 降低单点压力,提升并发处理能力        | 解决单表数据量过大问题   || 典型场景  | 电商系统买家库、订单库分离           | 用户表按月分表          || 实施难度  | 需要处理分布式事务、跨库join        | 主要处理SQL路由        |
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务