虎牙C++后台开发实习生面经(一面、二面和三面)

本人2021届毕业的C 菜鸡,提前一年感受下面试流程,积累一波经验,在此分享一波虎牙C 后台开发实习生面经,人生第一次互联网公司现场面,贼紧张。

(4.26)
一面(40min):
自我介绍
项目相关:
优雅关闭连接是什么?
线程访问资源相关问题?
worker线程空闲的时候怎么办?
线程解锁和通知的先后顺序问题(不会)
read如何判定接收完成?
为什么选ET模式?LT?
时间轮定时器讲一下?为什么选这个?

基础问题:
讲讲extern关键字的作用
external "C"
析构函数一定是虚函数吗?什么情况下是虚函数?不是虚函数会发生什么问题?
假如父类派生一个子类,子类只增加了一个int成员变量,父类的析构函数不是虚函数,父类的指针指向了子类的对象,析构时那么会不会发生内存泄漏?

STL熟悉吗?vector、list区别?底层实现?迭代器失效情况?最后一个元素插入会失效吗?map底层实现?时间复杂度?
哈希表会吗?哈希冲突的解决办法?

快速排序是稳定的吗?为什么不稳定?
快排是最快的吗?
什么是稳定的排序?
两个有序数组归并排序时间复杂度?
归并k个有序数组?怎么减少额外的内存空间占用?
数据类型全部是int32时,怎么排序最快?(不会)

tcp、udp区别?
tcp为什么是可靠的?
粘包听过吗?怎么解决?
进程线程区别?
两个线程对i加1,结果一定会是2吗?答案可能是多少?为什么?怎么保证是2?哪几种解决方法?
一致性哈希听过吗?(不会)

top K问题听过吗?怎么从海量数据中选出前10大的数?
数据库学过吗?(没有,正在学)
CAP听过吗?(只了解一点点,就直接说不会了)
还有什么问题要问的?

二面(1小时,面试体验很好):
自我介绍
项目介绍
智能指针设计实现(shared_ptr、 weak_ptr)
浏览器输入huya.com,按下回车过程发生了什么(越详细越好)?
还有什么问题?


(4.28,虎牙总部)
三面(10多分钟):
自我介绍
简单介绍了一下在华为实习的经历
项目:
epoll为什么用ET,什么情况下用LT?
并发量有多少?
开了多少连接?想要支持更多连接怎么办?最大能设置为多大?(我猜应该是想考:ulimit -n)
epoll原理实现,为什么用红黑树,好处,时间复杂度,具体插入过程?
C 11有哪些特性?
智能指针是线程安全的吗?哪些地方需要考虑线程安全?
如何访问非法栈空间?
共享内存了解吗?最大有多大?能不能超过物理内存?硬盘大小呢?
协程了解吗,有什么作用?怎么实现的?上下文切换保存什么内容?
分布式系统了不了解?
看直播吗?看什么直播?虎牙斗鱼直播有区别吗?
还有什么问题?

三面结束后,HR小姐姐说我是2021届的,官网实习只招2020届毕业的,让我明年再战,好吧,其实能到三面已经非常满足了,哈哈~


祝各位早日拿到心仪的offer!!!
#面经##实习##春招##虎牙直播##C++工程师#
全部评论
tql吧……
1 回复
分享
发布于 2019-04-28 22:45
校友是大……大二?
1 回复
分享
发布于 2019-04-29 09:34
联想
校招火热招聘中
官网直投
和我一模一样,也是21届,项目也是一样,也是和林亚交流了一波
1 回复
分享
发布于 2019-05-11 14:48
牛逼
点赞 回复
分享
发布于 2019-04-28 22:32
牛批
点赞 回复
分享
发布于 2019-04-29 00:29
这个问题:假如父类派生一个子类,子类只增加了一个int成员变量,父类的析构函数不是虚函数,父类的指针指向了子类的对象,析构时那么会不会发生内存泄漏? 老铁怎么答滴呀?是说父类指针指向new子类,析构函数不虚,delete指针只释放基类空间??谢谢!
点赞 回复
分享
发布于 2019-05-03 20:45
大二还是研一…
点赞 回复
分享
发布于 2019-05-07 00:10
虎牙也有三面技术,哭了哭了。
点赞 回复
分享
发布于 2020-03-28 16:04
都三面完了才说只招20届的?让明年再战?这是什么操作
点赞 回复
分享
发布于 2020-04-04 22:10
&实习招的是2021的吧,听错了?
点赞 回复
分享
发布于 2020-04-04 22:45

相关推荐

#软件开发2024笔面经# 3.25 腾讯一面 共计80分钟1.自我介绍2.知道哪些排序算法(没说全)3.介绍冒泡排序和快排4.链标和数组的区别5.哈夫曼树的概念(忘了,随便说了点往左边走是0,往右边是1这样子来得到哈夫曼编码)6.KMP算法(忘了)7.树和二叉树之间的转换(忘了)8.多态以及它的原理9.visual studio工作的过程(说了预编译,编译,汇编,链接)又让说详细点,每个过程的过程,我又补充了编译的过程,词法分析语法分析这些又问vs是怎么具体做这些事的(不知道)10.用过什么容器11.用过sort吗12.用过去重函数unique吗(没用过,如果需要去重我直接用set了,面试官笑了:也是哈)Shared_ptr和weak_ptr13.他们是线程安全的吗(我说指针本身是安全的,引用计数是安全的,但是他们管理的裸指针对应的内存的操作是不安全的,不知道对不对)14.介绍一下什么是死锁15.进程通信的方式16.静态库和动态库的区别17.问程序运行起来以后静态库和动态库在内存中哪里(我说动态库在磁盘上,用到它的时候才会加载到内存,静态库是可执行程序的一部分,会直接载入内存,这个问题好奇怪,不知道对不对)18.如果一个传入动态库的指针在动态库外面被释放了会怎样(我说会出错,因为是指针传递,动态库里面的那个指针对应的内存已经归还给系统)19.三次握手20.拥塞控制21.http包头和包内容(不知道,就说了下http请求包含请求行,请求头,请求体,但不清楚请求头有哪些参数)22.Cookie干嘛的(不知道)23.https,它如何保证安全24.项目拷25.手撕:30分钟(面试官说第一题要写输入输出,第二题写大致过程就行)(1)链标两两翻转输入:1->2->3->4->5输出:2->1->4->3->5链标需要自己定义,链标翻转我用的是递归(2)一颗二叉树中,从根到叶的所有路径中是否存在一条路径,路径上的所有元素之和等于value这里就大致写了dfs的过程
点赞 评论 收藏
转发
25 194 评论
分享
牛客网
牛客企业服务