蚂蚁支付宝 后端 - 终面 凉透透经 攒攒人品
更新!!今天居然收到了支付宝电话,说我过了!!明天上午HR面!!牛客攒人品yyds!!不过听说阿里HR面挺挂人的,希望明天HR顺利,求求了!!谢谢牛客!!也谢谢面试官的手下留情!!
上上周五面的支付宝一面,感觉挺好的,但是迟迟两周没消息,我都已经在记录表里面把支付宝标挂了,结果昨晚8点突然打电话来说直接开始面试,还是直接终面!?我都愣住了,匆匆忙忙赶到可以面试的地方,然后开始面试。。。在此之前大家都说终面就是leader一起聊聊天,不会卡技术,我信了。结果整个面试都在追问各种高并发场景,面试官喜欢说一大段文字来描述问题,我很多时候都没怎么听懂面试官在问什么问题,经常我在想很久的问题其实和面试官问的问题其实不是同一个。。。面试体验很不好,问的问题很深,应该是挂了,不过还是粗略记录一下(我后面一时也没找到标准答案,不好意思)。
- 看你应该是有集群或分布式架构的,说说项目的整体框架。
- Nginx你用来做反向代理服务器来负载均衡请求给服务器,那你有想过Nginx本身遇到大流量,自己崩溃的情况吗?
- 你说的Nginx主备只是解决了她崩溃了之后的应急措施,还是没解决Nginx被大流量请求的崩溃问题呀,怎么解决?
- Nginx就这样,我们说说高并发场景下的一些问题,你说说一个增加又删除的这样一个功能模块被高并发请求怎么办?
- 你说用加锁保证线程安全?你说说怎么实现的?
- 你用Redis存的锁过期时间设太短怎么办?
- OK,锁这个还可以,下一个问题,如果用户在点击完增加不用等响应就立刻点删除,来回点的很快,怎么办?
(我这里一直以为是添加新商品和删除新商品,现在写面经回想一下,可能是在问购物车那个+1和-1吧。。) - 你说可以先判断一下,嗯,那如果我想在后端实实在在地知道他那个有序性呢?
(实在不懂在问什么,后面面试官说:通过给前端的请求加一个自增的序号来保持一定的顺序) - 下一块问题,如果大量请求压到一个redis上面怎么办?
- 你说的cluster是根据key来hash的,万一我就是同一个热点商品,不还是会压到一个redis上面,怎么办?
(这里由于前面他一直有在描述一些写操作相关的事情(虽然没写出来),所以我一直以为这个大量请求指的是写请求,结果面试官说他问的是读请求,然后解答了一下怎么样可以把读请求分到各个redis里面) - 既然你刚刚一直在想的都是大量写请求,那好,我就问这个,假设现在有一个秒杀业务,你怎么去设计你的redis能够承受得住这个高并发业务。
(他刚刚说了他就问这个,我就一直还是在想大量写请求压到一个redis怎么办,结果后面才发现他问的其实是一整个redis系统怎么样应对这样一个高并发的秒杀业务--把商品分批放在不同的redis节点里面,用户只是在各批里面相互抢,而不是在同一个redis里面,这样大量请求就可以分成好几个redis来承受) - 你说说你有什么拿的出手的技术栈吧?(我就说了锁底层)
- 你现在是后端方向是吧,我不是说后端方向不好啊,我是希望你说说你未来具体想从事哪个方向呢?
(我听他这意思好像不太想我做后端业务,加上一面面试官也有表达过类似的这种感觉,而且和我说过他这个部门非常底层,我就说了相比于做业务,我更希望以后往一些基础组件开发这个方向走) - 反问:进去后负责什么
回答:我们部门进来了后端一般都是负责一些业务相关,可能并不会像你说的那样负责一些底层的开发。
(我。。只能说整个面试我的阅读理解仿佛0分,完全都是走在错误的方向上。。。)
体会:
- 这一次面试让我仿佛梦回一个月前的字节一面,就是那种:花了大半天时间想一个问题,其实在想的是面试官在问什么,而不是这个问题怎么解决,一个月了,感觉自己在剖析面试官问题这一块还是没太多长进。。
- 高并发场景确实是像一些leader面或者面试深入时常问的问题,基本上都没什么接触过,下去一定得好好学习相关的业务场景,好歹不要像这次这样一脸懵逼。。
昨天真倒霉,拼多多三面因为主管这周没空推迟了,美团加面试官wx加不上(现在还没消息,可能挂了吧),突如其来的支付宝终面电话(回答得很拉,肯定也挂了吧),一下子一蹶不振的感觉了。。
写面经时突然想起之前喜欢的漫画的一句话:世界上所有不幸都是当事人能力不足导致的。
还是多学习多努力吧!!
攒攒人品,望顺利!!
#支付宝实习##面经##蚂蚁集团##后端开发#