字节 百度 腾讯 网易互娱 猿辅 shopee 等秋招面经

😶记录下个人的秋招提前批面经,大概正式批就不面了

字节跳动 抖音 后台开发(共四面)--意向书

一面
1.介绍项目
2.介绍redis的底层数据结构(项目中提及)
3.介绍redis中zset的实现
4.介绍ACID特性
5.介绍OSI七层模型
6.问路由器在OSI七层模型中的哪一层
7.算法题。给定m和n,输出从1~n中任意多个数字,且和为mu的组合(数字不能重复使用)

二面
1.算法题(求第n个丑数,leetcode原题,难度mid)
2.介绍项目(前面的面试官有记录,所以就顺着记录接着问)
3.数据库题,给两个table,问left join、right join和inner join的结果

三面
1.数学题,54张牌,三人斗地主,问一个人同时拥有大小王的概率(注:地主有20张牌)
2.算法题二选一,第一题是求开根号n的值,第二题是输出交错后的链表(比如链表a-b-c-d-e,交错后输出为a-e-b-d-c)
3.反问

四面/加面
1.自我介绍
2.问项目
3.情景设计,如何设计出类似百度搜索这样的搜索补全功能?大概说思路
4.因为我之前回答搜索补全时都是基于前缀的搜索,又问如果不是前缀时该怎么办
5.提问
6.问感兴趣的方向,什么让自己有成就感?

总结
因为之前有面试过字节的实习,这次秋招给我的感觉不算特别难,从算法题的难度都有所下降,基础问题的部分增多(实习时的岗位是客户端开发,更多问及C++语言特性相关)。
总体来说,字节的面试难度属于中上,除了好好背书外也要多刷一些题,个人感觉easy~mid足够了。


Tp-Link 软件开发 后台方向(共三面)--意向书

一面
1.问项目
2.指针和引用的区别
3.介绍一下虚基类
4.常量指针和指针常量有什么区别
5.提问

二面
1.做题,求一颗二叉树最大路径和
2.智力题,2个鸡蛋,100层楼,要测哪一层刚好不碎,要试几次(高楼扔鸡蛋问题,实际是一道hard的DP)
三面(在hr面之后)
1.问项目
2.问一些发散性的问题,比如个人职业规划、如果项目进展有问题该怎么办之类

总结
TP的bar总体来说是比较低的,不过类似二面这样的技术面也不能毫无准备,还记得当时是从一个word的题库里找题给我做的哈哈哈


百度语音 C++开发

一面
1.介绍项目
2.介绍实习经历
3.C++和C有什么区别
4.介绍一下面向对象
5.详细介绍下封装、继承、多态
6.介绍一下虚函数的机制
7.new和malloc有什么区别
8.堆和栈有什么区别
9.手写一个单例模式
10.手写一个智能指针
11.手写一个字符串拷贝函数
12.反问

二面
1.介绍项目
2.介绍在蚂蚁的实习经历
3.项目使用了哪些C++框架吗?
4.项目中各个模块是怎么通信的?
5.redis的发布订阅机制是怎样的?
6.项目用的多线程,还是多进程,好处分别是什么?
7.项目有没有可以优化的地方
8.手写单例、矩阵运算工具类
9.反问

三面
三面没有问技术内容,主要是针对项目内容进行了很久的讨论(大概一小时)。

总结
百度的面试难度和AT差不多,侧重点还是非常多的,从基础知识到语言方面(百度主要是C++和go)都有涉及。

新浪微博 广告部 C++开发 意向书

一面
1.自我介绍
2.介绍C++11的新特性
3.介绍STL中的vector、list和map的底层实现以及应用场合
4.TCP的timewait发生在什么时候以及作用
5.如果服务器中有大量的close_wait的端口,原因是什么,怎么解决
6.线程和进程的区别
7.进程间通信的方法(IPC)
8.linux下怎么查看内存和cpu的使用率?
9.linux中交换分区有什么用
10.各种排序算法的时间复杂度
11.手写快排

二面
1.自我介绍
2.问项目
3.了解反向传播算法吗(项目提到炼丹了..)
4.了解ReL和Sigmoid的区别吗
5.设计题,设计一个搜索推荐的去重系统
6.反问


三面(业务终面)
1.自我介绍
2.项目介绍
3.针对项目提问
4.介绍计算机的内存管理
5.为什么要引入虚拟内存
6.反问

