✅26届,双一流硕士,2段大厂实习
面试者背景
:::warning 26****届,双一流硕士,2段大厂实习(CICD系统、资金结算系统)
资金结算实习四个月,干的最难的工作是什么?数据库稳定性治理,分库分表、解决数据倾斜问题,
分表前多少数据?1000万、为啥要分,300万**/****月,参与实现了其中哪部分? **
分表键和分表算法介绍下?费用单,商户id,分了多少张表?128表,16库?怎么定出来的。
费用单的历史数据还有用吗?为啥不考虑归档或者搜索引擎。
分表后主键是怎么生成的?号段模式**、你这个sequence数据的存储在哪个库哪张表?某个单库中。**
数据倾斜问题,大商户。有多少量?5万**/**日,现在他有多少数据?
怎么解决的数据倾斜问题?二次分表。客商白名单、单独加时间二次分表。
客商的数据查询怎么办?为啥不干脆直接按照时间分?
分库分表之后数据迁移怎么做的?读旧双写(双写是怎么实现的双写?先写哪个库?失败了咋办?)、存量数据迁移(怎么定义存量数据?根据时间、开增量双写的时间?)
你做过的项目中,做过哪些比较好的设计模式吗?多渠道资金打款**>策略模式+模板+**工厂,分别起到了什么作用?三种工厂模式有什么区别?
AOP+自定义注解实现了啥功能?日志处理。如何实现的AOP****可以切到这个注解上?你这个直接里有参数吗?日志要打什么?
如何统计一个bean的某个方法被调用多少次?如果方法执行过程失败了怎么办?
finally****的代码什么情况可能会不执行?守护线程了解么?JAVA中可以创建守护线程吗?
JAVA****中多个线程做同步,有哪些方案?加锁、JUC,JUC中都有啥?原子类、并发控制工具、锁、并发容器、线程池。CoW是啥意思?你用过原子类么?使用场景是啥?
AQS中已经用了CAS**,为什么还需要CAS?volatile怎么保证的可见性。CAS本身不是基于CPU缓存一致性协议(MESI)做的吗,为啥还需要保证一致性?**
Mysql 定义varchar(10)和varchar(100),同时存6****个字符的时候,有区别么?存储无区别,排序有区别?排序上有啥区别?
如果是char(10)和char(100)呢?MySQL的深分页如何解决?子查询就没有深分页的问题了吗?用es。Es就没深分页了么?跳页咋办?
MySQL的主从同步是怎么做的?为什么需要relay log****中转一下?binlog是拉的还是推的?什么情况可能会主从延迟?
线上一个接口响应时间不符合预期,如何排查和解决?trace ,比如说是慢SQL可能是啥原因导致的。
自己不慢,下游接口慢怎么办?异步?
如果你trace发现你并不慢,但是上游就说你慢,怎么办?
:::
题目解析
:::color4 资金结算实习四个月,干的最难的工作是什么?数据库稳定性治理,分库分表、解决数据倾斜问题,
分表前多少数据?1000万、为啥要分,300万**/****月,参与实现了其中哪部分? **
分表键和分表算法介绍下?费用单,商户id,分了多少张表?128表,16库?怎么定出来的。
费用单的历史数据还有用吗?为啥不考虑归档或者搜索引擎。
分表后主键是怎么生成的?号段模式**、你这个sequence数据的存储在哪个库哪张表?某个单库中。**
数据倾斜问题,大商户。有多少量?5万**/**日,现在他有多少数据?
怎么解决的数据倾斜问题?二次分表。客商白名单、单独加时间二次分表。
客商的数据查询怎么办?为啥不干脆直接按照时间分?
分库分表之后数据迁移怎么做的?读旧双写(双写是怎么实现的双写?先写哪个库?失败了咋办?)、存量数据迁移(怎么定义存量数据?根据时间、开增量双写的时间?)
:::
:::color4 你做过的项目中,做过哪些比较好的设计模式吗?多渠道资金打款**>策略模式+模板+**工厂,分别起到了什么作用?三种工厂模式有什么区别?
AOP+自定义注解实现了啥功能?日志处理。如何实现的AOP可以切到这个注解上?你这个直接里有参数吗?日志要打什么?
如何统计一个bean的某个方法被调用多少次?如果方法执行过程失败了怎么办?
:::
:::color4 finally****的代码什么情况可能会不执行?守护线程了解么?JAVA中可以创建守护线程吗?
JAVA****中多个线程做同步,有哪些方案?加锁、JUC,JUC中都有啥?原子类、并发控制工具、锁、并发容器、线程池。CoW是啥意思?你用过原子类么?使用场景是啥?
AQS中已经用了CAS,为什么还需要CAS?volatile怎么保证的可见性。CAS本身不是基于CPU缓存一致性协议(MESI)做的吗,为啥还需要保证一致性?
:::
:::color4 Mysql 定义varchar(10)和varchar(100),同时存6****个字符的时候,有区别么?存储无区别,排序有区别?排序上有啥区别?
如果是char(10)和char(100)呢?MySQL的深分页如何解决?子查询就没有深分页的问题了吗?用es。Es就没深分页了么?跳页咋办?
:::
✅varchar(100)和varchar(10)有什么区别?
✅什么是ElasticSearch的深度分页问题?如何解决?
:::color4 MySQL的主从同步是怎么做的?为什么需要relay log中转一下?binlog是拉的还是推的?什么情况可能会主从延迟?
:::
:::color4 线上一个接口响应时间不符合预期,如何排查和解决?trace ,比如说是慢SQL可能是啥原因导致的。
自己不慢,下游接口慢怎么办?异步?
如果你trace发现你并不慢,但是上游就说你慢,怎么办?
:::