首页 > 数据库 > 数据库开发技术 > 学员面完试回来慌的一批,急忙找我帮他总结总结
简介:大家好,我是枫哥,🌟一线互联网的IT民工、📝资深面试官、🌹Java跳蚤网课堂创始人。拥有多年一线研发经验,曾就职过科大讯飞、美团网、平安等公司。在上海有自己小伙伴组建的副业团队,目前业余时间专注Java技术分享,春招/秋招/社招/跳槽,一对一学习辅助,项目接活开发。
🌟 欢迎关注 🌟 收藏 🌹在看 🌹
🍊🍊:文末送福利
今天我们来聊一聊昨天学员向我反馈的面试过程中遇到的问题。这其中包含项目的和技能上面试的问题。
我们来看看都有哪些问题吧
1.你的项目大概有多少人使用?
学员回答:这个我不清楚就说的qps大概是1000左右
我的意见是:这个大概多少人使用,你也不是产品经理或者销售,你只是个开发的角色,不知道是很正常的。如果真的非要你说,你就说个大概值。大概几十万人吧。
2.Redis里数据模型(数据结构类型?)是什么?
学员回答:我说使用的String类型来存储的。
面试官接着问:key和value都是用的String?
我的意见是:在项目中Redis使用的数据结构就是String类型,key是String,Value 也是String
面试官接着追问道:Redis在项目中是怎么用的?时候jedis,还是其他啥的?
学员.......................................................................
我的意见是:Redis使用的是Jedis,其中还用到了pool
下面我来展示下伪代码

面试官接着问道:Redis的Key的失效时间是多少?
学员回答:3分钟,(但是他仔细想了想既然前端30秒得不到操作成功的响应就显示操作超时的话,那失效时间是不是设置个40秒就够了?)
看来他不是很自信呀
其实他回答3分钟是没有任何问题的,他要是再自信点多好
面试官接着有问道:项目中有没有用到Redis集群
学员..................
其实呢Redis 集群不是随便就用的,除非项目的并发量特别大的时候才用到的
3.rabbitMQ在什么地方用到了?
学员心想:因为这块我掌握的不好,所以我就说的是个人中心注册的时候验证码那用了rabbitMQ。这种说法有问题吗?
注册这块用到RabbitMQ是没问题的,不过还有其他的地方也用到了,比如说 削峰填谷
如订单系统,在下单的时候就会往数据库写数据。但是数据库只能支撑每秒1000左右的并发写入,并发量再高就容易宕机。低峰期的时候并发也就100多个,但是在高峰期时候,并发量会突然激增到5000以上,这个时候数据库肯定卡死了。

消息被MQ保存起来了,然后系统就可以按照自己的消费能力来消费,比如每秒1000个数据,这样慢慢写入数据库,这样就不会卡死数据库了。

但是使用了MQ之后,限制消费消息的速度为1000,但是这样一来,高峰期产生的数据势必会被积压在MQ中,高峰就被“削”掉了。但是因为消息积压,在高峰期过后的一段时间内,消费消息的速度还是会维持在1000QPS,直到消费完积压的消息,这就叫做“填谷”

5.你说要用异步的方式调物联网,相当于这边有个回调函数,在这个过程中你线程是怎么使用的那?”
学员当时心里是这样的(当时他问这个,我脑子一慌就说这个线程是用的线程池,然后他接着问我线程池是统一用的一个线程池还是各个业务之间是独立的线程池,然后我就只能说不清楚了)回调在代码上是怎么实现的
其实回调是通过我们的之前发的CallBackUrl将回调的结果传给我们后端的
面试官追问道异步过程是怎么实现的,代码上是怎么实现的?
学员懵逼........................
其实车联网是物联网的一种,异步是车辆网实现的,车辆网是C写的,我只负责调用其接口就行,其他的你就说不是很清楚,是可以的。
6.Springboot的组件用到了哪些?
学员有点疑惑Springboot不就是拿来快速搭建项目的吗?我问它是不是哪些starter,他又说不是。因为他问的同时说到了springcloud,我就转过去说了springcloud的组件gateway这些。就没继续springboot组件的问题。
看来他对SpringBoot 也只是停留在使用阶段呀
Springboot四大组件分别是:starter, autoconfigure, CLI 以及actuator。
具体的内容可以参考如下文章:https://zhuanlan.zhihu.com/p/394228277
原文作者:IT枫斗者;如有侵权,请联系管理员删除。