腾讯wxg企业微信部门面经

背景:9.22突然打电话问要不要面试,我说微信之前不是说今年不秋招,对面说政策有调整,所以又开始秋招了,还说如果能提前实习,流程可以推进地快一些(我也不懂这说的是什么意思),但面试流程是正常地应届生秋招流程,非实习生流程。之前暑期实习面过一次微信搜索部门,被一面薄纱,所以对wxg其实没什么好感,但怕贸然拒了以后,没有其他部门愿意捞了(之前有听过这种情况),所以也就答应了,想着早面完早进入复活赛。

一面(9.25 1小时 大头兵面)

面试官介绍是企业微信的,然后就开始面试,一面出乎意料的比较简单,八股和项目基本五五开。

自我介绍

问实习经历

raft算法、zab协议的区别

raft如何选举新的leader

raft选举leader需要至少几个节点同意

raft在集群规模3个、4个节点的情况下,分别需要几个节点同意,才能选出leader

进程、线程、协程之间的区别,优缺点

协程有什么缺点

http2相较于http1的区别

tcp连接3握4挥

binlog和redo log的区别

乐观锁与悲观锁是什么

leveldb的出现是为了解决什么问题

leveldb有什么优点

leveldb的快照了解吗(不了解)

在浏览器中输入网址并回车后,发生了什么

做一道题(leetcode简单难度,本来是有两道,但是八股问完已经面了快50分钟了,面试官说来不及做两道了,一道就可以)

反问:企业微信里面具体做什么的(答:基础架构,存储,消息队列)

二面(9.26 1小时30分钟 应该是主管面)

本来以为一面问的并不是很深入,可能是个kpi,结果一面结束当天晚上就约了2面

上来什么多余的话也没说,直接甩来4道编程题,给一个小时的时间去做

4道题大概1道easy,2道mid,1道hard;能记得的是有一道斐波那契数列,一道判断字符串子序列,一道搜索旋转排序数组,一道统计逆序对的个数,做了大概整一小时

然后是实习和八股

cpu常见的寄存器有哪些

zeromq的架构是怎样的,有什么特点

etcd底层是如何存储的

b+树相较于二叉树有什么优点

paxos和raft的区别

paxos中节点宕机后如何去恢复数据

Linux中的虚拟内存了解吗,虚拟内存和物理内存之间的关系是什么

rdma了解吗?rdma有什么好处?了解什么是rdma的原语吗?

面试结束,没有反问

三面(9.26 1小时30分钟 总监面)

二面结束后没有反问环节,以为自己寄了,结果晚上吃完饭一看,状态竟然从初试变复试了,很激动。然后过了一小时,2面面试官打电话问晚上是否有时间面试,因为他们总监正好晚上有空。本来想因为太晚,改天的,但是怕今天不面,时间往后拖太多,到国庆后了,所以就答应了。

约了晚上7点半的面试,但是面试官迟了大概15分钟,7:45才开始

看了好多腾讯面经,以为总监面不用做题,或者做一道题,以聊天和深挖项目为主,没想到总监面上来也是直接给我甩了3道题,1小时做完。

第一道是设计一个直播系统,每个直播间有房间号和热度,需要对直播房间列表里面的房间进行插入和删除,并且要能获得热度前100的直播间。(哈希表+小顶堆实现)

第二道,有一个rand函数,生成0-65535之间的任意随机数,现有300000员工抽奖,抽1000个,保证每个员工获奖概率相同。(其实就是leetcode里面的用rand7生成rand10相同的思想,就是要注意等概率。当时做的时候没有想到更深层次的等概率,所以这道题应该算是没完全做出来)

第三道,一个二叉排序树,从1-n,现给3个数p,q,m,判断三者的公共祖先。(二分查找,判断当前查找对象是否同时是p,q,m的祖先)

三道做完大概花了1小时多一点,剩下的时间基本上就是在讲这三道题,第二道题一开始做错了,后来也没想到正确方法(太紧张了),比较糟糕,讲完以后简单问了几个八股:

probuf序列化与反序列化的原理

redis主从如何同步

然后就直接到了反问环节,问了一下结果大概1周内会出,就结束了。

四面(9.27 1小时 面委会1面)

三面因为有一道题没做对,感觉对面总监好像不太满意,然后对面又说一周后才出结果,我想一周后不都国庆了吗,以为这是在变相告诉我挂了,所以这回真以为自己寄了。结果第二天早上11点左右,hr就打电话约了面委的1面。

面试官上来就问3门八股(计网、数据库、操作系统)哪个最熟悉,然后就开始八股和设计题的狂轰乱炸(不是说面委都不怎么懂技术的吗。。。)

你的c++ webserver是如何实现的

