2022互联网面经(未完待续)

裴昕
2023-12-01

目录

字节一面        (2022.2.16)(55min)

深信服一面        (2022.2.19)(40min)

shopee虾皮一面(2022.2.19)(80min)

腾讯互娱一面        (2022.02.22)(50min)

shopee虾皮一面(2022.2.23)(70min)

深信服一面        (2022.2.24)(46min)

富途一面        (2022.2.24)(70min)

广州BIGO一面        (2022.2.25)(75min)

百度一面        (2022.2.28)(32min)

深信服二面        (2022.3.1)    (20min)

广州BIGO二面        (2022.3.2)(62min)

腾讯一面        (2022.3.2) (124min)

深信服三面        (2022.3.3)(40min)

百度二面        (2022.3.5)(53min)


字节一面        (2022.2.16)(55min)

飞书部门,视频会议方向。用飞书pc端入会视频面试,晚上8点整开始,面试官看起来年龄猜测27~32岁。

自我介绍1~2min

然后直接怼项目大概20min,项目中某些功能怎么实现的?怎么主从搭建?容灾技术?

rabbitmq主从复制和切换?

c++多态的原理?类内存布局,虚表和虚表指针那些.....

为什么父类声明析构为虚函数?

常用的设计模式?

网络相关,tcp和udp的区别?当时想到的都说了

编程题:(共享桌面写代码不需要运行)

  • 自己实现一个hash表,只能用数组和链表,不用模板,不用自己写hash函数,实现插入删除查找功能。想了一会儿,写不出来,越想越没头绪.......
  • 常用的设计模式,写一个单例模式。我写了一个饿汉模式,问是否线程安全要加锁嘛?我说这个饿汉模式不需要加锁,static构造对象时只允许一个线程执行。
  • 给一个int无序数组,从中找出三个数,它们的和为0。我说用三个for暴力循环,面试官要求优化;我的优化是先排序数组,然后用双指针法.....leetcode的原题:三数之和

最后让我反问,我问了两个问题。

结束。

总结:我个人有点紧张,有时候脑子有点空白停顿了几下。整体还行,回答过程有点卡壳,算法编程有待加强....拿字节练手面试不凉才怪。

深信服一面        (2022.2.19)(40min)

上午十一点开始,原本是安排的前一天但是推迟到周六,面试官看上去时间很赶....

上来都不自我介绍了直接问项目,结合设计模式,对于不同的资源如何封装、排序?

基础组件选型,为什么选redis,评估内存占用,qps,持久化,还有为什么不选mysql?

说下static关键字。这里我还说的卡壳有点错误,回去再补补....

c和c++相互调用?有什么难点?

关于内存对齐?项目中用到的地方?

c++多态原理?.....

手写反转链表,leetcode原题:反转链表

最后面试官有事匆忙结束.....

总结:感觉面试管有点着急,缺少耐心。我语言基础有待加强。

shopee虾皮一面(2022.2.19)(80min)

面试部门是shopee IM,类似飞书、企业微信的通讯工具。

下午一点半到两点五十左右,第一次面试这么长时间,虾皮面试官大概年龄30+说话较客气。

开场自我介绍(1~2min)

项目介绍(2~4min)

怒对项目,先问我的后端服务架构是怎么样的,用了什么开源项目?然后分别怼每个项目的原理....

问场景题,终端入会前,http请求如何保证安全?伪造数据请求?后端服务代理挂了怎么办?主从备份?

rabbitmq如何保证消息不丢失,同时如何保证消息不重复消费?

比如有很多用户来请求,并且需要定时发送,怎么做?如何设计一个定时任务,定时处理?任务数量太多怎么做?

redis的部署模式单机、主从、分布式搭建,redis主从切换?哨兵机制?分布式节点的主从由谁切换?

redis的get命令如何查找对应数据?跳表的实现?跳表查询时间复杂度,调整索引的时间复杂度?它和mysql的B+树的不同?

mysql的主从复制?查询语句中有where ... 和 order by,以谁去建立索引查询?如果order by排序字符串怎么排序?内部使用什么排序机制?

太多内容.....有些记不清了

编程题:

给两个字符串a,b相乘,返回的结果也是字符串,要考虑溢出风险,leetcode原题:字符串相乘

我写了一会儿,然后感觉不是一时半会儿能写完的,就说了大概思路....

反问环节:我问了部门做啥的,入职培训机制,工作比较好的体验.....他说是外企,业务面向东南亚地区,很少加班,这让我很心动哈哈。

