字节IES研发面经-22年秋招提前批(内推码N1WAG2U)
本人去年上岸字节IES研发(影像部门)的客户端开发岗位,base广州,最近刚刚入职,体验非常好!
现在2022年秋招提前批已经开始,学弟学妹可以使用我的内推码(N1WAG2U),提前批免笔试,使用我的内推码,可以私信我咨询实时面试进度。
首先附上去年的面经,最后附上投递方式和推介岗位。
面经
欢迎大家投递客户端岗位,零基础也可以投!本人技术栈是c++,一开始投递抖音的后端开发,二面算法题卡壳被刷。由于实习经历加分,被调岗到客户端,面了三面,基础题答得一般,但是算法题不难,全都写出。
以下五轮面试经验,每次都有自我介绍和实习项目介绍。
一、后端一面
TCP和UDP相比,如何保证可靠性。除了常见的五个,还要考虑校验和
TCP拥塞控制
TCP四次挥手,为什么需要2个MSL
epoll和select的区别
栈和队列
priority_queue的底层实现
堆的特性
算法题 两个栈实现队列、最小栈,都是白板写代码
智力题:洗牌算法,并用数学证明
二、后端二面
TCP四次挥手的原因
进程和线程的区别
什么是死锁,死锁的四个条件,如何解除死锁
用户态和内核态,怎么判断在用户态还是内核态
操作系统是如何发送信号给进程的
vector的扩容机制
迭代器失效的原因
内存四区分布
算法题:
写两个进程,交替打印1-100
有点像三数求和。给定一个一维正整数数组和一个整数k,从n中任意取三个数,如果和为k,就是一个解,求所有解的集合。
实现sqrt函数,精确到小数点后三位。
智力题:掷硬币,第一次连续抛出正面的概率。或是平均需要抛多少次硬币,会出现连续的两次正面。
三、客户端一面
C++ const static inline用法;static ,静态方法用法;inline,在什么阶段展开函数,编译还是运行
编译的过程,编译完成什么内容
虚函数和纯虚函数
虚函数表,一个派生类自己定义了一个虚函数,是否出现在它的虚函数表里面
虚函数表的内存分布
智能指针,智能指针的释放,底层是如何实现的
多进程和多线程,多线程,一个线程挂了,为什么整个进程挂了
什么是套接字,和TCP\UDP的关系
虚拟内存的理解
TCP和UDP 为什么三次连接,四次释放
线程也有资源,可为什么进程才是资源分配的单位
编译的过程,编译完成什么内容
虚函数和纯虚函数
虚函数表,一个派生类自己定义了一个虚函数,是否出现在它的虚函数表里面
虚函数表的内存分布
智能指针,智能指针的释放,底层是如何实现的
多进程和多线程,多线程,一个线程挂了,为什么整个进程挂了
什么是套接字,和TCP\UDP的关系
虚拟内存的理解
TCP和UDP 为什么三次连接,四次释放
线程也有资源,可为什么进程才是资源分配的单位
算法题:一个无序数组内,设计一个算法判断是否这个数组重新排布以后,可以做到相邻的元素都不相同,数组长度500以内。
四、客户端二面
http协议相关知识,gets posts之类
TCP三次握手,四次挥手
B树和B+树
哈希表
数组和链表
数据库事务的特性
索引,索引的底层实现
红黑树
虚函数表
TCP三次握手,四次挥手
B树和B+树
哈希表
数组和链表
数据库事务的特性
索引,索引的底层实现
红黑树
虚函数表
算法题:判断两个链表是否有交点,找出第一个交点 。要自己建立输入数据,建立两个链表,把两个链表交在一起。
五、客户端三面
基于实习项目展开题问,grpc基于什么,http2.0和http1.0的区别,用过什么抓包工具。
C#和C++的区别,深入展开
算法题:-2 -3 1 4 -5 6. 稳定的排序,把负数排到左边,正数排到右边。
投递方式
下方链接搜索"抖音"进行投递,内推码【N1WAG2U】
【推荐岗位】
后端开发工程师-抖音/抖音火山版/直播/影像(https://jobs.toutiao.com/s/eggnw8e)深圳
客户端开发工程师-抖音/抖音火山版/直播/影像(https://jobs.toutiao.com/s/egggV7W)深圳
客户端开发工程师-抖音/抖音火山版/直播/影像(https://jobs.toutiao.com/s/eggTSuk)广州
后端开发工程师-抖音/抖音火山版/直播/影像(https://jobs.toutiao.com/s/egGqFMJ)三亚
客户端开发工程师-抖音/抖音火山版/直播/影像(https://jobs.toutiao.com/s/eggGUqL)三亚