当前位置: 首页 > 面试经验 >

一周速通字节,抖音直播后端面筋分享

优质
小牛编辑
61浏览
2024-10-21

一周速通字节,抖音直播后端面筋分享

#牛客在线求职答疑中心##实习##晒一晒我的offer#Timeline:
国庆后准备找实习,刚好有个hr问我投不投秋招,我就把简历给她让她帮我投实习了(不是应届毕业生)
一面:10.14 周一
二面:10.17 周四
三面:10.18 周五
oc:10.20 周日
offer:10.21 周一
吹爆这个部门的效率,效率极高!
岗位是抖音直播服务架构
一面:
1、ES为什么实现近实时搜索?
2、在查询页表前面一步是什么?程序运行到内存的过程是什么?
3、mysql和其他选型的区别?(sql server、sql lite)
4、smtp协议头部有哪些字段呢?你会怎么设计?
5、熟悉什么应用层协议?给我讲一下HTTP 1.0、1.1、2.0、3.0都有什么更新迭代?3.0基于UDP实现了哪些功能?为什么要从TCP转成UDP呢?2.0的多路复用是怎么实现的?
6、mysql事务有哪几个模式?为什么要有读未提交这个状态?这个模式在哪些场景可能会用到呢?
7、给我介绍一下ES里面broker、Partition、topic他们之前的关系?如何保证数据不会被丢失呢?一个消费组里面的消费者可以消费多个Partition里面的消息吗?
8、TCP的三次握手,close_time、wait_time相关,TCP如何实现流量控制的?滑动窗口是干嘛的,如果客户端发包不管滑动窗口会发生什么?
9、算法题:给n个数字,求他们的最大公约数
二面主要是一些简单的:
1、JVM的内存模型,每个部分负责什么
2、mysql主从复制数据同步的具体流程
3、synchronized和Lock的区别?Lock里面常见的有哪些?ReentrantLock底层是怎么实现的,关键的数据结构是什么?AQS是怎么设计的?CLH里面的结点有哪些状态?ReentrantLock是公平锁吗?synchronized是公平锁吗?为什么当初设计的时候synchronized要设计成非公平锁呢?
4、Zset的底层数据结构,查询复杂度,为什么Zset要使用跳表而不使用B+树?
5、数据结构学过什么,给我讲讲大根堆、小根堆是怎么维护的
6、java的动态代理有哪些?JDK、CGLIB有什么区别,他们是怎么实现的?他们具体的增强过程是在编译期间完成的还是在运行期间完成的?
7、java是编译型语言还是解释型语言?.java编译完之后是编译模式还是解释(都有,主要是解释,还有JIT)?为什么java要这样设计?为什么不直接设计成解释型语言呢?(因为这样就得每个系统构建单独的解释器)
8、算法:一个链表,单索引是递增的,双索引是递减的,请对它进行排序,要求O(1)空间复杂度也就是就地转换
三面我记得还有一些:
1、ZSet的底层数据结构是什么?查询一个数的时间复杂度是多少?范围查找的复杂度是多少?
2、Redis为什么那么快,介绍一下redis的单线程模型,reactor模式
3、现在我想要实现这一一个功能:一个线程创建多个子线程,然后等这些子线程结束了,这个线程再返回,用java如何实现?
4、HashMap是可并发的吗?在并发情况下会出现什么问题?形成环链表的具体过程是怎么样的?那么为了实现并发是用什么数据结构呢?ConcurrentHashMap的底层原理是什么?为什么要从头插法改成尾插法?
5、场景题:现在我有多个定时任务,想要去监控他们,等他们都完成了再进行某些操作?(我理解是涉及多路复用,就往那边答了)
6、多路复用的实现原理,java里面有哪些常见的?select、poll、epoll有什么区别?哪些支持水平触发、边沿触发?水平触发和边沿触发的区别是什么?
7、手撕:字符串相乘,leetcode43
其他主要是项目的拷打,感觉面试官还挺喜欢我这个项目,一面问的特别深(涉及到具体怎么数据分块、几个接口的具体存取效率)二面主要大概了解设计的思路,三面则更关注在架构、整体性相关的问题
面试经历方面主要是大概介绍下,可能因为项目占比长了实习没咋具体的去问
 类似资料: