2023.3.27-腾讯后台开发-微信支付团队-一面凉经

楼主刚刚学习一个月,非常地菜,也不知道为什么会被WXG捞起来TAT,而且简历只有Java技术栈

开场介绍

10:00开始于牛客在线面试房间,面试官先问我对实习地点(部门在深圳)有无说法,我说没有,哪座城市都行。

接着,他说看我简历都是Java,但他们这都是写C++的,“我上次写Java都好多年前了”。

(内心吐槽: 那为什么要捞我啊我很菜啊啊啊啊)

做题

给出一个单向链表,要求原地螺旋重排链表 (剑指 Offer II 026 重排链表)。

要求:

  1. 代码简洁,可复用、模块化
  2. 异常处理规范
  3. 讲清楚时间复杂度和空间复杂度
  4. 不能使用语言的特性,只能使用基本类型和基础语法(如果要用到栈或队列的话,必须自己用数组实现)

讨论

面试官在牛客侧边栏慢慢地敲完这些字,然后我想先建个ListNode数据结构再说,刚上手敲(我这样很不礼貌,应该询问他的)

面试官立马打断我说:“别这么急,我面过几十个优秀的同学,他们写的代码几乎没有一个让我满意的,你先听我说完要求。”

他讲完要求后,让我复述一遍,以确认我是否理解了他的要求。

然后要我思考怎么解,我的第一反应是最简单的暴力解法: 每趟遍历到tail,然后把tail插到当前cur的后面。面试官说你可以把链表拆分,再想想怎么做。

经他点拨,我就想起来了,先通过快慢指针找到链表中点,分割链表,然后反转后半部分链表,再和前半部分合并即可,这样整体时间复杂度就是O(N),而且也符合原地的要求。

他听我说完后,给我25分钟,写出满足他要求的"模块化"代码,可以用本地IDE写,要打开屏幕共享。

这期间他要开个小会,然后我就开写了,过一会他让我闭麦("同学你用的机械键盘吧,有点吵", 老尴尬了我)。

写题

大概过了25分钟,我用IDEA写完了(我写得很简单,几乎没有模块化,主要是我比较菜,光写都很久),简单拆分了功能,每个函数只有简单的空指针异常检查)。

他让我把代码复制到牛客的代码编辑页面里,然后他很快看完了,就说:"你这也没模块化啊,不行。。。"。

赧颜了,整个做题环节一共55分钟,到10:55了,他也开完会了。

八股

就问了3道,可能因为我语无伦次的,他就没继续问了

  1. Q: 操作系统还记得吗?

    A: 不记得了,很久以前学的(楼主最近主要在学Java那一套,操原还没复习)。

    Q:你说说操作系统是怎么解决进程之间的死锁

    A: 根本没看操原的我只记得一个破坏环路条件,我只说了这个然后直接说明记不太清了。

  2. Q: 关系型数据库知道吗?说说3NF

    A: 3NF很简单就是2NF之上再消除传递函数依赖,但是我很紧张直接口胡成2NF的部分函数依赖,刚说出口我就想起来说错了,然后赶忙补救一下。

  3. Q: 计网的还记得吗?说说TCP拥塞控制

    A: 我 balabala, 讲完了慢启动、拥塞避免的线性增长阶段,再讲到超时重传时的拥塞窗口大小cwnd和ssthresh的变化,刚准备讲快重传,他就打断我说可以了,并且说:"我感觉你有点啰嗦,说得没有条理,你要想好再回答。"

系统设计

长短链解析系统设计

Q: 你知道网站短链和长链吧?要你设计一个长短链解析系统,且你要考虑有的短链属于热点链接,访问量很多,你怎么设计?

讨论

这个我知道大概是通过Nginx 302重定向,短链对应的域名解析到Nginx服务端这边,然后Nginx将请求重定向到解析后的长链上,然后我又提了一嘴热点链接可以放到Redis缓存里,直接跳过解析阶段返回。