epoll是如何做到高并发的

你的webserver中如何保证高并发接收数据

接收的数据存在哪(自己设计的buffer里)

buffer是如何设计的

你的webserver如何解析http请求(有限状态机)

如何识别http请求结束了

如果一个tcp请求装不下内容,如何设计webserver,使其可以在高并发环境下把来自不同连接的内容分开(hashmap)

了解c语言里的malloc吗

如何自己设计并实现一个malloc和free,保证分配和释放内存的合理,并且不产生内存泄漏

项目中用到了cache,cache满了怎么办(淘汰)

怎么淘汰(主动、被动、LRU、LFU)

LRU内部如何实现(双向链表+哈希表)

Linux中,如何杀死名字为server的进程

了解什么数据库存储引擎,他们的底层是如何实现的

b+树有什么优缺点

innodb为什么用b+树,不用二叉树或红黑树

epoll为什么用红黑树而不用b+树

文件在磁盘里怎么存储,是连续的还是不连续的?

如何设计函数,完成对文件的追加写

如果追加写的时候发现空间满了怎么办

如果满的仅仅只是文件夹的空间,硬盘里仍有空间该怎么办(不会)

如果让你去设计并实现一个消息队列,需要怎么做,用到什么通信方法

消息队列的消息存在内存还是硬盘

存在硬盘中的消息如何存储

没有反问,面试官好像接下来还有会,所以刚刚到一小时,就急匆匆地结束了面试。

五面(10.9 1小时30分 面委会2面)

因为面委会1面大部分基本上都答上来了,也没第一时间挂,所以想着面委会1面应该是过了,但是没想到还有面委会2面。

面委2面地体验就没上一次那么好了,比较难受。

自我介绍

前30分钟大概是问实习经历,我上一段实习侧重中层和上层地业务开发,但是面试官一直在问我用到的各种组件的底层实现,很难顶,幸好之前实习的时候看过这些文档。

然后是问一些设计题吧:

kafka底层是如何实现的,怎样保证高并发(不清楚)

zeromq底层是如何实现的,怎样保证高并发(说了一部分,这些都没看过。。。我更关注的主要是整体架构)

常见的负载均衡算法

然后是两道算法题(真的要做吐了🤮)

第一道是输入一个由数字组成的字符串,打印所有字符串可以组成的ip地址

第二道是输入一个整数a和整数b,计算a/b的结果,其中无限循环小数需要用括号括住循环节,如1/2=0.5,1/3=0.(3),1/6=0.1(6)

反问:什么时候能出结果(答:不清楚,是不是最后一轮,之后还有没有也不清楚,具体去问hr)

更新:10.20 hr面

10.23 录用评估

10.26 oc

#24届软开秋招面试经验大赏#
全部评论
逆天,搁这招acm世界冠军呢,那么多题
314 回复 分享
发布于 2023-10-21 02:35 广东
牛的,下一个马化腾来面你😄
116 回复 分享
发布于 2023-10-21 14:44 陕西
这是年薪百万的offer吗😦
63 回复 分享
发布于 2023-10-22 20:18 河南
这面经确实够厉害的
33 回复 分享
发布于 2023-10-22 11:07 北京
牛,这offer你该拿
27 回复 分享
发布于 2023-10-27 15:58 北京
这么窒息 大佬tql
22 回复 分享
发布于 2023-10-20 13:36 广东
菜鸡的我能和你做校友,我很抱歉
14 回复 分享
发布于 2023-10-28 21:12 北京
这我都看迷糊了😧
10 回复 分享
发布于 2023-10-22 12:20 北京
介是真的猛
7 回复 分享
发布于 2023-10-22 00:19 江苏
佬,方便说下你的简历里项目是什么吗
5 回复 分享
发布于 2023-10-22 21:38 安徽
这招的是神仙吧,光看着我都紧张了
4 回复 分享
发布于 2023-11-08 08:26 湖南
太猛了哥
2 回复 分享
发布于 2023-10-20 13:39 美国
窒息
2 回复 分享
发布于 2023-10-22 00:41 江苏
相亲呢😅
2 回复 分享
发布于 2023-10-29 10:59 浙江
大佬,“第一道是设计一个直播系统,每个直播间有房间号和热度,需要对直播房间列表里面的房间进行插入和删除,并且要能获得热度前100的直播间。(哈希表+小顶堆实现)”请问这个题给出的【房间号,热度】中,房间号有重复的吗,或者说热度是不断变化的
2 回复 分享
发布于 2023-10-31 10:43 江苏
互联网大厂的强度都这么高的吗?😂,我们半导体顶多问半小时
1 回复 分享
发布于 2023-10-21 20:50 江苏
太牛了啊
1 回复 分享
发布于 2023-10-22 14:12 北京
1 回复 分享
发布于 2023-10-23 10:23 北京
大佬
1 回复 分享
发布于 2023-11-02 17:24 江苏
佬,现在是录用评估了嘛?什么时候hr面的呀
点赞 回复 分享
发布于 2023-10-20 13:46 北京

