2020年11月2日建信金融科技一面 视频面试(群面) 时长:17min

1.自我介绍

巴拉巴拉,阿巴阿巴

第一位面试官闪亮登场

2.你再详细介绍一下你的这个项目,我对你这个项目还挺感兴趣的

项目:项目链接

3.这个项目都用了那些技术?

当时回答:用到的后端框架是SpringBoot,数据库是MySql,Redis作为一个缓存中间件,大概就是这些。

4.Redis是怎么用的,用Redis来解决什么问题呢?

当时回答:Redis主要是分担数据库和后端的压力,因为这是一秒杀系统,在某一个时间点,会有大量的用户访问,这个时候直接去访问数据库的话,可能会造成宕机的风险,用了Redis呢,用户访问的时候,可以把信息先读取到Redis缓存中,在Redis中进行数据的操作等用户操作完数据后,再把数据提交到数据库中,因为Redis是一个基于缓存的数据库,它的读写效率还是很高的。

5.我想问一下你这个Redis是自己搭得吗?还是用的是现成的?

当时回答:自己搭的。
恶补路径理解Redis集群
Redis集群详解

6.那你搭的时候有没有考虑它的高可用?

当时回答:因为当时做的时候,测试数据没那么大,就搭了两个,相当于是一个小集群,对于它的高可用还没有考虑那么多。
恶补路径:Redis缓存高可用集群基本原理和环境搭建
这可能是目前最全的Redis高可用技术解决方案

7.你这个系统有上线吗?

当时回答:没上线,相当于做了一个小demo。

8.那你做完这个系统,如果将来要上线,你觉得那些地方需要改进一下?

当时回答:就像你刚刚说的Redis,我当时只搭了两个,以后要是上线的话,这肯定是不满足需求的,因为上线的话,用户流量要大很多这是一个问题,还有就是Redis对库存的管理,因为Redis是采用分布式的一种策略,每个Redis都有不同的库存,对各个Redis上库存数量统一,也就是一致性问题。

第二位面试官闪亮登场

9.我这里看你是用Redis做的缓存是吧,那你具体说一下怎么做的缓存?

当时回答:1.秒杀商品查询
进入到秒杀商品首页时,从redis缓存中读取秒杀商品,如果商品的集合不存在,从数据库中把当期符合的秒杀商品记录读取到redis缓存中,存入到hash中,从缓存读取,在Java中对集合中的商品按照平台规定的排序字段进行排序,显示在页面
2.秒杀抢购下单
进入到秒杀商品的详情页,点击抢购时,判断缓存中是否存在秒杀商品且商品的数量是否大于0,如果满足则抢购成功,生成订单存入到缓存的hash中,key是userId值是HashMap,HashMap中存储的是这个用户的订单,key是订单编号,value是订单对象。秒杀商品的数量-1,如果秒杀商品的数量为0,将秒杀商品从缓存中删除。
3.订单支付
进入到支付页面时,发送一个获得二维码URL的Ajax请求,访问微信支付的远程接口,根据订单号、金额获得一个URL,根据QRious插件生成二维码,支付页面再发送一个Ajax请求,每个3秒调用微信支付查询功能,轮询5分钟,如返回支付成功,则向成功页面跳转,将订单写入到数据库中,从缓存中删除,如果支付失败或支付超时,将订单从缓存中删除,将缓存中的秒杀商品数量+1。

10.用缓存的时候,有考虑过缓存穿透、或者缓存击穿一些概念嘛?

当时回答:因为这个我真的了解不多,当时我就说这方面了解的不多。
恶补路径redis缓存穿透、缓存击穿、缓存雪崩区别和解决方案

11.那有配过Redis持久化吗?

当时回答:因为这个我了解不多。
恶补路径redis之持久化机制

12.那你这个开发框架用的是什么呀?

当时回答:用的是SpringBoot。

13.那有了解过SpringBoot和SpringMVC之间的一些区别吗?

当时回答:主要说了自动配置
恶补路径:Spring和SpringMVC以及SpringBoot的区别

14.那对SpringBoot-Starter有了解过吗?

当时回答:

15.那有了解SpringBoot-Starter的实现机制或者自己实现一个starter,自动配置的原理

**当时回答:**这个没有深入了解,就是知道怎么用
恶补路径:深入理解 SpringBoot 启动机制(starter 机制)
SpringBoot starter 工作原理
【SpringBoot】springboot是如何进行自动配置的?

16.那你这个系统有用到队列吗?

当时回答:针对队列我还没在实际项目中应用过,但是我这个项目还是存在问题的,虽然Redis做了集群操作,当时秒杀的时候,某一刻的请求是非常大的,这样可能会把Redis 的带宽打满,这个时候我们可以使用RabbitMQ做一个削减峰值的功能,大量请求过来的时候,可以先把请求存在队列中,等过来请求高峰期后,再慢慢去消费队列中的请求。

17.你们这个项目有打包上线嘛?

当时回答:这个没有,这个当时是实验室老师带我们做个一个项目,相当于是模拟这样一个场景,这个项目存在的问题还是比较多的,上线的话还是比较强的。

18.JVM的内存模型了解多少?

恶补路径:常见JVM面试题及答案整理

第三位面试官闪亮登场

19.你简历上写的意向城市是杭州,一定要是在杭州吗?

20.你的户口在哪里吗?对户口有要求吗?

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@赵亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值