虾皮提前批二面凉经~
时长:不到50min
刚开始网络卡了一点,建议网不好的大家使用热点吧...血与泪啊,浪费时间这就很尴尬
1.自我介绍:个人技能+实习等
2.算法题:30min 吐血~早知道应该交流一下的,所以一定要交流在coding
判断s3是s1和s2交替形成的?例如s1=ac,s2=ab,s3=abac,返回true。
我一开始以为是双指针去做,我吐血,后来写完了debug了才发现不是。
最后在反问阶段,面试官给我的建议是 有思路之后尽量先沟通,这样可以确定需求和思路的正确吧。
3.项目
我的项目是这个在线购物商城,通过redis做缓存中间件,其次使用sexnx分布式锁和rabbitmq消息队列异步消息来同步数据库与缓存的库存一致性。
深挖我项目,涉及技术的原理和优化 吧,比如如何实现消息队列的高可用,,,,啊这,我的项目实际压测也没有崩溃,我所以没有去了解。
另外就是限流手段,一个是token令牌前效验秒杀,秒杀大闸做控制,发布指定数量的token令牌来限流。
另外还问了如何获取全局变量,我回答了的是用setnx锁或者mysql锁。问了还有其他的没,只了解了这些啊。感觉需要了解一些东西的多方面性,从多个角度去实现这个问题。
4.实习
实习的收获:就是对一些jdk8的新技术stream流、lambda表达式等的使用和学习,然后就是对项目架构、新的技术等等..
review coding的时候,从别人的代码中学习到的一些优点,发现自己的代码的缺点,优化代码更加优雅。(优雅~永不过时...)
大概讲述了一下自己的实习是做什么的。这个就不方便了。
5.反问
二轮技术+一轮HR
对我什么评价:隐晦的表达了对我项目,可能对技术层面的深挖不够,建议我多深挖一下这些个层面。
8.11收到感谢信
虾皮,日后再会~
——————————
面试复盘:
rabbitmq消息队列使用的时候遇到的瓶颈???怎么解决的???(一脸懵逼的回答,然后胡搞起来)
为什么用token而不用session...我真就觉得token好玩...session太烦了。
说一下对sql的优化,我好难啊。
#面试复盘##面经##校招##Shopee##Java工程师#