面试复盘|快手 C++开发 123面总结(无HC凉)

一面:
面试时长:50分钟
  1. 开局自我介绍,被面试官吐槽有点快。
  2. 面试官对我的两篇论文非常感兴趣,让我详细讲解
  3. 介绍第一篇论文,方法,背景
  4. 介绍第二篇论文,方法。oral是不是只能线上汇报了,nonono,北京本地
  5. 开始问项目,升序链表怎么做的,怎么实现的,怎么处理不活跃用户的
  6. 说一下协程,协程的作用是什么,我们什么时候用协程
  7. 说一下无锁编程,用了cas还需要用atomic吗?不冲突吗
  8. 都是linux下写的吧,对,你最喜欢linux哪个命令?我:ls 因为这是ssh上去之后的第一件事情
  9. 如何把一个shared_ptr赋值给unique_ptr,说一下让你实现的设计思路

  1. 查找有序数组nums中第一个等于给定x的下标,没有返回-1
  2. 查找有序数组nums中第一个大于给定x的下标,没有返回-1
  3. 给定一个数组,返回数组中最大子数组和的左右下标,如果最大子数组和小于0,返回{-1, -1}。

反问:部门,技术栈。做大数据的,有java和c++开发两种,为快手服务的


二面:
常规八股文想不起来了
算法题写了很久,要求是多线程安全的 带有 热点缓存的 LRU。
  1. 第一步先和面试官讨论设计思路
  2. 讨论如何为热点数据吗,通过命中次数
  3. 讨论热点缓存如何换入换出 是否用于LRU同样的方法
  4. 先编码实现普通LRU
  5. 继续完善实现带有热点数据缓存功能的LRU
  6. 讨论如何保证多线程安全
  7. 使用互斥锁,锁的粒度太大,如何减少锁的粒度
  8. 使用hash分桶,在每个桶里面用锁,减少了锁的粒度。。。这块是面试官提示的
三面:
面试时长:40分钟左右
  1. 开局本来想自我介绍,面试官让我说一下特长和优点就行
  2. 尴尬经:我说这次来公司A面试。面试官:我们不是A公司,我们是快手。。。直接凉了
  3. 面试官问我科研项目是啥,开题准备是什么题目
  4. 面试官表示对我的题目很感兴趣,让我详细讲讲(5分钟以上)
  5. 问我神经网络的前向传播和BP
  6. BP过程中有什么问题?梯度爆炸和梯度消失。
  7. 分别有什么解决方法?正则化,直连还有relu。我说我并没有准备算法方面的面试,面试官说:这也不是我的本行
  8. 进入正式面试:全部是场景题目
  9. 我们先来熟悉一下递归吧,你先写一个数组求和的递归实现,先来进入一下这个氛围
  10. 好,你知道汉诺塔问题的递推式吗,f(n)和f(n-1),让我现场推导递推式,并问我为什么
  11. 能根据这个递推式求出f(n)的具体解析式吗?一个和n有关的式子,我没有求出来
  12. 好,接下来是一个设计题,现在有一个服务器HTTP的,发送的是简单的GET报文,参数是手机号的最少前四位,如何能够在最短的时间内返回前缀匹配的前100个手机号,不能借助外界的数据库
  13. (1)说一下你的设计思路,采用什么数据结构,如何实现快速返回
  14. (2)你对你这个内存结构做一个内存估算,加入给你10^10个手机号,请准确的计算出你设计的数据结构的内存消耗,误差在2倍以内
  15. (3)如何实现你设计的这个系统的高可用性?
  16. 漫长的场景设计题之后,问我不同线程之间不共享的到底是什么?我说栈,线程id,信号掩码,寄存器。面试官反问,不同线程之间共享信号处理函数吗?这个有点忘了

反问:部门技术栈。 


#面试复盘##快手##面试题目#
全部评论
为什么你知道无hc
点赞 回复 分享
发布于 2021-10-15 22:30
uu,三面这个b+树的思路是什么呀?
点赞 回复 分享
发布于 2021-10-26 22:11

相关推荐

昨天 18:54
门头沟学院 Java
点赞 评论 收藏
分享
牛客717484937号:双飞硕没实习挺要命的
点赞 评论 收藏
分享
1 19 评论
分享
牛客网
牛客企业服务