面试官Q: 你这也不是系统啊?我看你项目里用了微服务,你从这个角度讲讲。

啊,我就说做个服务集群,里面的每个服务实例都要通过服务注册中心进行服务发现和注册,然后在Nginx后面再放个专门的微服务网关,根据负载均衡将解析请求打到不同的实例上。Redis和MySQL之间组成旁路缓存模式,服务实例处理请求的时候先看看能不能到Redis中获取,缓存中没有的话就自己根据算法解析或者从数据库或者从别的数据源取来,返还给客户端时顺便写到Redis里。

面试官Q: 你的这个系统有缓存和持久化数据源比如说数据库两种,按照你说的,如果突发大量请求解析热点链接,而这些都不在缓存中,那压力不还是来到了数据库上吗?

我想了想这是缓存击穿问题,就考虑从两个方面缓解这个压力:

  • 热点高峰来的时候启动消息队列,把这些请求当作消息存到消息队列的信道里,每个服务实例慢慢消费这些信息(主要是怕请求高峰导致丢失部分请求)。

  • 使用MySQL集群主从模式,这种场景下的压力都在读数据库上,用一些分发中间件(比如sharding-jdbc)分流读写请求,从节点负责处理读请求,主节点负责写请求,主从间数据定期同步以保证数据一致性。

我的马后炮:本来还想说分库分表,但是一想到这个好像没有啥用户数据之类的,想了想说不好分表(其实应该可以水平分表吧,但是我不晓得怎么处理这个TAT),好像还能用布隆过滤器快速判断短链存不存在(处理无效请求,应对缓存穿透问题)。

然后就11:30了,做题一共花了55分钟, 八股加系统设计一共35分钟QAQ,面试官说到时间了,先这样吧。

反问

感觉自己凉透了,很菜还被拷打。

想问问您在微信支付部门工作是种什么样的体验

面试官主语: 微信支付部门是很严谨的,微信支付是直接和钱打交道,所以我们的工作氛围就很严谨,做事之前要仔细考虑问题,慢就是快。你先前那么快的就上手敲(我的不礼貌行为一直被他记着呢),还没思考完就做,越快错得越多。

我们部门提倡终身学习的,可能对于其他部门学习没有具体衡量指标,但是在我们这有,你需要在几百人面前汇报最近学习的知识,并接受同事们的提问,同时还有指标衡量你是否能够将学到的知识应用到工作里。

超大型组会?

先前答题的时候我很啰嗦,非常紧张,想问问您有什么诀窍或者说方法训练说话的条理或逻辑性(等他批评我)

你可以深呼吸啊,还有,(开始拷打鼠鼠我了)我认为语速快并不是你嘴笨,语速快的原因有两方面,第一,你不自信(鼠鼠我非常不自信的唉),第二,你对知识掌握得不够熟练,缺少底气,所以在答题的时候无法组成条理,用另外的知识来掩盖你不熟悉的知识(一针见血,我确实不记得了555)。

最后,没有问题了,礼貌告别面试官,等他先挂会话。

总结

这是我的第一次面试,鼠鼠我一直都是信奉躺平的,说白了就是非常得懒,没有自我驱动力,研二寒假因为疫情提早回家,在家里爽玩2个月,开学后发现大家都开始投实习了,后知后觉

腾子确实很牛,希望腾子不要再捞我这个菜鸡了(这下面评不好,肯定也不会捞我了吧)

先这样吧

