当前位置: 首页 > 面试经验 >

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

优质
小牛编辑
140浏览
2023-03-28

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面, 大概一到两周可以出结果,希望能进池子!!

#快手前端面试##快手校招##前端面经#
 类似资料: