2022.09.28 满帮一面
总时长一个小时
- 项目简介,你负责的模块。
- 细问下单和出货操作的整个流程,怎么调用wx支付,怎么出货,各模块之间的关系。
- 你说你使用了EMQ作为中间件,为什么要选择这种中间件?(因为我想要使用MQTT协议)为什么要是用MQTT协议呢?(因为HTTP协议有消息冗余,硬件内存小,MQTT更精简)那为什么HTTP协议冗余性高呢?(我说了因为HTTP的头很复杂,有无用信息)那让你设计一个精简的传输协议,你怎么设计?(这我哪会啊。。)
- 细问登录如何实现,在验证码显示那个部分问了非常长的时间,扣得贼细,我答得并不是太好。
- 这个时候就已经半个多小时了,让我自己介绍一个项目中的亮点,我说了项目中使用了策略模式,然后简单的介绍一了下如何实现的。
- 知不知道在各种开源框架中策略模式的实现?举一个例子就行(一个我都说不上。。)简单介绍一下你熟悉的设计模式,那你说一下这些设计模式在这些框架中的实现吧。
- 你刚才说了工厂模式,那你能说一说为什么要使用工厂模式么?它的优点是什么?(只答上来一个,后来面试官又补充了一个,就是通过工厂类可以直接构造接口,这样我们内部的实现类可以实现无缝替换)
- 你自己选一个模块,我们来谈一谈,JVM,并发,框架都可以,然后我选择了MySQL或Redis,面试官说那么我们就谈一谈Redis吧,Redis的数据结构有哪些?
- 什么时候你使用Redis的哈希?
- String类型的底层数据结构是什么?SDS的优点有哪几个?如果我要直接存储一个数字呢?为什么SDS存储分成了embstr和raw类型两种?SDS扩容的底层机制是怎么样的?(又没答好,寄)
面试官本来想接着问,然后一看时间好家伙一个小时了,然后就说时间关系结束了。。
满帮是三轮技术面试,一面就已经扣到了这种程度,我感觉真的顶不住。。
总结:
面试官人不错,有些东西你没有说到点子上,他还会对你进行一个引导,当然我水平不行,他引导我的问题我有的也答不上,但是半蒙半推理反正也是推出来不少。。
八股文基本上是一点没问,可能是前面耽误的时间太多了所致,而且他问八股文是先让你挑一个,结果问的贼难,一点点小细节都十分在意,面试官对技术的掌握还是非常强的,总之一个字,寄。。