#面经##腾讯##实习#
全部评论
感觉这主管好装啊,不用被他pua
24 回复 分享
发布于 2023-03-27 18:30 江苏
你的头像好熟悉呀,我们肯定是同院的老哥。能过wxg的简历也很强了。
7 回复 分享
发布于 2023-03-28 12:36 湖北
纯纯pua
4 回复 分享
发布于 2023-03-28 08:48 广东
我也,爽玩2个月,然后开始面试了才知道到底怎么补课被反复拷打。因为科研很依赖编程解决问题,虽然我花了很多时间在研究编程上,但感觉要基本放弃转码了
3 回复 分享
发布于 2023-03-29 14:49 北京
前天晚上面的微信支付,算法ac,问的全会,今天挂了,我笑了
1 回复 分享
发布于 2023-03-30 16:44 北京
几百人面前汇报是真的假的
点赞 回复 分享
发布于 2024-09-14 19:47 湖北
后面被捞吗有
点赞 回复 分享
发布于 2023-04-20 12:10 广东
几百人面前汇报?
点赞 回复 分享
发布于 2023-04-18 00:59 广东
感觉很折磨啊
点赞 回复 分享
发布于 2023-03-31 00:49 广东
不叫缓存击穿了吧,大量的热点key找不到就会有转发到mysql,这叫缓存雪崩,一个解决办法就是将热点key设置不同的过期时间
点赞 回复 分享
发布于 2023-03-30 18:16 广东
一开始我也奇怪为什么捞你面试,后来我看到了华科大😭
点赞 回复 分享
发布于 2023-03-30 17:14 湖北
同一个面试官,一直问微服务
点赞 回复 分享
发布于 2023-03-30 16:44 湖南
哈哈哈哈哈这题今天上午刚做了
点赞 回复 分享
发布于 2023-03-30 16:43 陕西
感觉这种部门里很压抑啊😅
点赞 回复 分享
发布于 2023-03-29 11:44 陕西
这种挂了也好,一上来就pua,真要做同事了那得被折磨死。不过我盲猜面试官是可能想要你所以才会说批评的话,wxg里面华科校友势力很大的。
点赞 回复 分享
发布于 2023-03-29 03:15 美国
微信支付属于wxg部门吗,我都面了两轮了我还不知道
点赞 回复 分享
发布于 2023-03-28 23:38 四川
老哥是一个哈尔滨的电话打来的嘛
点赞 回复 分享
发布于 2023-03-28 15:56 北京
请问他要求的“模块化”具体指什么呢?感觉拆分功能应该算模块化了吧。。。
点赞 回复 分享
发布于 2023-03-28 12:06 广东
明天面,感觉kpi了
点赞 回复 分享
发布于 2023-03-28 00:22 北京
蚌埠住了,我之前遇到的,也是问了很多代码规范,以前没怎么遇到过🤣🤣
点赞 回复 分享
发布于 2023-03-27 22:11 广东

相关推荐

