快手C++一二三面,已凉

今天上快手招聘官网看到快一个月没消息的流程结束了,所以来牛客发个面经安慰一下自己。整个过程的唯一感觉:我是一个备胎。二面完等了半个月,才约三面。三面才面了15分钟,面试官说是为了介绍一下部门和沟通意向。三面完,这一等就是快一个月,今天终于凉了。

网络SDK提前批一面(40min)

  • 自我介绍
  • 介绍实习工作内容
  • 介绍项目(实现、难点、思考)
  • tcp端口复用(so_reuseport)的实现
  • 内存池的实现
  • 怎么合并free后的内存块?
  • 编程题:实现非递归遍历二叉树
  • 看过什么开源代码?(redis、libco)
  • 提问环节

网络SDK提前批二面(50min)

  • 自我介绍
  • newmalloc的区别
  • map内存分配策略,内存池
  • 静态成员函数和普通的静态函数的区别,可以通过对象实例访问吗
  • tcp握手可以两次吗?
  • tcp和udp的区别
  • tcp的缺点
  • tcp是有序的,依靠什么来保证?
  • http 1.0 和 1.1 的区别
  • selectepoll的区别
  • epoll水平触发和边缘触发的区别
  • recv返回值的含义
  • linux 命令
  • cpu 100%,排查问题
  • 10个整数,统一只出现一次的数字
  • 代码题:快排
  • 提问环节

网络SDK提前批三面(15min)

  • 自我介绍
  • 职业规划
  • 逻辑题:25匹马,5条赛道,使用最少的次数选出前3名?
  • 提问环节
#快手##C++工程师##面经##校招#
全部评论
这部门完全有毒。。就一直养鱼 官网显示还在面试中 二面完快两个星期了😂面试体验属实差
点赞 回复 分享
发布于 2020-09-23 20:44
楼主,你如何确定就是凉了的呀,官网也没什么信息,也没有感谢信哎
点赞 回复 分享
发布于 2020-09-23 19:50
你二面题目跟我基本一样,看来是一个面试官,三面是leader,主要就是能力匹配哪个部门,我就被换部门了
点赞 回复 分享
发布于 2020-09-22 21:04
我也是这个部门,9.2hr面的,还没有消息
点赞 回复 分享
发布于 2020-09-22 21:02
深圳的HC比较少
点赞 回复 分享
发布于 2020-09-22 20:32
我一面这个,就撕了四道算法题,都撕出来了。然后等了二十天,偶然间看一下就已结束了。zzz
点赞 回复 分享
发布于 2020-09-22 20: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道真题和解析
点赞 评论 收藏
分享
评论
4
43
分享

创作者周榜

更多
牛客网
牛客企业服务