总结:

没有问语言基础的问题。我觉得面试官的面试还是很不错的,提的问题由浅到深,根据不同场景深入探讨并提出问题,激发面试者的开放性思维。比较满意的一次面试。

腾讯互娱一面        (2022.02.22)(50min)

晚上8:30开始,感觉面了个假腾娱,全程都没有hr联系我,直接技术面试官两次联系约面试,而且是电话面试,不用开视频,这样压力小点。是天美下的游戏后台开发部门,游戏没透露叫啥,估计热度不高

自我介绍免了,寒暄几句就开始问项目

介绍项目,问项目规模,用到的技术和组件....

游戏相关场景题,54张牌随机洗牌,把牌放到数组中,如何做到随机打乱?说了我的方案后,要求再优化...这个比较简单

游戏战斗场景,多人在线游戏,A攻击B,这个过程数据是存在哪里?怎么去实时同步数据?如何保持双方玩家客户端数据的一致?如果结果存到mysql,是否可行?访问mysql接口是同步的吗?如何做异步?

网络相关,网络套接字编程的流程,口述了一下。这种简单流程如果多个客户端再连接的话可以吗?如何支持1w个客户端连接?问了io多路复用的编码细节,select/poll/epoll。

tcp粘包处理方案?

有些题目忘了...

算法题,给一个a~z的随机长度的随机字符串,字符有重复,需要找出其中第一个没有重复的字符。说了一个初始思路,然后被面试官找出了问题,接着我又给出另一个方案,可行。面试就结束了

shopee虾皮一面(2022.2.23)(70min)

和之前的部门不一样,是做多媒体中心的一个部门,虾皮面试官都很有礼貌,会自我介绍和介绍面试流程。

介绍项目然后怼项目,在项目中承担怎么样的一个角色?问了redis的kv存储如何设计等等.....

网络相关:io多路复用,select/poll/epoll对比,优点缺点?epoll内部原理实现?

tcp如何做到可靠性传输?

拥塞控制算法?说下每个算法的流程?

http和rpc的区别?ssl的机制?用了什么算法实现?

数据库mysql的索引原理?为什么用B+树,而不用B树、红黑树?说了这些数据结构的区别和原因..

音视频相关,分辨率、码率这些...这些我懂得不多....

有些题目忘了...

编程题,判断一个链表是否有环?并且找出环的入口位置?leetcode题目:环形链表 

但是他这里稍微变形了以下,要求返回pos位置而不是链表节点。做了十分钟写出来了。

反问问题:虾皮做跨境电商目前比较大的挑战?部门业务方向?新人培训等等....面试官一顿说好久.....

深信服一面        (2022.2.24)(46min)

做企业网络路由vpn安全相关的部门,面试官看起来年纪不大,下午四点开始

自我介绍免了...相反是面试官在介绍自己部门做的内容以及用的技术栈

问我做的是偏向哪个方向的,音视频和服务器架构?

问数组和链表的区别,详细说说

频繁插入删除查找时用哪一个数据结构?说了红黑树的原理以及使用原因

问了跳表,什么是跳表?跳表怎么往下一级查找?

详细说说内存中堆和栈区别和用法?

内存泄漏是什么?有没有遇到过?解决办法?

还有其他小问题忘了....

算法题

给几个ip字符串数组,里面会有重复,如何合并重叠的区间变成一个新的数组,一开始说的比较复杂,后来面试官简化了问题,变成int型数组合并。

最后反问几个问题

说过几天会有hr发消息通知结果,结束

总结的话感觉这次面试也还好,比我之前面试的都简单很多,对于原理性的东西问的不深,可能是面试官年轻,我怀疑里面有点坑哈哈...

富途一面        (2022.2.24)(70min)

互联网业务-IM与多媒体后端开发,做的是社区后台,有点像论坛吧。面试官年轻,讲话比较友善,整个过程还是比较轻松,有可能是面试多了我自己不紧张了吧。

开始面试官自我介绍以及他部门做的业务

然后自我介绍,全程没问我的项目细节

根据他介绍的部门业务,问了场景题,如果一个社区论坛上有人创建很多小号去发广告或者违禁的帖子,该怎么处理?可以想多种方案。我说了,注册账号开始限制,ip登录限制,登录短信或验证码验证,手机号限制,身份证实名限制,发帖时验证码,算法审核疑似广告内容,以及人工审核等等方案,但是面试官还继续问,还会一边记录,我怀疑面试官在骗方案哈哈哈....

