快手提前批C++网络SDK一二三面面经

在牛客学到很多,分享一下面经,给后面同学一个参考,楼主双非本,硕士末流985,岗位是C++开发-网络SDK(深圳)


一面8.6 (60min)

  1. 自我介绍
  2. 项目细节(瓶颈在哪里,有想过怎么优化吗)
  3. 说一下select poll epoll
  4. 说一下tcp ip udp dns(简历中提到)
  5. tcp建立连接和断开连接
  6. C++特性有哪些?项目中哪个用的多? 为什么?
  7. linux Io模型有哪些 具体的应用场景
  8. 代码找错
  9. epoll底层为什么用红黑树
  10. 反问

二面8.17 (70min)

  1. 自我介绍
  2. 项目介绍
  3. epoll两种模式(LT,ET)
  4. tcp三次握手 为什么不能是两次
  5. tcp和udp区别
  6. tcp第三次可以带数据吗 可以 那跟两次有什么区别
  7. tcp缺点 怎么优化?
  8. tcp怎么保证有序的
  9. 说思路:10亿个数 怎么找重复的数 限制内存
  10. linux cpu 100% 怎么排查问题
  11. linux 怎么查看IO利用率(不会) iotop
  12. linux文件系统了解吗 不了解
  13. http状态码
  14. http1.1 和http1.0区别
  15. stl map底层内存原理
  16. map找一个value怎么找 能用下标找吗?
  17. new和malloc区别
  18. 怎么样访问static成员变量
  19. recv返回值含义
  20. socket 底层是怎么样的
  21. 代码题:字符串替换 aaabbbaaabbbcccc 替换bbb->ee 变成aaaeeaaeecccc
  22. 反问

三面8.22(HR面 15min)

  1. 自我介绍
  2. 用非技术人员能听懂的话介绍一下你的项目,取得的效果
  3. 对部门有了解吗
  4. 目前有拿到offer吗
  5. 用两个词形容一下自己
  6. 未来的职业规划
  7. 对快手的看法
  8. 反问

大概就是这些问题,还是比较基础的,面试体验也很好,希望能顺利
最后:非常感谢实验室的小伙伴,从他们身上学到太多,秋招太难了

ps:如果分享面经涉及到公司隐私问题,请麻烦联系我,我会尽快删贴

#面经##快手##校招##C++工程师#
全部评论
老哥请问你对这个岗位了解如何呢?我也是拿到这个岗位的意向书,但反问过程中没太明白岗位的情况以及所属部门
1 回复 分享
发布于 2020-09-28 15:00
老哥,你这问的问题和我如出一辙。
点赞 回复 分享
发布于 2021-09-27 14:40
请问楼主这个字符串替换你当时是怎么做的
点赞 回复 分享
发布于 2020-09-24 22:22
楼主二面后多久收到结果的
点赞 回复 分享
发布于 2020-09-22 12:07
请问网络sdk是不是只有两轮技术面?我面完两轮了,明天还有一面不知道是不是hr面👀紧张
点赞 回复 分享
发布于 2020-09-16 18:46
老哥最后oc了吗?
点赞 回复 分享
发布于 2020-09-07 19:52
请问epoll为什么使用红黑树这个应该怎么答啊
点赞 回复 分享
发布于 2020-08-23 10:51
楼主hr面是面试前几天发的呢
点赞 回复 分享
发布于 2020-08-22 21:01
点赞 回复 分享
发布于 2020-08-22 19:10
楼主的项目是不是webservice呀 单纯问问
点赞 回复 分享
发布于 2020-08-22 18:09

相关推荐

04-21 12:53
已编辑
广东药科大学 golang
树根科技的一面-半个小时算法题:删除有序链表的重复元素II原题LC82. 删除排序链表中的重复元素 II  是在牛客的核心代码模式一开始没运行成功后面说了思路 然后就放我过了我在最后说完思路之后调了一下代码之后运行成功完美😍就两道八股然后实习简单问了一下 没什么好回答的我操又是KPI我的面试八股:1,索引是什么?对于索引的理解?底层数据结构是什么我觉得这道题问的很经典但是可能大家回答的大差不差 这里希望大家看可以回答的有章法一点  我这里贴一下我的回答吧面试回答:索引是数据库中用于提高查询效率的数据结构。它类似于书籍中的目录、通过创建索引、数据库可以更快地定位到数据的位置,从而减少全表扫描的时间,显著提高查询性能。索引本质上是一个辅助数据结构、B+树索引是一种多路平衡树、常用于数据库的存储引擎。Innodb数据库默认使用 B+树作为索引。然后来介绍一下B+树索引1. 首先先说一下B+树的特点是什么:B+树的叶子节点存储数据、非叶子节点只存储索引、不存储实际数据、所有数据都集中在叶子节点。而且每个节点里的数据都是根据索引的值来顺序存放的 也就是顺序存储2. 然后呢B+树适合顺序访问及范围查询:B+树的叶子节点之间通过双向链表连接、每个节点都有指向前一个和后一个节点的指针、以及当前的数据。这种结构使得可以顺序访问、从任意一个叶子节点开始、通过双向指针快速地向前或向后访问其他节点访问高效、无需回溯即可遍历更多数据。也可以通过范围查询、可以通过在链表中找到该范围的起始叶子节点、然后顺序地访问链表中的节点。3. 以及最重要的是:B+树的查询性能比较高:由于B+树的结构是平衡的、所有叶子节点都在同一层、这意味着查询数据时、查询的深度通常比较浅(一般在3到4层)、即使数据量达到千万级、最多需要3~4次磁盘I/O操作就能找到目标数据。这极大减少了磁盘访问次数。 4. 还有就是B+树具有稳定的查询性能:由于B+树是平衡的,所有的数据检索操作都有相同的I/O延迟。这使得B+树特别适合用于存储大量数据并且要求稳定查询性能的场景、这也是我们选择B+树作为索引的主要原因  2.面试官问的问题:  面试官问的是:一个表下有多个索引,每一个索引下都是B+树结构、那每一个索引的叶子节点都是存储的实际的数据吗?一开始没明白这个是什么意思、后来面试官提示了一下才明白原来问我的是:聚簇索引和非聚簇索引(二级索引)的区别。参考回答:分为聚簇索引和二级索引回答聚簇索引:叶子节点:存储的是主键值和完整的行记录(即数据行的所有列数据)。非叶子节点:存储的是主键值和指向子节点的指针。非聚簇索引(二级索引):叶子节点:存储的是索引键值和该行的主键值、不存储完整数据。非叶子节点:存储的是索引键值和指向子节点的指针。查询过程:如果查询条件使用了二级索引(非聚簇索引)、但查询的数据既不是主键值也不是二级索引值、则需要通过二级索引查找主键值、然后回表查询实际数据。这样会进行两次B+树扫描、分别查找索引和数据。如果查询的列是主键值和二级索引值、并且这两列都在二级索引中(例如联合索引)、则可以直接在二级索引中查询到所有需要的字段、这时称为覆盖索引、无需回表、查询只需要扫描一次B+树、效率更高。
查看3道真题和解析
点赞 评论 收藏
分享
评论
6
67
分享

创作者周榜

更多
牛客网
牛客企业服务