主题
面试速答(先看这里)
**一句话结论:**3年经验,985本,2份工作(0.5+2.5),电商财务系统,财报相关,账户管理,银企直联,介绍下这个项目的主要流程?
60秒标准回答:
3年经验,985本,2份工作(0.5+2.5),电商财务系统,财报相关,账户管理,银企直联,介绍下这个项目的主要流程?直接接的银行?大额支付
银行的对接怎么做的?网关、前置机(盾、证书),如何能高效的对接银行?网关,模板 + 策略
和银行的接口如何保证安全?单号幂等、异常 case ,核对
**答题顺序:**结论 → 原理/机制 → 关键流程 → 场景与取舍 → 易错点
回答主线:
- **要点1:**银行的对接怎么做的?
- **要点2:**和银行的接口如何保证安全?
- **要点3:**定时任务框架,多久调度一次?
- **要点4:**如果后面表中数据变大,扫表慢,如何优化?
- **要点5:**项目中什么地方做了限流?
**记忆锚点:**redis+aop → finally → code → OOM → QPS → 一个接口什么情况用漏桶做限流什么情况用令牌桶
易错提醒:
- code , bizno , id ,时间,账号,银行,日期,状态( INIT 、审批、支付中、支付成功、支付失败),有用状态机么?
加分表达:
- 如果数据量更大的话,这个方案会有什么问题么?
- 如果后面表中数据变大,扫表慢,如何优化?
- 没有 如果 finally 还没来得及执行,机器就挂了。
追问准备:
- 3年经验,985本,2份工作(0.5+2.5),电商财务系统,财报相关,账户管理,银企直联,介绍下这个项目的主要流程?
- 银行的对接怎么做的?
- 网关、前置机(盾、证书),如何能高效的对接银行?
- 网关,模板 + 策略, 和银行的接口如何保证安全?
面试者背景
> 3年经验,985本,2份工作(0.5+2.5),电商财务系统,财报相关,账户管理,银企直联,介绍下这个项目的主要流程?直接接的银行?大额支付。 > > 银行的对接怎么做的?网关、前置机(盾、证书),如何能高效的对接银行?网关,模板**+策略, > > **和银行的接口如何保证安全?单号幂等、异常case**,核对。** > > 银行的大额通道下班了怎么办?定时任务查询,对接时有遇到过一些问题么? > > 定时任务框架,多久调度一次?5分钟,支付单表多少数据?百万级。如果数据量更大的话,这个方案会有什么问题么?这张表是怎么建的索引?状态**+发起支付时间,为什么要按照银行扫? > > 如果后面表中数据变大,扫表慢,如何优化?分片扫、归档、分表, > > 知道分片任务的原理?如何实现多线程同时扫表?按照银行, > > 项目中什么地方做了限流?哪个接口做了限流?咋实现的限流?redis+aop,有时间窗口吗?没有 > > **如果finally还没来得及执行,机器就挂了。** > > 为啥不用成熟的限流算法?漏桶、令牌桶区别?突发流量、令牌桶可以处理突发流量的原因是啥? > > 一个接口,什么情况用漏桶做限流、什么情况用令牌桶? > > **限流的数字是怎么定的?日常QPS**?** > > 你们和银行是怎么对账的?定时任务扫银行拉流水???支付单**&银行流水、支付单&上游, > > 如果你没有支付单,但是银行有流水呢?银行账单,落库吗?然后如何核对的? > > 日切时间点,对账不一致怎么办?没有日切问题。如果有这种问题,怎么办呢? > > 对账这部分,你有什么最佳实践么?多方核对、及时告警、人工处理、 > > 做过实时核对吗?代码中反查? > > 支付单是你设计的吗?有哪些设计的好,哪些有优化空间。支付单怎么设计的?code,bizno,id,时间,账号,银行,日期,状态(INIT、审批、支付中、支付成功、支付失败),有用状态机么? > > **支付单表和哪些表有关联关系?银行流水表(银行流水号、账号、银行code**、时间、借贷方向、)。为什么不直接冗余到支付单上,要创建一张表?附言、** > > 财务业务项关的做过哪些?关帐系统、发票系统, > > **介绍下什么是借贷记账法。**ABS > > 工作中遇到过哪些线上问题么?消息堆积如何处理? > > 一个JAVA进程突然挂了,可能什么原因?OOM?OOM了进程一定会挂么?
题目解析
> 银行的对接怎么做的?网关、前置机(盾、证书),如何能高效的对接银行? > > 和银行的接口如何保证安全?
> 定时任务框架,多久调度一次?5分钟,支付单表多少数据?百万级。如果数据量更大的话,这个方案会有什么问题么?这张表是怎么建的索引?状态**+**发起支付时间,为什么要按照银行扫? > > 如果后面表中数据变大,扫表慢,如何优化?分片扫、归档、分表, > > 知道分片任务的原理?如何实现多线程同时扫表?按照银行,
打开文档:✅xxl-job 支持分片任务吗?实现原理是什么?
> 项目中什么地方做了限流?哪个接口做了限流?咋实现的限流?redis+aop,有时间窗口吗?没有 > > 如果finally还没来得及执行,机器就挂了。 > > 为啥不用成熟的限流算法?漏桶、令牌桶区别?突发流量、令牌桶可以处理突发流量的原因是啥? > > 一个接口,什么情况用漏桶做限流、什么情况用令牌桶? > > 限流的数字是怎么定的?日常QPS?
> 你们和银行是怎么对账的?定时任务扫银行拉流水???支付单**&银行流水、支付单&**上游, > > 如果你没有支付单,但是银行有流水呢?银行账单,落库吗?然后如何核对的? > > 日切时间点,对账不一致怎么办?没有日切问题。如果有这种问题,怎么办呢? > > 对账这部分,你有什么最佳实践么?多方核对、及时告警、人工处理、 > > 做过实时核对吗?代码中反查?
> 工作中遇到过哪些线上问题么?消息堆积如何处理? > > 一个JAVA进程突然挂了,可能什么原因?OOM?OOM了进程一定会挂么?