hr面
1.对未来职业发展的规划
2.选择工作时考虑哪些因素,优先级如何
3.期望薪资

总结
微博面试的难度算是中间一档,可能相比国内大厂,面试流程没有那么规范,预约基本都是提前一点点时间发短信的,
😂当然作为面试练手还是不错的选择。

腾讯 PCG 搜索 后台开发-意向书

一面
1.介绍项目
2.介绍C++11、C++14、C++20
3.线程和进程的区别
4.线程的私有内容
5.进程间通信有哪些
6.介绍TCP三次握手
7.为什么TCP要三次握手
8.算法题,一个字符串,假设空足够,将其中所有空格替换为"%20",要求不开辟额外新空间
9.算法题,说思路,100台机器,每台机器上10亿个数,求里面最大的100个数
10.介绍一下协程
11.介绍io多路复用
12.介绍select和epoll
13.提问(我说以前实习面过了,就不问了wwww)

HR面
hr面基本都是一些流程上的问题,比如自我介绍,对未来的职业规划,遇到的最大挫折,然后是对于薪酬的期望之类。


网易互娱 SP专场--意向书

一面
面试前先做一题算法题,大概是有很多条记录,每条记录都有一个killer和被killed的id,每个月都要奖励kill数前K的玩家,要求在O(NlogK)的时间复杂度、O(N)空间复杂度的情况下输出结果。

1.项目介绍
2.为什么C不支持重载
3.C++虚函数的底层机制
4.C++11常用的特性
5.介绍一下lambda,有没有考虑过怎么实现的?
6.在一般的库里NULL是怎么定义的
7.介绍一下GOT
8.比如当前一个程序会输出“hello world”,哪里涉及到了GOT?
9.考虑当前helloworld程序是在main里输出这句话的,怎么样不修改main函数,在输出helloworld之前输出“foo bar”?
10.算法题,给定0~9的英文OneTwoThree...这种的字符串,将其完全乱序,怎么还原其中的各个数?
11.有游戏经验吗?喜欢哪些类型的游戏,介绍一下
12.反问

二面
1.自我介绍
2.谈一下为什么想要从事游戏行业(大概是谈了非常久)
3.为什么喜欢3A游戏,觉得3A游戏和其他游戏有什么区别?
4.对于自己未来的规划是什么?
5.1000万个用户,设计一个实时排名系统,让每个用户都可以查询到自己的当前排名
6.如果让我来做3A游戏,可能遇到的最大困难是什么?
7.怎么看待游戏的商业化?
8.觉得自己的优点和缺点是什么?
9.反问


8.14终于收到意向书,等了两周了😂

总结
网易互娱的难度算是中规中矩,可能因为是sp专场,比之前实习面试难度更高一些。我觉得如果对游戏行业确实比较热爱的话,
自身又有基础的技术能力,互娱的难度还是不高的。

Shopee 新加坡 后端-意向书

一面(90分钟)
1.手撸哈希表(不能用现成的库或者容器比如vector)
2.添加hash冲突解决的feature
3.添加动态扩容的feature(预设装载因子,rehash)
(以上大概撸了50分钟...)

接下来就是老八股了
4.C++中堆和栈的区别
5.C++中unordered_map和map的区别
6.线程和进程的区别
7.介绍虚拟内存
8.线程有私有空间吗
9.进程间通信方式有哪些
10.HashMap怎么避免冲突,有哪些方式?
11.TCP三次握手,四次挥手
12.MySQL的四种隔离级别
13.提问

二面(90分钟)

1.算法题,一个数组,输出组合出的最大数
2.数据库用的多么?用过哪些
3.消息队列用过么?
4.protocol和json有什么区别?
5.分库分表知道么
6.设计一个id的generator(基于分库分表)
7.怎么解决重复读的问题?
8.其他一些数据库问题,记不太清了。。
9.反问

...这面算是血崩,数据库和消息队列的技术栈基本都没接触过。。但是居然过了😂😂

三面(60分钟)
1.介绍下http建立连接的过程
2.http和https有什么区别?
3.https和http是谁来选择的?
4.有做过web开发么
5.之前项目用的是什么通信协议
6.tcp重传机制介绍一下
7.之前项目的数据封包是怎么做的?
8.服务器要怎么存储敏感数据?
9.设计题,设计一个一定时间内,如果用户请求次数超过一定数目,就将该请求拒绝的服务
10.设计题拓展,如果有多台服务器来处理,而且时间限制很小的情况怎么做?

四面(60min)
这面是因为先前部门的三面挂了,给了第二次面试的机会,继续走了一次终面
1.英文交流了一下简历和项目(...体会到了单词量的匮乏)
2.设计题,情景大概是设计一个问答系统,问题有很多中类型,每种类型的答案形式不同,每个学生答完后会有一个submission,另外还有一个mark接口能够
对submission进行打分,设计出其中必要的类还有方法。
3.反问

四面总结:
shopee四面的面试官让人体验好了不少,交流过程一直有反馈和互动,先前的面试官像是一个无情的提问机器。😂

HR面
1.英文自我介绍
2.之前实习有什么收获?
3.在蚂蚁和在微软实习有什么不同?
4.对未来工作城市的选择,为什么选择新加坡base?
5.问已有的offer和定级情况
6.期望薪资
7.觉得自己有什么优点和缺点?
8.觉得自己有什么需要提升的地方?
9.反问

update 10.9 等了三周多终于等到意向书了

猿辅导 服务器端-意向书

一面
1. 项目介绍
2. 计算机基础问题,介绍中断
3. http服务的GET和POST有什么区别?
4.数据结构中,线性数据结构和非线性数据结构有什么区别?
5.算法题,一组数据,比如{3,30,4},要求输出最小的组合,比如“304”
6.算法题,给定m,n,输出1~m*n的螺旋排列(递增)矩阵,矩阵大小为m*n
7.反问

二面
1.项目介绍(15分钟)
2.介绍下了解的Redis的特性
3.介绍下Redis的发布订阅机制是怎么实现的?
4.如果在发布订阅时,订阅者断线了怎么办?
5.项目中提及的“保证连接可靠”是如何实现的?
6.算法题,给定一个字符串,求字符串中所有数的和(考虑各种边界),比如"AB11C2DE5"结果是18
7.算法题,给定一个无序数组,输出前K个最大的数
8.找到第n个丑数(丑数可以被a或者b或者c整除的正整数)

三面(聊天为主)
1.项目介绍(25分钟)
2.实习经历里觉得收获最大的是什么(10分钟)
2.算法题,给一个链表比如7-1-3-2-5-5-NULL,返回两两相加后的链表,比如这里是8-5-10-NULL
3.反问

四面(交叉面)
四面面试官开口说自己是猿辅导的联合创始人的时候。。。震惊了。。。

1.项目介绍(30分钟)
2.详细描述shell执行一个程序的过程
3.算法题,不用递归的方法写归并排序
4.反问

总结
猿辅导共计4轮面试,每一轮都有1~2算法题不等,目前来看难度不高,大概都是lc中等以下,面试官可能更侧重于项目和实习经验,
并且会以此来考察思维高度、技术能力,所以好好准备项目也是非常重要的。另外,根据最后一轮的面试官的说法,他们认为服务器端基础知识
扎实最为重要,比如网络、操作系统、编译原理等等。语言技术栈不是很关键。


快手 C++方向

一面(60min)
1.项目介绍
2.问实习经历,在蚂蚁和在微软做的具体业务
3.了解智能指针吗,常用的智能指针是什么,底层实现是怎样的?
4.算法题,返回一个字符串中最长不重复子串的长度。我用的是滑动窗口,所以面试官又让我在滑动窗口的基础上优化窗口更新的复杂度
5.算法题,打印螺旋矩阵
6.反问,提及到以前接触过一些视频编码的东西

二面(血崩..居然过了?)
1.项目介绍
2.手写一个内存管理器,要求能分配、申请内存,同时保证2^k对齐,只用malloc和free

hr面
1.问对之前面试的评价
2.觉得之前面试有哪里感觉好的和不好的地方
3.对音视频这块有接触吗?
4.对在蚂蚁和微软实习,觉得两家有什么区别?
5.问如果让我来当面试官,我会怎么提问
6.未来职业规划如何
7.反问

华为 智能车云

因为实习面过的缘故,跳过一面

二面
1.项目介绍
2.问项目里如何实现防止TCP粘包
3.nagle算法是怎么实现的?
4.C++中用迭代器遍历map时,如果遇到要删除元素该怎么做?
5.在实习中成就最大的事是什么?
6.实习中有没有深挖一些接触到的技术栈?

