快手timeline+面经(C++)

timeline:
5.19 一面
5.21 约二面
5.22 二面
5.23 约三面
5.26 三面+oc

##一面(1h10min)
【手撕】:
1.域名变换
要求空间复杂度O(1)。
2.求栈内最大值
栈是一个已存在的栈。要求空间复杂度、时间复杂度O(1)。鼠鼠想半天也只想到辅助栈并提出从存数开始,被要求优化空间复杂度,想的几个都被否了。查了下说是对放进去的数编码。
3.环形上有100个灯泡,每个灯泡有一个按钮,按一下也会影响左右两个灯泡,如“暗-亮-暗”变成“亮-暗-亮”,要求设计算法把随机状态的所有灯泡变亮,只说思路。
鼠鼠想了很久,然后在和面试官的讨论下做出,首先1-100遇到暗的灯泡就按下一个(100不按),得到除99和100全亮状态,此时四中状态,一种全亮排除,一种暗暗情况下再按一次99,得到三种情况都为100个灯泡只有一个暗。然后从暗的开始三个一组按一下中间的变成全暗。然后每个灯泡按一次,因为收到前后和自己三次按奇数次的影响,遂全变亮。
【八股】:
1. tcp三次握手和四次挥手
2. 三次握手第三次可以没有吗为什么
3. 浏览器输入网址到显示的全过程
【反问】:无,面试官说超时了会议室外有人催他就赶紧下了。

## 二面(1h10min)
1. 自我介绍
2. STL中关联式容器有哪几个
3. map和unordered_map区别(说了底层、时间复杂度、用法)
4. unordered_map的时间复杂度一直是o(1)吗
5. 为什么最坏O(n),什么情况是O(n)?
6. unordered_map底层是怎么实现的(哈希函数、桶+链表)
7. 除了链表有没有别的方法(开放地址法,不了解具体)
8. 有一亿个string数据应该用map还是unorered_map存为什么
9. 说到map底层是红黑树,了解平衡二叉树吗?
10. 5个节点的平衡树,最少有多少个节点
11. 那假如有50个呢?n个呢?怎么算?
    1. 鼠鼠说那肯定是有一个计算公式,但是得让鼠鼠想想
    2. 鼠鼠想了好久得出F(N)=F(N-1)+F(N-2)+1;然后面试官让讲讲遂开始讲。
12. 用queue怎么实现stack,要几个queue?
13. 那用stack怎么实现queue,要几个stack?
14. 时间复杂度是多少?
15. 了解线程和进程吗?为什么Muduo网络库用多线程而不是多进程?
16. 详细讲解线程和进程的区别?
17. 存一个数据从内存到到磁盘,经过哪些步骤?
18. 手撕:求逆波兰表达式,如string=(101+20)*30-45/5变成101 20 + 30 * 45 5 - /
    1. 鼠鼠想了大概五分钟说了思路,用stack做,面试官说思路没问题
    2. 然后写了十五分钟,最后输出有点小问题面试官说没关系整体是ok的
19. 反问:1.业务 2.进来做什么 3.要提高那些方面(多理解怎么应用)

## 三面hr面(25min)
1.岗位理解
2.岗位适配度
3.介绍项目和难点
4.详细介绍每个模块的选型
5.实验室研究方向和内容
6.选择实习时考虑的点
7.为什么之前没有实习
8.为什么要做xx项目
9.实习时间等问题
10.有没有别的offer
反问:团队氛围、有无转正等
然后现场就口头offer了,已接
全部评论
二面,queue和stack互相实现那个,是不是说的有点问题
点赞 回复 分享
发布于 05-27 14:50 黑龙江
春招吗
点赞 回复 分享
发布于 05-27 08:54 北京

相关推荐

05-29 16:32
门头沟学院 C++
2. 是对视频进行识别,还是分割成图片?素材来源是什么?  3. 是否属于无监督或自监督学习?是否需要标注数据?  4. 如何验证检测精度的提升?反馈机制是什么?  5. 解释无监督学习、自监督学习、强化学习的本质区别  6. 举例说明无监督学习的应用场景  7. 强化学习的例子有哪些?  8. 大语言模型的训练方式是什么?是否需要监督?  9. 大语言模型突然火爆的驱动因素是什么?  10. C++与C语言的核心区别是什么?  11. 面向对象三大特性(封装/继承/多态)的具体含义  12. C++多继承可能引发什么问题?如何解决菱形继承问题?  13. 抽象类与接口的区别是什么?  14. C++多线程的实现方式及如何保证线程安全  15. 单例模式的实现方式(如懒汉式如何保证线程安全)  16. 死锁的触发条件及场景  17. C++内存分区(堆/栈/全局区等)及区别  18. STL中vector和map的底层实现原理  19. 哈希冲突的解决方法  20. 设计模式的分类及创建型模式的具体类型  21. 工厂模式与抽象工厂模式的区别  22. 进程和线程的核心区别  23. 线程的生命周期及是否可以多次start  24. 网络七层/五层协议的分层结构  25. TCP协议的特点及三次握手/四次挥手的原因  26. UDP协议的特点及适用场景  27. HTTP协议版本差异(如1.0/2.0)  28. HTTPS握手过程与HTTP的区别  29. 浏览器输入URL到渲染的完整流程  30. Git分支管理协作流程(如合并冲突处理)  31. 算法题:单链表删除倒数第N个节点32.生产者消费者模型
点赞 评论 收藏
分享
头像
05-26 22:25
门头沟学院 Java
to_Sunway:这家公司前几天我也沟通过,初创的日用品公司想做个大型的AI项目好像是
点赞 评论 收藏
分享
评论
3
16
分享

创作者周榜

更多
牛客网
牛客企业服务