相关推荐

2024-12-13 17:18
已编辑
门头沟学院 Web前端
一开始介绍的时候节奏不是很好,让面试官误会了这就是个工具使用项目,直到最后反问的时候把各种研究的细节抖了出来才改了态度- 自我介绍- 说一下项目(简单做了一下介绍,落地背景,技术选择,产品上线,由于之前有点摆烂,所以准备的不是很好)- Astro 框架是你自研的还是第三方的(?第三方)-  CDN 是什么- 网站访问量高吗,有多少人在用?- 八股:  - http 每个版本的区别  - 缓存- linux 源码看过吗(?)- 反问  - 需要改进的地方?(反问了你从这个项目学到了什么)    - 阅读了部分 Astro 源码(content collection 与 vite 结合的底层实现,知道了可扩展性和局限性,翻阅了 RFC 文档,知道了其开发目的解决的痛点,最后评价是又好又坏,好在对 mdx 的处理工作是在编译器完成,在运行时无过大开销,缺点也是 mdx 在编译期间处理完成,没法应对更灵活的需求;其次讲到了 Astro 上周第 50 个 RFC 文档,github 可查 content layer api,也是不把运行时编译列在目标内;所以评价是又好又坏)    - 深入研究了 CRTD 思想及其背后的 yjs 生态库(从小团队开发比重权衡选择了 yjs,生态丰富,且配备 demo,体验很不错,尤其是周边库,源码内容简单,要针对做定制开发的成本也比较低)    - 面试官主动问了一下有没有了解 OT (对比了一下 OT 与 CRTD 的区别;他与 CRTD 解决的目标相同,不过思想核心不一样,OT 是保证过程顺序一致,CRTD 保证数据一致性,颇有分布式思想的感觉;OT 在生态上较为薄弱,调研了 ShareDB 实现,发现后端代码过于复杂,对于小团队开发可能时间并不充足;我的中心服务器性能不够的话可能导致体验下降;针对不同数据模型要实现不同接口,开发成本增加)    - 了解了一些 vite 的短板(生产环境与开发不一致,不合理分包导致模块循环引用(上周优化时发生的),首页白屏的问题(vite 仅仅经过最简单的转义便直接把模块发送给首页,没有像 rspack 一样做一个合并优化,导致项目变大时首屏发出大量的模块请求,且 vite 开发服务器 http 协议似乎是 1.1,只允许 6 个 tcp 请求,其他的会被阻塞,进而导致长时间白屏))    - 实践了一些设计模式(模板模式,策略模式)    - 站在了开源包使用者的角度去看待一些内容(包下的语法分析核心分了两层设计,用户可以选择最简单的 plugin 模式去定制规则,也可以自己创建 core 实例去完整覆盖 mdx 的检查行为)    - 总之做这个项目就是很开心,学到了很多也收获了很多  - 您是 GM 吗(不是)  - 反问了一下平时玩什么游戏,但是当时脑子有点短路答不上来,就说最近玩的比较少,会练一下吉他也是从这一次面试后,我就意识到了必须要主动争取面试主动权,面试官给出机会时一定要有意识,抓住项目核心讲,因此后续继续优化总结,把项目最重要的几个核心抓了出来,并进行了提炼,因此一天后的字节二面我收获了一个非常好的体验
查看11道真题和解析
点赞 评论 收藏
分享
腾讯 t7 70左右
网友海绵宝宝:t7不如2-1,选字节吧
点赞 评论 收藏
分享
#找工作时的取与舍# bg双九,科班,无实习无论文。自九月以来,历经三个多月的秋招终于画上了句点,从最开始面试时的磕磕绊绊,到后来还算找到些面试技巧,最后也是拿到了些offer。在此记录下这段日子里的投递历程,也衷心感谢各家公司给我的面试和录用机会!已oc的Timeline:1. oppo9.7 笔试9.21 线下 一面+二面+hr面9.22 oc9.23 线下座谈会+offer第一家给offer的,一天面完效率非常高,感谢oppo,但实在发的太早且不能拖,遂拒2. 美团8.31 笔试9.1 AI面一战:9.9 一面挂二战:9.20 一面9.24 二面9.26 hr面9.27 oc10.31 offer团子是收到的第一家大厂offer,早早发了意向保底也让我对后续的秋招有了信心,但开奖实在白菜,遂拒3. TPLink 联洲9.10 笔试9.25 一面9.27 二面10.14 线下hr面10.23 offerTP的面试整体比较简单,且薪资给的蛮高,但考虑到将来发展还是比较想去互联网,遂拒4. 科大讯飞8.30 笔试9.25 一面10.10 二面10.15 hr面10.24 oc11.19 offer讯飞在武汉的薪资确实非常有竞争力,并且hr主动说可以再上调几k,离家也近,非常感谢讯飞的诚意,想先去大厂打拼几年,遂拒5. 快手一战:9.9 一面挂二战:10.9 一面10.15 二面10.24 三面无hr面11.19 offer手子给的薪资蛮高的,后面也A上去了很多,但是10-10-5的作息有点难顶,很抱歉把它当备胎了这么久还是拒了,感谢手子的认可6. 拼多多9.8 笔试9.28 一面10.13 二面10.16 三面10.27 hr面11.8 oc12.1 线上座谈会+offer每一面面试官都非常亲切,体验极好,无时无刻不在劝我好好考虑多多的强度,最后薪资也是超大包,差点被多多的$砸晕了hhhh,但是单休有点难顶,还是拒了7. 华为9.4 笔试9.13 一面9.26 线下 二面+hr面11.30 offer华子特有的泡池子,没开到15级也正常,稳定性可以的,但得去上海青浦,当时手里有大厂offer就没去华子8. 虾皮9.14 笔试9.29 一面10.12 二面10.30 hr面11.30 offer感觉自己虾皮面的就一般吧,面试难度正常,但是貌似给开了个ssp,薪资非常非常有诚意,但考虑到稳定性和title,还是选择去大厂9. 字节一战:9.19 一面9.29 二面9.30 三面挂二战:10.14 一面10.17 二面10.21 三面挂三战:11.5 一面11.6 二面11.7 三面11.11 hr面11.20 oc11.22 开奖,但白菜,开A12.16 A上去了,结果满意,接offer并签三方最坎坷的一集!两次面到三面挂也是很搞心态,本来觉得秋招字节已经无缘了,在11月面试接近尾声的时候,突然被捞起来五天速通了四面。很惊喜,本来想着直接去字节了,但是反手给我开了个烂白菜。经过三个星期的拉扯,期间非常感谢虾皮、拼多多开的大包给了我A薪资的资本,最终重新走offer审批给出了比较大的涨幅,考虑到字节的其他福利也非常好,直接接了,秋招圆满收官!其他投递的公司:1. B站:简历挂2. 腾讯:TEG和WXG两次一面挂3. 腾讯音乐:笔试挂4. 百度:简历挂5. 蚂蚁:笔试挂6. 饿了么:简历挂7. 阿里云:一面挂8. 阿里国际:笔试挂9. 淘天:一面挂10. 阿里灵犀互娱:简历挂11. 网易云音乐:简历挂12. 小红书:两次笔试挂13. 滴滴:笔试挂14. 得物:笔试挂15. 比亚迪:面试拒了16. 小米:面试拒了17. 京东:笔试挂18. 360:笔试挂19. 米哈游:笔试挂20. 深信服:面试拒了21. 顺丰:面试拒了22. 携程:笔试拒了这些没有oc的公司都不超过一面就挂了,没有耗费太多的精力还算不错。身为java选手投递阿里系基本没过的是让我最诧异的一点,只有淘天和阿里云捞起来电话面了一面后就没消息了,既没有挂也不推进,最近才打电话问是否考虑补录面试,由于已经签了字节就没有继续面了。其他一些主动拒了的面试也是基于当时手里已经有更好的offer了所以没有去面,也是非常感谢他们给与的面试机会。总的看来,秋招真是一场持久战,无论是专业面试的准备,还是与hr的谈薪拉扯,都耗尽心力。最大的感受就是不管在哪个阶段都要保证自己有退路,在手里有底牌的情况下去拉扯,否则既要又要很容易两边都没拿到。由于各家的开奖时间和接offer期限都不一样,因此要想清楚自己想要什么再做出当下最优的选择,取舍在必需时也要果断。在可以的情况下尽可能地多拿些offer,即使最后不去拿来A薪资也是不错的选择,否则想去的公司开出白菜价又没得A是真的很无奈。纵观自己的秋招历程,还算每一步做出了不错的选择,也取得了比较满意的结果。最后再次感谢各公司对我的认可,各位面试官和hr的付出,秋招圆满收官,该专心做毕业论文了。#我的OC时间线##25届秋招总结#
点赞 评论 收藏
分享
2024-12-15 22:05
门头沟学院 C++
点赞 评论 收藏
分享
评论
260
638
分享
牛客网
牛客企业服务