问从浏览器输入一个网址,到页面展示的过程中发生了什么?都会经过dns解析吗?什么情况下不会?有没有自己尝试搭建一个web服务器?我公司的域名是怎么解析的?这个我答得不是很好,太深入的点没答上来。

编程题,对两个有序数组,取出两个数组的交集,一开始手写暴力for解法,然后分析时间和空间复杂度,然后要求优化,优化之后继续分析时间和空间复杂度,最后我又给了另一种用hash表的解决方案空间换时间。

出了一道概率题:100万人口的城市,河东这边有80万人,河西这边有20万人,若城市中每天打100万通电话,那么一个公民a(不确定是河东河西)他跨河打电话的概率是多大?城市一天当中大概有多少次跨河打电话刚开始有点懵,概率论的题大学之后就没接触过了,我胡乱一通分析....到现在我也不知道正确答案....

数据库mysql,问了主键索引、唯一索引、普通索引、组合索引、全文索引。唯一索引可以有空值吗?可以有多个null值吗?组合索引和主键索引的关系?面试官给出了一个table结构和一个查询语句问什么时候走回表什么时候不走回表查询?

反问环节,问了部门业务内容、部门规模、工作体验以及加班强度。

结束。

广州BIGO一面        (2022.2.25)(75min)

总部是广州番禺,部门是主要做短信验证相关的,小组五六个人,面试官很年轻,喜欢笑聊得也挺来。

惯例自我介绍

介绍项目,问了项目内容,遇到的难点,怎么处理?

我项目中服务器主从搭建时怎么同步?怎么处理业务逻辑,怎么保证业务的连续和不丢消息?给出了一些方案,问的还挺细的。

介绍stl,都有什么特性?vector扩容?map的底层?迭代器失效以及如何处理?

内存和cpu异常如何排查?内存泄漏怎么处理?cpu过载呢?

说说智能指针?为什么auto被弃用?

tcp三次握手流程?为什么需要第三握手?不发第三次会怎么样?

常用的数据结构和算法?

问了快速排序的原理?

大概记得这些....

算法题,共享屏幕手撕二分查找算法,差点忘记,写了十多分钟写出了while迭代的方法,用的左闭右闭原则,要求改成左闭右开原则...后面改出来了但我有点不太确定;

然后面试官要求再用递归的方法写出来,最后再改一个递归方法,找了一处错误就过了(粗心)。

面试官问有什么问题想问的,反问了几个问题,面试官对我的问题有点猝不及防差点答不上来...

结束。

总结:面试了这么多次,一来是能大概了解到目前行业中常用的主流技术和动态,二是自己在临场反应、口语表达和快速思考能力上有了很大的提升,而且面试过程中也越来越熟练和自信,对于不会的问题要及时总结和解决,继续加油~

百度一面        (2022.2.28)(32min)

智能驾驶业务部门,晚上七点开始,半小时就结束战斗了....亏我还紧张了好几天,疯狂看自动驾驶面经,面试没问多少.....感觉面试官有偷懒的成分,也可能是大量招人放低要求吧

自我介绍....(中间吹几波百度智能驾驶的技术嘿嘿...)

问我是否在职?跳槽原因?。。。(我早有准备)

问了上家和这家公司项目经历。服务器架构?如何提高客户端连接并发?

问了stl、c++基础,虚函数、纯虚函数、多态原理....

问红黑树,用哪种遍历方式更高效?说了一下我的看法,不知道对不对....

算法就是反转链表,迭代法和递归法

最后聊几句,反问几个问题结束,面试官说后面会有hr联系我.....

总结:问的有点简单了....有没有坑呀.....

深信服二面        (2022.3.1)    (20min)

面试体验不太好,面试官记错时间迟到20分钟,我打电话给hr去提醒才上线的

自我介绍

全程问项目,问的挺细,自己做的东西介绍起来没啥难度

问了离职的相关问题

时间很短,可能是面试官比较忙吧,但是迟到真的影响体验。

广州BIGO二面        (2022.3.2)(62min)

面试官看起来阅历还挺丰富,曾经在阿里云和百度待过。下午五点半开始。

自我介绍免了

直接怼项目,狂问细节,高可用、异常处理等等

c++基础就问了虚析构函数、纯虚析构函数?

网络方面问了服务器一直接收tcp连接会出现什么异常?

两道算法题:

