字节 百度 腾讯 网易互娱 猿辅 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##网易互娱#