摘要:
Redis 有哪些常用的数据结构 为什么读写速度那么快 有哪些内存淘汰机制 区别 RDB、AOF 说说 cluster 的集群原理 应用 如何实现选主 如何实现消息队列 如何实现分布式锁 阅读全文
摘要:
如何保证消息有序 不能保证全局有序,只能保证局部有序。 全局有序,要求同个 producer 生产的消息被所有 consumer 顺序消费。 Kafka 通常配置多个 partion,消息经过 LB 进入到各 partion(FIFO 队列,局部有序)。 由于各 consumer 的处理能力不同,所 阅读全文
摘要:
一面 新房业务技术负责人 选择 Kubernetes 出于什么考虑,对比 swarm 有什么优势 怎么实现分布式ID 雪花算法有什么缺点?怎么解决时间漂移问题 你对 ZooKeeper 的了解(把Zab协议从头说了一遍,以致于面试官觉得我在背书??) 实现 ZooKeeper 分布式锁(要求公平锁、 阅读全文
摘要:
技术一面 开发组长 * 1、开发 * 1 自我介绍(是运维吗) 用到 SpringCloud 的哪些组件 项目管控平台监控了哪些指标(JVM) 告警的阈值有哪些?(JVM) Full GC 的 STW,导致 JMX 上报不了数据,怎么感知 Full GC 区分 Parrelell 和 CMS 收集器 阅读全文
摘要:
背景 有同事反馈发版平台线上推送失败,发版平台的推送包含3个步骤: 把包传给 deploy-dispatcher 构建 Docker 镜像 把镜像上传到 Harbor(Docker镜像仓库) 问题 问题出在第二步构建 Docker镜像,访问 Docker Daemon 报了个 could not f 阅读全文
摘要:
1 背景 周一回来发现用户中心批量更新手机号未生效,上 Nexus 看了下有没有人动了 lib datasource(基础架构组的一个组件,简化连接池装配),最新一个版本在上周四,该版本解决了 AutoCommit 的问题,详见参考1。 2 排查过程 1. 打断点,确认手机号在批量插入前已经脱敏。 阅读全文
摘要:
1 背景 运营活动中,有场景针对新用户发营销,老用户不能参与活动,很自然会将老用户放入一个布隆过滤器的“黑名单”。但布隆过滤器存在假阳性的问题,虽然机率很低,但根据墨菲定律,只要量够大就必定出现。亟需一个方案用最小的成本(时间、空间)应对假阳性。 2 解决方案 训练两个布隆过滤器: 1. 白名单过滤 阅读全文
摘要:
1 背景 一个凌晨跑批需求,要在一个事务中批量插入20000条记录,但发现执行到3000条遇到异常,前2999条插入成功没有回滚。 2 排查过程 确认 @Transactional 注解是 org.springframework.transaction.annotation.Transactiona 阅读全文
摘要:
1 背景 合规要求将数据库中的敏感用户信息脱敏,账号中心和账户中心的数据库都有明文手机号。 2 解决思路 分两部分看,存量数据和增量数据,其中增量数据要先处理。 增量数据,可以通过 Getter、Setter 来实现加解密。另外 Dao(Repository)可能包含 findByPhone 的查询 阅读全文
摘要:
背景 用户账号中心之前将手机号以明文方式存MySql,合规要求整改,要将数据库中的手机号脱敏。但加密过后的密文长度为65,数据库字段的长度为11,因此要 Modify 为 varchar(100)。但这个表的数据量不小,开发环境都有一千万条记录,贸然扩容肯定会引起生产环境长时间锁表,绝对不可取。 解 阅读全文