小红书 —— 直播后端 笔试、一、二、三面 —— 三面挂
笔试(2h)#
1.给你一个01数组,你必须要翻转一次,问你翻转之后能得到的最长连续1的数组长度#
ps. 用类似求最大连续子数组的思路,把0当成-1,O(n)扫一遍求最大值即可
2.给你一个n*m的矩阵,你从左上角出发,只能往右或者往下,有k个地方不能走,问你走到右下角有多少走法,对1e9+7取模#
ps. 虽说n, m <= 1e5。但是居然用1e4*1e4的flag数组标记不能走的位置,之后n * m,跑数字三角形就好了。数据有点水,但是为了符合空间范围还要用滚动数组优化上述过程。
3.给你一个数组,q个询问,每次问你 [L, R] 的最大值 - 最小值是多少。#
ps. 静态查询区间最大最小,线段树或者st表都可以
一面(50min)#
1.自我介绍#
2.简单说说你的tinywebserver的项目#
3.测压的报文是什么样的#
ps. 没好好看那个测压程序的原理。这里答得不是很好。
4. Reactor的构成, Reactor是什么#
5. Reactor的模式有哪几种#
ps. 这里有点忘了。就只答了主从reactor
6. 阻塞和非阻塞IO#
7. select、poll、epoll的区别#
8. 用户态和内核态#
9. 用户态切换到内核态保存了什么#
10. 什么是中断#
11. 有哪些可以出发中断#
12.硬中断和软中断是什么#
ps.这个我倒是不知道。好菜啊
13.tcp三次握手,从状态机角度讲#
14. http和https区别#
15. 中间人攻击是什么#
16. 如何预防中间人攻击#
17. Mysql索引怎么实现的#
18. Mysql为什么要使用b+树呢?跳表不行吗#
ps. 主要我不是很清楚跳表。答得不是很好
19. 你有了解过MySQL索引优化吗#
ps. 我好像当时忘记了。答得是mysql调优。
20. case: 你有一张表。里面有各种员工信息。你要怎么去建索引优化查询"大于二十岁的男性"。#
ps. 因为我不是很了解联合索引,所以就答了对年龄建索引。只能说误打误撞,这确实是对的。但是面试官想听的是我对各个索引对这个场景的应用。
20. case: 你有一张表。里面有各种员工信息。你要怎么去建索引优化查询"大于二十岁的男性"。#
21. redis学过吗#
ps. 最近还在学。先pass了
22. 手撕代码: 求有多少段连续的子数组,他的和能被k整除#
ps. 就用map去存所有前缀%k, 之后每次加上map里的统计值就好了。
23. 可以过来先实习吗?什么时候能来?#
24. 技术岗是java。能转的嘛?#
25. 有其他的在流程的吗?#
反问环节#
1. 部门主要是做什么#
直播后端。分了几个块,直播互动,直播课,直播带货。(这不都是直播吗?
2.工作制度怎么样,卷吗#
工作强度比较大。公司现在在上升期。卷不卷还是看个人。业务迭代比较快,不会有无关紧要的内耗。
3.部门平均年龄?#
大部门的话最小的应该是98的。直播后端的话,都是95, 96的差不多。
4. 我有什么不足的?#
意思的表达不是很好。虽然知道的人,想想也能知道你说的是什么。但是不知道的人,听着就会有点懵。可以找个人练练表达。
其他的都挺好的。我这面算你过了。
二面(50min)#
1. 写一下中缀表达式求值,数字只会有0-9,不会不合法,之后有括号#
ps. 写了30min左右
闲聊 20min#
就聊了聊ACM,之后讲会转技术栈,说他们是以业务为主的。可能我不大适合,之后给我转到他们部门的C++流媒体组,继续面。说实话感觉二面有点小奇怪。看hr怎么说后续情况进行更新。
三面(40min)#
1. 自我介绍#
2. 项目相关#
3. 多线程,交替打印输出1-100的数#
4. 询问部门意向,流媒体架构还是直播业务或者基础架构#
ps. 果然主管面不同啊,都没问啥。
等待hr后续通知。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通