两个有序的长度不相等的整型数组,找出两个数组的中位数?我的方案时间复杂度是O(log(n+m)/2),面试官问进一步优化方法?

设计一个函数并且计算在一秒内调用的次数如果大于k次那么就返回false,否则返回true,这个题有意思,写了一个方案之后被发现有点问题,然后和面试官讨论换另一种方案。

最后反问几个问题,说后面会有hr联系.....结束

腾讯一面        (2022.3.2) (124min)

找人内推的,腾讯瓦特实验室部门,做微信支付相关业务和沉淀的部门,偏向于全栈和分布式。面试官全程不开摄像头,确实和网上说的一样。晚上7点开始,连续面试下来有点吃不消,而且两个小时超久还饿着肚子。

自我介绍免了,上来直接给我甩出四道算法题,第四题是后面加的,我做了一个小时还加上调试,没有完全做完。

第一题:一个有序的数组,找出这个最大的连续递增序列,需要返回最大长度以及这个序列的初始位置。我用迭代法去做加调试花了较多时间,结果还没有,面试官说用db(动态规划)的方法该怎么做?我说了以下我的思路,因为db这块我不够熟练,不敢写,有待加强。

第二题:LRU缓存淘汰算法,leetcode原题:LRU缓存淘汰算法,需要实现get和put,这个还算简单,过了。

第三题:设计题,设计一个中国象棋游戏的框架以及各个对象的属性和方法,比较开放性。时间有限我就写了棋子基类和属性以及不同棋子如何继承和实现,感觉内容有点多写了一些就放弃了。

第四题:后面加的题目,写一个二分查找算法,包括迭代法和递归法、以及注意边界判断、整数溢出等问题,这个之前不久刚写过,写的还是比较快的。

然后开始问工作经历,上家工作做什么,这家工作内容?怼项目细节,然后增加新的需求该怎么做?比如我的服务高并发如何实现?网络io多路复用?Reactor 模型和Proactor模型的区别?这个之前有看过,大概说了以下。

redis的主从同步?如何实现分布式锁的?

分布式CAP定理?简单说了一下,这块我不是很熟,毕竟业务都用不到....

问所具备的技术栈?客户端开发做过吗?我说做过,最近在做window Qt开发会议客户端。

还有一些问题不太记得了....

最后反问几个问题。

总结:这是面试过最长的也是最难的一次,跟字节难度差不多。一开始就做几道算法题,有点懵思路很难打开,而且面试官没开摄像头漏过脸,察觉不出面试官的表情和状态,让我有种无形的压力,就像我在明处而敌人在暗处。其实我也没想着能通过,只是积累一下经验罢了,确实是国内互联网公司面试的高难度了吧。可能对于大佬来说这些问题没啥....

深信服三面        (2022.3.3)(40min)

三面是hr面试,约的晚上七点电话面试。

自我介绍,工作内容,跳槽原因,自己的优缺点,遇到的问题,性格,和同事的关系,有成就感的事情,是否单身,工作后有什么成长和不足。这些问题只要不答得太离谱,不要暴露致命缺点就没啥吧,当作唠嗑。

hr介绍了深信服的上班时间,加班强度,说是周一二四加班到八点半,其他时间是六点,每个月第一个周六上半天班其他双休,大部分是要加班的,基本会比规定时间晚1~2小时下班,看部门以及产品新版本上线情况吧。

介绍了薪酬福利,薪资结构,问了我的期望薪资和范围,说我的期望涨幅有点高.....

最后说这几天要做一个性格测试问卷,结束。

百度二面        (2022.3.5)(53min)

智能驾驶业务部系统c++工程师岗位,面试官上来直接坦白,部门工作强度、加班还挺多早10晚10-11,周六项目进度赶的话需要加班,这一套操作把我吓傻了....

面试官先聊了二十分钟部门的工作情况,做的是智能驾驶系统量产,L2+的一个等级

对于新人培养方面,会有一些培训,部门更看重员工的价值输出,进来就能上手项目,而不是学习.....(说白点就是压榨最大价值吧)

问我前两家工作时间还不长,为什么选择跳槽?对这个行业的看法?

问我的工作内容?项目细节?服务架构和组件的选型?

没有问太多语言基础的东西

反问几个问题

总结:这是一次心态糟糕的面试,对于周六加班和工作强度我有一些抵触,面试官开场白也太坦诚了让我对这个岗位产生动摇....也不是不能加班,而是加班强度超出我的承受范围。

 类似资料: