面经
面试岗位:字节-抖音后端开发golong实习面经(北京)
背景资料:普通本科
一面
业务面
常用的数据结构
什么是堆
树都有哪些。
红黑树约束条件。
说一下b+树
图有哪些
图的操作有哪些
图判断是否有环
并行并发区别。
进程的状态有哪些。
状态之间的转换。
进程线程区别
为什么进程切换比线程切换代价大
进程间通信方式
网络分层结构
链路层协议(不了解)
网络层协议
说一下arp协议
arp怎么找到具体网卡(局域网广播)
如果局域网没招到会怎么样(不知道,大佬解答一下)
应用层协议哪些
ping具体说一下。icmp协议是那一层协议。
tcp三次握手。
go的slice和数组区别,什么时候用数组。
slice的扩容机制。
slice底层数据结构
线程和协程切换
说一下什么是内核态什么是用户态。
算法题:二叉树公共祖先
反问(我太笨了,说没什么问的,导致最后面试官主动给我介绍了一下部门信息,大家一定要问些问题)
二面
leader面
b树b+树区别,为什么b+树
mysql事务特点acid
redis数据结构
redisrehash
zset的zrange时间复杂度
redis持久化
堆,栈,内存管理
udp和tcp区别
tcp怎么保证可靠传输
流量控制和拥塞控制区别
linux怎么查看端口是否占用
算法题二叉查找树变双向链表
网络分层结构
三面
leader面
用的什么微服务(go-micro),又问还了解其他微服务吗(不了解)
grpc
微服务具体怎么用。
etcd是什么,什么原理
etcd怎么实现强一致性(raft)
redis常用数据类型
zset底层,跳表查询时间复杂度
redis线程模型
登录怎么实现的(我的是session)
讲一下epoll
水平触发和边缘触发区别
算法题:
两个有序数组找第k大值(没做出来,换了道题)
二叉树路径和等于target的路径
8个小球,其中一个质量小,一个天平,问最少几次可以找出。(2次,可以先说3次的思路,再优化为两次。
docker介绍一下
怎么把项目打包到docker的,
怎么进入docker容器,dockerexec-it
项目中密码怎么存储的,md5,介绍下非对称加密
扯到