三面(业务主管面)
1.项目介绍(30分钟)
2.以往遇到的最大困难是什么,是如何解决的
3.觉得在公司里最不能接受的是什么
4.为什么选择我们部门
5.反问

目前面试状态全部通过,应该就等审批了


米哈游 游戏研发

一面
(没有自我介绍,开门见山式地提问)
1.介绍一下散列的概念
2.如何避免冲突?
3.散列和数组有什么区别?什么时候用散列,什么时候用数组?
4.C++里的OO特性用的多吗?举例一下
5.观察者模式是怎么实现的,项目里有用到吗?
6.单例模式是什么?有什么好处?项目里有用到吗?
7.29的2进制和16进制是什么样的?
8.算法题:一个无序数组,找出其中位数,时间复杂度是多少?
9.图形学题,给定一个玩家的位置向量,以及其面向方向的向量,还有敌人的位置向量,如何求敌人相对于玩家的位置?
😂😂😂#秋招##腾讯##百度##字节跳动##猿辅导##快手##Shopee##网易互娱#
全部评论
字节都是四面了吗
1 回复 分享
发布于 2020-07-17 18:09
请问楼主,腾讯的提前批是啥时候开始的。是跟实习面试一样,提前批免笔试吗?楼主是一边暑期实习一边秋招面试嘛😀这么多轮面试,实习那边都要请假参加嘛
点赞 回复 分享
发布于 2021-04-07 22:30
请问下lz面的抖音是互娱研发那个吗?
点赞 回复 分享
发布于 2021-03-23 22:54
楼主之前是在蚂蚁实习吗?
点赞 回复 分享
发布于 2020-08-27 21:26
楼主互娱怎么样了?
点赞 回复 分享
发布于 2020-07-29 18:39
学长,那个字节好像没怎么问cpp相关啊
点赞 回复 分享
发布于 2020-07-29 18:03
为啥腾讯是一面啊
点赞 回复 分享
发布于 2020-07-29 18:00
楼主,新浪什么时候二面的?我周一一面结束就没动静了😂
点赞 回复 分享
发布于 2020-07-23 13:03
楼主现在也是微软实习摸鱼+准备秋招么
点赞 回复 分享
发布于 2020-07-19 22:36
楼主面试的算法题都写出来了吗,有些好难啊
点赞 回复 分享
发布于 2020-07-19 01:03
问一下开根号n要求是整数还是小数啊
点赞 回复 分享
发布于 2020-07-16 17:48
吸一吸lz欧气
点赞 回复 分享
发布于 2020-07-16 16:40

相关推荐

