wxg 前端一面凉经

117 阅读2分钟

记录一下 听说写多了容易得offer

    • 上来四道算法题,1easy、2mid、1hard。会问这里为什么这样写,这么写是要做什么,确保是真的会,不是记了答题模版或者抄的答案。
    • 在实习中做了重构老组件,学到了什么
      • 提升了代码熟练度
      • 对代码的书写规范有了认识,尽量把代码主要把代码放外面,主流程提取出来写成一个函数运行接一个函数运行,虽然性能有点损失,但是可读性大幅提升。
    • useContext的缺陷,兄弟组件不使用任何api的信息传递方式(包一个更大的父组件,两个兄弟组件通过父组件的props交流)
    • jsx到页面dom的过程 (react-dataid)
      • react diff算法的详解/源码 (精细到每一步做了什么,共享屏幕画图展示一下步骤)
    • SSR的整个过程,Next.js做了什么,怎么水合的。
    • 为什么要出现react hooks(除了更方便、更规范、避免hoc回调地狱这些粗略的说法,我还答了因为react fiber的引入,为了优化性能,分成了处理和交付两个阶段。导致某些周期会出现重复调用的问题,比如componentWillMount,可能会被fiber的优先机制给卡住,导致多次调用)
      • hooks可以代替全部生命周期吗(我回答不能,只能满足常用的要求需要,(比如useeffect可以替代三个最常用的周期),所以在开发中足够了。因此部分比较复杂或者操作比较精细的中间件或者插件仍然使用类组件的方式写。但是面试官好像确信一定可以,让我下去再看看?不太理解,查了一下 确实不能完全代替啊)
    • 怎么发现SSR下水合陷阱的
      • 讲了发现的过程,但是面试官更希望听到,我自己怎么去打断点,看源码找到问题。而不是leader找到,然后写成了 文章/技术会 分享。

面了两小时,后面感觉脑袋空空了,反应不过来了