23届秋招前端快手面筋(一二三面)

楼主双非本,5.13至今在字节飞书实习。秋招投递了快手三次简历,先后投了深圳杭州的base结果简历都挂。鼓起勇气投第三次(北京base)后才有了面试机会,目前已经收到手手的意向啦。故总结下三次面试的面筋,为后来者提供参考。

一面(65min)

字节实习

面试官让我主要介绍下在字节都做了些啥?

  • 历史vue组件迁移到react(模块联邦实现组件维度的技术迁移)
  • 复杂表单组件的设计理念, use-context-selector和useReducer
  • service-woker存储入口html原理以及如何在html更新时及时取到最新的html文档?
  • 覆盖率
  • 模块联邦的原理浅说了一下, react组件渲染至vue的大体流程(核心是createPortal)

问题

全程没有八股,实习介绍完就开始写题

  • 取得数组的最大深度

    let arr = [1,2,[2,[3]],4,5]
    getDepth(arr) ===> 3
  • 生成随机的16机制颜色值
    手写完后,能达到生成的效果。但是面试官提示说从16进制入手会更简练一些。

  • 场景题
    const newFn = requestFn(fn,count,time)
    实现requestFn,调用返回newFn可以做到fn每隔time时间执行一次, 供执行count次

  • 手写react组件
    实现复选框组件

反问

问了业务以及技术栈, 总体感觉面试体验挺好,面试官挺年轻看起来像没毕业几年。最后结束时笑着说肚子饿了要去吃饭哈哈哈

二面(65min)

整场面试体验特别好, 面试官很友善和蔼看起来像是小组的负责人, 自我介绍完他有个紧急会议然后留下了一道组件题给我写。约6分钟后回来然后开始正式的面试。

题目

  • 框架题: 使用vue或者react实现多选框的组件, 因为面的部门的技术栈主要是vue, 面试官建议我使用vue写,没办法好久没用vue了,硬着头皮用组合式api写的。
    写完后面试官反问如果要进行封装给其他人用, 可以有哪些优化点?
  • 介绍实习中遇到的难点与收获
    • 复杂表单表格的设计理念. useReducer和use-context-selector
    • 对TS高级类型的理解加深了, 讲述了在复杂业务中TS的重要性。
      然后面试官发散性问我never类型在实际场景中的使用?
    • 模块联邦
  • 然后开始写题
    • 实现数组的flat方法, 可以指定层级进行拍平同时也要兼容Infinity层
    • 使用数组的reduce实现数组的map方法
      一分钟就a了, 随后面试官发散性问为什么数组的很多方法比如forEach, map, filter的回调函数的第 三个参数要传数组本身的引用?
    • 手写Promise.allSettled
  • 最后一道很经典的题
    在浏览器中输入url地址后按回车会发生什么?
    由这个问题引出以下问题:
    • DNS域名解析
    • HTTPS加密过程
    • 浏览器渲染原理
    • http1.0 1.1 2.0 3.0的区别?
    • 为什么http3.0要基于UDP实现, 如何保证可靠性?

反问
反问了部门业务, 得知我面的部门是大前端部门, B端C端都有做, 有做活动页的低代码平台,有面向快手创作者的创造者平台(会比较多的用到图表渲染),总之那边的业务我很喜欢。
面完一个小时后约了三面。

三面(30min)

三面面试官有一点点严肃, 名字叫海洋看起来像是大佬。整个面试过程很快就半小时。

  • 自我介绍
    让我介绍自己做过的项目(值得说的项目都可以说不局限于实习项目), 把自己之前用canvas做的一些粒子烟花效果以及用canvas去获取视频的每一帧等等小demo都说了下。后面介绍了自己的个人博客以及实习做的一些事情
  • 算法题
    力扣原题
    单词距离
    有个内含单词的超大文本文件,给定任意两个单词,找出在这个文件中这两个单词的最短距离(相隔单词数)。如果寻找过程在这个文件中会重复多次,而每次寻找的单词不同,你能对此优化吗?

题写完后问了我手上已经有几个offer了以及字节打算啥时候转正答辩
最后面试官有说让我等HR面, 大概一到两周可以出结果,希望能进池子!!

#快手前端面试##快手校招##前端面经#
全部评论
羡慕
1 回复 分享
发布于 2022-10-20 17:26 山东
恭喜追追上岸!记得去北京请我吃饭
点赞 回复 分享
发布于 2022-10-20 17:25 浙江
感觉你的面试题比我的难😂
点赞 回复 分享
发布于 2022-10-20 22:53 北京
请问 为什么数组的很多方法比如forEach, map, filter的回调函数的第三个参数要传数组本身的引用呢?
点赞 回复 分享
发布于 2022-10-21 16:15 江苏
沾沾喜气 苦等hr面
点赞 回复 分享
发布于 2022-10-23 18:16 黑龙江
楼主你好 请问这是哪个部门的呀 是主站的运营研发部的大前端技术中心吗
点赞 回复 分享
发布于 2022-12-16 21:48 北京
请问楼主后续hr面了吗,我是24届的,今天也是这个叫海洋的大佬三面,也说等hr
点赞 回复 分享
发布于 2023-08-16 19:46 上海

相关推荐

字节抖音游戏一面讲一下权限接口优化的项目涉及到很多业务方如何推进的实习用到的技术栈有哪些讲一下react的一些特点和vue之间的差别讲一下fiber架构讲一下promise讲一下async/await的实现原理rem,em如何使用rem来进行多端适配各种攻击方式【xss,cref,中间人攻击】中间人攻击会出现在哪种场景css的position有什么值一个长数组的处理阻塞了页面如何处理淘宝秒杀倒计时如何保证倒计时的准确性实现format函数```var origin =(source:b', target: 'c'},source a'. target:'b'}{source:'c', target: 'd'}Jformat(origin);=>按顺序打印 abcd``` 二面讲了一下实习项目【无权限页面加载优化】引申到页面加载优化为什么小图片使用base64编码对webp有什么了解http2有什么特点http1.1支持服务器推送吗react的hook,分别的功能和使用场景react如何进行状态管理setstate是异步还是同步更新函数组件没有生命周期如何在挂载和卸载阶段进行操作webpack的一个流程webpack的treesharking在ES6之前的一个treesharkingloader和plugin之间的差别客户出现白屏如何排查如果联系不上客户怎么办前端监控是如何进行错误检测的如何实现的虚拟列表为什么要使用虚拟列表为什么要自己写?有参考其他的库吗算法:实现一个括号匹配(栈) 三面问了一些实习项目react的diff过程深度有限和广度优先的应用,有什么不同为什么react用深度优先遍历xss攻击和防范实现一个autocontext组件如何设计,讲一下可能会出现哪些边界case和解决方法输入框的过滤如何操作做题:一个add(1)(2)(3);add(1,2,3)柯里化的题三面的题没有写出来被叫停了,是做过而且不难的题,国庆回来就复习了一天,感觉面试没什么状态
点赞 评论 收藏
分享
9 31 评论
分享
牛客网
牛客企业服务