04-22 23:15
中南大学 Java
时间:4.21公司地点:北京时长:52min做了一些简化,提取了更有借鉴价值的部分1. 部门介绍2. 自我介绍3. 这两个项目你觉得哪个项目复杂度高一些,可以多聊一会4. 你这个项目主要是想解决什么样的问题呢5. 你刚才说这些方法的话,应该说也是社区内或者说比较常见的一些处理方式了,对吧?我都或多或少都能get到,但是我有一个问题,就是**你做这件事情之前,就是每一个技术的应用之前,你有没有去验证这个技术确实提升了准确率呢**6. 我们的这些处理方式是否真正的真的提升了它的准确率。就是我们只是堆砌技术,还是说我们确确实实是提升了这件事情?7. 你这一知识库当时怎么选的?你做的知识库是什么类型的知识库?8. 那你这知识库里面涉及了哪些方面的内容?比如说文学类的,还是什么科技类的?是什么航天类的等等?有没有就说具体一些?9. 那你这个博客内容写的多吗?10. 那如果14篇文章的话,而且你这14篇文章看起来所涉及的范围是比较发散的,那么在这种情况下,其实这个rag的检索本身就不容易出现,刚才说的那个检索有问题的情况,这可能本身就不是个问题。11. 在我们去真正去做一件事情这的处理的时候,其实我们还是应该先去有一个度量的标准,不然我们优化可能是负优化,我们都不知道对吧?就是说我现在要做 rag 检索。我要去先做一个度量的方式,然后去验证它的准确率,你应该怎么做?12. 你怎么判断问题回答是准确的13.那么我怎么看到线上的这些回答的准确率呢?14. 有必要搞多级缓存吗15. 好,那首先就多级缓存来说,你觉得,它有什么弊端,还有它有什么优势?这个讲一下。16. 我有一个问题,首先其实我们一般认为 redis 它的那个吞吐是非常高的,而且如果说我们比如说数量很大,Redis 它也是支持那个多节点对吧,比如说…… 不管是哪种方案吧,Redis 也可以支持多节点的这种部署,所以在这种情况下的话,我们认为 redis 从网络压力这一块是没有太大问题的。那么在你看来,有了 redis 的话,我们还要去引入本地缓存的主要目的是什么?因为刚才你说的只是为了减少网络开销。 但是现在我们实际的生产环境中 redis 的是网络开销 其实是没什么太大的问题的。你应该明白我的意思,就是 redis 网络开销不是它的核心问题,就是我为什么非要引入本地缓存17. 我看后面你还自己写过两个 SKILL 对不对?能具体展展开一个就是你可能平时,有没有平时用的比较多的,我想知道不是那种为了写而写的那种,就真正能解释你生活中问题的那种 SKILL18. 你最近面试多吗?19. 那八九场的话,就是你觉得你做的自己就是面试,就是相当于面试自己的这种 Skill 和你真正去面试中拿到的面试题,它相似度高吗?>我是我当时了解到,主要是主要是因为网络开销的问题,进一步提升响应速度20. 说实话 redis 并不存在很大量的网络开销问题  对不对?21. 我看后面你还自己写过两个 SKILL 对不对?能具体展展开一个就是你可能平时,有没有平时用的比较多的,我想知道不是那种为了写而写的那种,就真正能解释你生活中问题的那种 SKILL22. 你最近面试多吗?23. 那八九场的话,就是你觉得你做的自己就是面试,就是相当于面试自己的这种Skill和你真正去面试中拿到的面试题,它相似度高吗24. OK, 那你觉得你这个 SKILL 有没有帮你解决到一些实际面试中的问题,有没有确实命中的一些面试中的一些真正的面试题25. 对你来说,现在比如经验完经历完这场面试之后,你觉得你的 SKILL 应该如何提升呢?26. 你理解什么叫 CAS?27. 那它和悲观锁有什么不同?那首先第一个问题就是纯靠CAS就能解释就能实现这个乐观锁吗?28. 解释一下volatile的这个关键字的目的和作用29. 既然我们提到了CAS操作就一定能保证。并发更新的安全性了。那么我们为什么还要用 volatile 去修饰这个变量呢?这不多此一举吗?30. 好,那继续问 CAS 里面会有什么问题?就它会有什么其他的什么问题呢?31. 你了解 CAS 的 ABA 问题吗?32. 讲一下怎么解决就可以了33. 那现在回到这儿来说就是有乐观锁和悲观锁两种锁,对不对。那么,我什么时候要选择乐观锁?什么时候要选择悲观锁?你看,我们知道 JDK 里面 synchronized 的关键字是悲观锁,对吧?而 ReentrantLock 是个就是这种我们一般认为是 CAS+volatile 这种乐观锁的方式那么这两种方式的话,你觉得我们在应用中。什么情况下会采用乐观锁?什么时候要采用悲观锁?34. 为什么?35. 这个我知道好,那现在问一个问题 就是说,既然高并发情况下用悲观锁就很好,那我无脑用悲观锁不就完了吗?就是既然说。乐观锁有就是说并发高了,它就不行,自选浪费 CPU,对吧?那我无脑用悲观锁,不就 OK 了吗?不挺好的吗?36.那还有一个问题,就是我们刚才说的这些并发的处理的方式。都是基于一个理念叫共享内存,对吧,相当于都是无论是悲观锁还是乐观锁,我们都相当于是要在对象上加锁,然后限制一些线程的进入和退出,对不对。 那么有没有别的方式照样可以实现并发更新的?并发更新的这样的一个方式,就除了共享内存方式,还有没有别的。比如说或者说我这么说吧,就全世界上处理同一个数据的多线程更新的这个问题,只有乐观锁和悲观锁两种方式吗?是非阻塞不能处理吗?因为不管是哪个锁,其实都会进入到一个阻塞的状态,对吧?必须是通过阻塞的方式才能搞实现多线程对同一变量的更新吗?37. 手撕环节:[电话号码的字母组合](*******************************************************************)48. 反问环节
查看30道真题和解析
点赞 评论 收藏
分享
评论
11
134
分享

创作者周榜

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