首页 > 佛系面试,竟然拿到了虎牙的offer(一二三面面经)
头像
普通人一个
发布于 2020-04-17 22:02
+ 关注

佛系面试,竟然拿到了虎牙的offer(一二三面面经)

我1月2号已经投了简历,本来想找个寒假实习的。但谁能想到,3月下旬才面试(服了(O_O)?)。不过,最后拿到offer了,就不说什么啦。

实习一面

  • 介绍项目

  • 介绍 Reactor(项目中)多进程版本跟多线程版本的区别

  • 耗时任务怎么处理?(工作线程池)线程池设计

  • 在线程池中回写数据,会有什么问题?(线程安全问题,将实际工作转移到 IO 线程)

  • 收到的数据不是一个完整的请求数据(TCP字节流的特点导致的)

  • 发送二进制流(协议开始是n个字节表示数据长度)

  • 定时器怎么实现的?

  • 有没有做benchmark?(说了压测结果)

  • vector 和 list 的区别

  • 内存管理,多线程下加锁的问题(提到tcmalloc)

  • c++ move语义

  • map 的底层实现(红黑树)

  • 红黑树查找的时间复杂度、与 AVL 树的区别

  • 了解 B+ 树吗?在哪里应用了 B+ 树?(数据库索引)为什么不使用红黑树?

  • LRU 的怎么实现?(链表 + 哈希表)

  • 哈希表冲突

  • top k

  • 排序稳定性

  • 场景题:为游戏排名系统设计数据结构。面试官点出了难点,当一个玩家的分数改变之后,一般的数据结构会导致大部分玩家的排名的改变,这里需要时间复杂度为 O(n) 的调整操作,能不能设计一种数据结构,将调整操作的时间复杂度降到 O(logn)?(不会,只说到了排序树,说不下去了。面试官说先到这里,可以回去想想这个问题。)

  • 提问环节

面试过程体验比较好,面试官会跟我交流他的看法。早上面试的,下午收到了hr电话,约二面时间。

实习二面

  • 自我介绍
  • 介绍项目
  • 多线程、多进程版本的区别
  • 条件变量为什么需要传入互斥量?
  • tcp和udp的区别
  • 常见的基于TCP、UDP的协议(提到DNS)
  • DNS为什么不使用TCP?(不懂)面试官引导:qq可以使用TCP和UDP,为什么qq支持UDP?(答了服务器维护长连接时的内存和文件描述符消耗。DNS大概也是这个原因,同时教科书上提到DNS会建在网络的边缘,避免给网络带来很大的负担)
  • 设计一种数据结构来过滤弹幕敏感词。(字典树)最后扩展到有拼音的情况,例如xi安、西an。(不懂)
  • 提问环节

实习三面

  • 项目和muduo的区别
  • 除了Reactor模式,还知道其他模式吗?
  • epoll的实现机制(原理)
  • c++线程的使用方式,线程安全问题
  • c++资源管理
  • 模板
  • 数据库缓存方面(redis)
  • 微服务
  • 最近看什么书?
  • 提问环节

hr面

hr面都是常规问题,hr介绍部门是公司的核心部门,并且实习生的培养机制都比较好。

总结

面了几家公司了,我自己是很看重面试体验的,所以没加公司都会评价一下面试体验。虎牙在面试体验方面,三面下来,我感觉面试体验比较好。面试时,面试官会跟我交流,甚至会给我介绍我不懂的知识。

因为已经拿到其他公司的offer了,所以虎牙的整个面试过程中,我的心态都比较佛系。心态放松了,三面的表现也不比之前的差,所以没有必要过分紧张。如果因为过分紧张,导致发挥失常就得不偿失了。还得练习练习心态的调整呀。

全部评论

(4) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