快手 真实面经

来源:17-2 社群资源-面试预约

Sunday

2023-07-06

写回答

6回答

Sunday

提问者

2023-07-06

xxx 面试记录:2022-05-18

一共两轮面试,二面拉胯

一面:技术面

  • 自我介绍
  • 项目是自己做的是吗
  • 为什么相比于Qt等,认为自己适合前端
  • 如何学习前端的
  • 哪个项目比较简单
  • 可以简单介绍一下实现了什么功能
    • 为什么认为难度不够
  • 防抖和节流的原理和使用场景
  • 用了哪些事件获取到位置
  • 有一堆位置,取的是哪几个值
  • 知道路由守卫的意思吗
    • 知道如何实现的吗
  • 讲一下网址的组成与含义
  • query部分与hash部分的差别
  • history模式与hash模式的差别
  • 解释一下同源
  • 城市列表是几级的
  • 城市的数量大概多少
    • 如果数量级变为1000个,会发生什么问题
    • 懒加载如何实现的
  • 说一下去哪网的布局设计方案
    • z-index原理
  • 常见布局的属性
    • relative与absolute差别
  • 讲一下CSS的选择器及其优先级关系
  • ts用到哪些属性
  • ts中type与interface的差别
  • 讲一下token的生成与验证的过程
    • 为什么认为他们是难点
  • 鉴权的方案,有什么区别,存在什么风险
  • 账号安全有什么挑战
  • 如何实现屏幕适配的
    • rem 与 em 的差别
  • http中与缓存相关的头部
  • 从缓存角度讲一下加载的流程
  • 划分组件的方法论
  • 组件的模块化的方案
  • 用到的设计模式
  • 手写:模拟限制并发
  • 口述:限制并发
  • 学习前端多长时间了
  • 反问
    • 还可以,不需要和别人比,知其然也应该知其所以然,多一些思考
    • 面试官是电商场景和低代码,前端客户端后端等
    • 部门
    • 需要提升的地方
    • 技术面多少轮

    二面:东拉西扯

    • 一面体验不错,面试时间达80分钟
    • 一面为纯技术面,二面为部门面,可能由于该部门无hc,二面的面试官东拉西扯,甚至聊到音乐,就是不聊技术,之后也无下文
    • 建议大家投递北京的部门,hc会更多


    0
    0

    Sunday

    提问者

    2023-07-06

    xxx 面试记录:2022-12-27

    面试官:部门是一个纯技术部门,难度偏高,所以做好心理准备 我:啊这。。。

    两次纯技术面试,一次纯聊天

    一面

    1. 全程场景设计,项目,手写,0八股
    2. 深挖项目技术难点:字节的权限树讲完,面试官:就这,还有吗? 我:还有滴滴的技术建设,前端测网速,面试官:行吧
    3. 深挖:组件设计,区块抽离思想
    4. 业务逻辑和UI逻辑和表单逻辑的场景
    5. 三个手写,崩了,A了一个,两个没全A,提供了正确思路(4/5时间都在这里了)
      1. 手写1:实现一个useBodyScrollLock ,当出现弹窗时 阻止背景滚动
      2. 手写2:装修客厅,大小为nxm,极简风格,需要使用尽可能少的瓦来铺盖地面。最少需要用到多少块方形瓷砖?
      3. 手写3: 两个字符串 str1 和 str2,返回同时以 str1 和 str2 作为子序列的最短字符串,返回所有情况
    6. 口撕:实现一个高精度定时器,可以在浏览器计算任务繁杂的时候依然准确
    7. 什么专业,计算机五门课学了什么
    8. 怎么设计一个中间件判断当前用户登陆状态
    9. 前端稳定性如果让我当leader来搞这件事,从哪些方面考虑,提前避免什么问题
    10. 反问:部门做什么,面试官说部门是一个纯技术部门,难度偏高,要求技术实力很强

    如果有二面,大概下下周了,看来得排序,哎,感觉寄了

    二面

    快手面试官都不会笑吗,一面全程不笑,二面依旧 算法写的时间复杂度较高,写的速度也太慢,貌似也对我的项目不太满意,大概率凉了

    1. 问项目
    2. 工作产出
    3. 讲了一下axios源码:实例创建,拦截器,取消请求,适配器原理
    4. 手写:React实现一个组件,秒A
    5. 算法1:无重复的最长子串——优化思路,秒A
    6. 算法2:重新排列单词,使其成为每行恰好有num 个字符,两端对齐。A,耗时太久了
    // input arr = ["This""is""an""example""of""text""justification."], num = 16 
    // output [  "This    is    an",  "example  of text",  "justification.  " ]
    1. 算法3:树节点的第 k 个祖先节点是从该节点到根节点路径上的第 k 个节点。A了一半,叫停了
    2. 接着问react八股:
      1. fiber架构
      2. class组件的弊端,使用痛点
      3. 介绍几个常用的ahook
      4. ahook对比vueuse,源码层面的优缺点
      5. md5计t算会消耗时间吗?
      6. 你认为自己的优势是什么?
      7. 快手如果给的薪资低,你会来吗?
      8. 怎么选择团队,倾向于选择什么样子的团队
      9. base有要求吗?

    三面(纯聊天)

    1. 面试官说自己不懂技术,就聊聊天吧
    2. 体验一款快手产品,找出bug/设计好的点
    3. 最有成就感的事情
    4. 手里有多少offer
    5. 为什么写博客
    6. 怎么学习前端的
    7. 反问吐槽:
      1. 前两面面试官是业内响当当的知名人物,在大型互联网公司做过负责人,难怪出的题这么难。。。
      2. 面的这个部门是整个快手集团技术最复杂的部门,所以问的会难一些
      3. 1-2周出结果


    0
    0

    Sunday

    提问者

    2023-07-06

    xxx 面试记录:2022-06-08

    一次技术面,有编程题

    一面:技术面

    • 聊项目、立项初衷、目的、负责什么、落地成果
    • vw、vh、rem、em
    • flex
    • 实现垂直居中布局
    • link标签prefetch、preload作用
    • script标签async、defer作用、区别
    • 事件模型、事件代理
    • e.target 和 e.currentTarget区别
    • 0.1 + 0.2 !== 0.3 解决办法
    • 检测数据类型方法有哪些
    • typeof String(1) 和type new String(1) 返回值
    • String(1)和new String(1) 为啥都能调.substr()
    • 浏览器安全策略 跨域方法 CORS怎么携带cookie 。 cookie的samesite作用
    • 如何理解事件循环

    编程题

    1. 实现下面的函数
    function add({}


    function one({}


    function two({}


    console.log(one(add(two())))
    // 3
    console.log(two(add(one())))
    // 3


    0
    0

    Sunday

    提问者

    2023-07-06

    xxx 面试记录:2022-12-27

    面试官:部门是一个纯技术部门,难度偏高,所以做好心理准备 我:啊这。。。

    两次纯技术面试,一次纯聊天

    一面

    1. 全程场景设计,项目,手写,0八股
    2. 深挖项目技术难点:字节的权限树讲完,面试官:就这,还有吗? 我:还有滴滴的技术建设,前端测网速,面试官:行吧
    3. 深挖:组件设计,区块抽离思想
    4. 业务逻辑和UI逻辑和表单逻辑的场景
    5. 三个手写,崩了,A了一个,两个没全A,提供了正确思路(4/5时间都在这里了)
      1. 手写1:实现一个useBodyScrollLock ,当出现弹窗时 阻止背景滚动
      2. 手写2:装修客厅,大小为nxm,极简风格,需要使用尽可能少的瓦来铺盖地面。最少需要用到多少块方形瓷砖?
      3. 手写3: 两个字符串 str1 和 str2,返回同时以 str1 和 str2 作为子序列的最短字符串,返回所有情况
    6. 口撕:实现一个高精度定时器,可以在浏览器计算任务繁杂的时候依然准确
    7. 什么专业,计算机五门课学了什么
    8. 怎么设计一个中间件判断当前用户登陆状态
    9. 前端稳定性如果让我当leader来搞这件事,从哪些方面考虑,提前避免什么问题
    10. 反问:部门做什么,面试官说部门是一个纯技术部门,难度偏高,要求技术实力很强

    如果有二面,大概下下周了,看来得排序,哎,感觉寄了

    二面

    快手面试官都不会笑吗,一面全程不笑,二面依旧 算法写的时间复杂度较高,写的速度也太慢,貌似也对我的项目不太满意,大概率凉了

    1. 问项目
    2. 工作产出
    3. 讲了一下axios源码:实例创建,拦截器,取消请求,适配器原理
    4. 手写:React实现一个组件,秒A
    5. 算法1:无重复的最长子串——优化思路,秒A
    6. 算法2:重新排列单词,使其成为每行恰好有num 个字符,两端对齐。A,耗时太久了
    // input 
    arr = ["This""is""an""example""of""text""justification."

    num = 16 
    // output [  "This    is    an",  "example  of text",  "justification.  " ]
    1. 算法3:树节点的第 k 个祖先节点是从该节点到根节点路径上的第 k 个节点。A了一半,叫停了
    2. 接着问react八股:
      1. fiber架构
      2. class组件的弊端,使用痛点
      3. 介绍几个常用的ahook
      4. ahook对比vueuse,源码层面的优缺点
      5. md5计t算会消耗时间吗?
      6. 你认为自己的优势是什么?
      7. 快手如果给的薪资低,你会来吗?
      8. 怎么选择团队,倾向于选择什么样子的团队
      9. base有要求吗?

    三面(纯聊天)

    1. 面试官说自己不懂技术,就聊聊天吧
    2. 体验一款快手产品,找出bug/设计好的点
    3. 最有成就感的事情
    4. 手里有多少offer
    5. 为什么写博客
    6. 怎么学习前端的
    7. 反问吐槽:
      1. 前两面面试官是业内响当当的知名人物,在大型互联网公司做过负责人,难怪出的题这么难。。。
      2. 面的这个部门是整个快手集团技术最复杂的部门,所以问的会难一些
      3. 1-2周出结果


    0
    0

    Sunday

    提问者

    2023-07-06

    xxx 面试记录(电商)(校招):2023-04-24

    共三轮技术面试

    一面:技术面

    • 自我介绍和项目经历
    • 事件捕获和事件冒泡机制
    • 前端有哪些跨域方案
    • jsonp 原理
    • XSS 和 CSRF 攻击场景列举
    • 假如黑客注入一个恶意脚本, 发出了一条 ajax 请求, 该请求发送到黑客自己的服务器然后进行一个转发, 这种场景是否属于 CSRF?
    • 代码题: 事件循环看代码说结果
    • 代码题: 实现字符串字母去重, 但不区分大小写
    • 前端有哪些性能优化手段? 假如说你的用户和你距离很远, 你无法在用户的终端复现他的卡顿场景, 你怎么排查

    二面:技术面

    • 自我介绍
    • 过往项目经历
    • 讲讲你实现过的 React 组件
    • 讲一讲你在过往实习经历里面, 最让你有成就感的事情是什么
    • 如何衡量前端性能
    • 前端页面如何排查 bug
    • 事件循环: 看代码说结果
    • 代码题: 获取一个数组中前 n 个最大的值, 你能想到几种方法

    如果大数组的 length < n, 则递归处理小的子数组 反问环节:

    • 电商业务主要以 B端为主, C 端直接面向用户的很少

    三面:技术面

    • 自我介绍
    • 讲过去的实习项目经历
    • 挨个问项目经历, 每一段项目经历都做了什么, 实现了哪些价值
    • 讲每一段项目经历的背景, 需求和目标
    • 用代码描述你实现过的页面和组件
    • 你为什么考研, 为什么选择做前端
    • 你平时是怎样自学前端知识的
    • 前端代码规范
    • Redux 和 Mobx 的区别
    • 回顾之前两轮面试的代码题
    • 一面的代码题, 改成区分大小写的实现
    • 一面的代码题, 优化一下一面的实现
    • 二面的代码题, 给出优化实现
    • 反问环节
      • 快手电商业务背景
      • 竞争对手
      • 主要赛道和下沉市场
      • 和拼多多, 淘宝, 抖音等竞争对手相比的优势


    0
    0

    Sunday

    提问者

    2023-07-06

    xxx 面试记录(商业化)(校招):2023-04-25

    三面 + 谈薪

    一面:技术面

    1. 自我介绍 + 项目介绍。
    2. 常见的http状态码以及对应的场景。
    3. 前端存储方案:cookie, localStorage, sessionStorage, indexedDB,各自的用途区别,存储大小?
    4. cookie和session的区别。
    5. fetch和xhr的区别,各自的特点?
    6. TS中type和interface的区别?
    7. 手写题:vue2 + js实现登录功能,附加八股文:vue2中的data为什么是函数,从底层角度讲一下。

    二面:技术面

    直接开始上强度,前半段基本是我在介绍项目,接着面试官开始针对项目提问:

    1. 流媒体播放器参考了哪些开源项目,如何借鉴的?
    2. 移动端手势库怎么封装的,旋转事件怎么计算的角度?
    3. 如果要做一个直播播放器,rtmp协议怎么和http结合?答:主播方rtmp协议推流flv格式的视频和音频数据,服务端封装数据为flv视频格式,浏览器端用http-flv进行拉流。
    4. B站的弹幕是通过什么协议传输的?答:以前是借助http传输xml文件,现在改为protobuf协议。
    5. h.264和h.265了解吗?如果浏览器不支持h.265解码怎么办?答:首先使用WebCodecs检测底层GPU是否支持硬解,不支持则用c++编写解码器封装为wasm文件加载到浏览器中转为软解。
    6. 软解和硬解的区别?软解CPU密集型,占用大量计算时间,解码出来的视频播放会较为卡顿,特别对于高分辨率视频,优点在于兼容性好;硬解是操作系统直接调用GPU硬件指令,速度快,但需要GPU产商提供对应的编解码指令,兼容性差。
    7. jquery和vue的区别?学习前端的历程怎么样的 ?

    算法题:字符串全排列

    三面:技术面

    仍然是介绍项目,然后提了一些宏观的方法论问题,整体还是偏聊天为主。

    四面:HR 面

    电话面试,问了一些常见的HR问题后就直接沟通薪资和福利,给了一天考虑时间。还在纠结中...


    0
    0

    前端共学会,学习/成长/工作/职业,综合服务社区

    前端共学会:帮助每一位前端开发者的综合服务社区

    162 学习 · 57 问题

    查看课程

    相似问题