2025-12-31 17:31
东华大学 Java
双非本2硕,offer不多,目前已签pdd2024.12 - 2025.32024年圣诞节我收到了人生第一份实习工作offer,是一个有名气算中厂的公司。学长告诉我,有了这份中厂实习,明年暑期实习大概率能找个大厂,秋招那就会很顺利了。于是带着忐忑与激动,我在年前实习了近一个月,年后实习了两个月。由于实习工资很低,负担不起租房,我不得不早上7点起床,冒着寒冷先骑车到地铁口,坐一个多小时地铁到公司再步行上班(难以想象如何能坚持下来的)。上班的整个过程,认识了身边不少伙伴,每天开晨会,不过说真的没有太深的记忆点。整体做的实习任务还是太浅了,好在身边的同事都比较好,基本也都挺照顾我,我感谢他们。在这个不算累,没什么大压力的情况下完成了我的第一段实习。实习结束前几天去南京看了人生中第一场演唱会,李荣浩黑马。难怪都说第一印象重要,这一场演唱会直接奠定了我这一年的另一个旋律。2025.4-2025.6到了近4月,我知道我需要找暑期实习了,甚至想进大厂的话已经有些迟了,但我还是有机会面试了一些大企业---腾讯、拼多多、字节、bilibili。无一例外都挂了。收到测评,笔试,面试,然后又挂,然后又收到测评,不断重复...终于在端午节后的一周里,我收到了Soul的电话。可能名气不如一些大厂,但实习生薪资很舍得给,而且我实在也没啥offer了,我立马接受然后去实习。这次我和同门一起住在了他亲戚开的宾馆里,相对便宜,我不用再两小时交通了。实习的过程中,身边的同事都非常照顾我,有不懂的大家都会给我帮助,我和不同的同事对接,开会,写需求,每天下午休息还会和同事们一起下去黄浦江边散步,周末节假日回去找演唱会看,那几个月看了尤其多的演唱会。不夸张的说,这是我这一年最快乐的一段时光。这样的日子持续到9月,我知道我又要开始秋招了,这里暂时没有留用hc。2025.9-2025.12于是漫长的循环又开始了,投递、填信息、测评、笔试、面试,线下线上的面试我都有去。第一家offer是招银,那是个线下的面试。紧张,我到了场馆甚至还去厕所呕吐,但我知道我只是会在事情发生前紧张,真正面试时我几乎不会有什么状况。果不其然,我通过了,收到了第一份秋招offer。我纠结,因为他的薪水相比于互联网会低一些,但也相当不错了,而且此时已经10月底,我已经找了快2个月,互联网可能没我啥事了,在询问了一堆亲戚朋友后,我还是决定先签三方。抓住已有的,不去想那些虚无缥缈的。有了保底,心情会顺畅很多。后续就是骑驴找马,有一些薪资太低的,整体不如当前的基本都拒绝了。就在我觉得差不多的时候,突然有一天,我收到了拼多多的面试邮件。拼多多是可以线下一天速通三轮面试,或者线上面试的。我对自己的实力有认知,自知大概率过不了线下一天三轮,选择了线上面试。在接受面试之前我一直在想:要不不面了吧,这个就算过了也不想去,太累了。但我心里知道,我就是怕被拷打,怕被问的哑口无言。我害怕!即然害怕,那就得去面。实际上没有那么可怕,人面试官挺友善的。一面我过了,收到了二面。跑去图书馆准备,二面竟然也过了。主管三面,我还是认真去准备,没错我又过了。然后就是漫长的等待hr的回复,信息确认、意向、谈薪,最终在2025的圣诞节我收到了offer。说来也巧,去年的圣诞节是第一份实习offer,今年的圣诞节是秋招offer。这一整年的主旋律都是围绕着实习与工作,我不知道未来的工作会是什么样,是否我能接受拼多多的工作强度,我未来会在哪一座城市。就像24年圣诞节前,我不知道下一个礼拜我会去公司实习,不知道25年会去Soul实习;不知道这一年我看了近10场演唱会,见到了一众明星;不知道我能收到拼多多的offer;不知道26年的我在干什么...身边有个同学和我一样,有类似的两段实习经历,但是目前找不到工作;也有个同学只匆忙刷了一段实习,却也offer不断。我在有第一段实习的时候认为我暑期实习一定能找到一个大厂,结果三个月过去还是一场空。就当我失落的时候找到了Soul,在我以为我两段互联网实习秋招能找到大厂的时候,大多数大厂根本连面试的机会都不给,还没有暑期那会多。就在以为没希望的时候最后又收到了拼多多的offer。未来是什么样?或许起起伏伏才是常态,坦然一点吧。生活反转不断,“塞翁失马,焉知非福”!这一年从3.29看了第一场李荣浩的演唱会就沉迷其中。后续一直到年底,基本处于平均一月一场的频率---李荣浩、周传雄、黄霄雲、邓紫棋、梁博、张杰。其中热情在暑期最为热烈,现在平静了下来。抢了很多,但抢到的甚少,以后热情或许会趋于平淡,但这种追求新事物的乐趣让我以后会发掘更多的爱好也说不定。羽毛球,徒步,唱歌、台球...
点赞 评论 收藏
分享
评论
51
147
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务