V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jandou
V2EX  ›  职场话题

刚刚参加了一个前端面试,如下总结,看你能答几个道题

  •  2
     
  •   jandou · 2019-05-23 14:41:07 +08:00 · 4207 次点击
    这是一个创建于 1793 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问题:

    1. Vue 的双向绑定如何实现?拦截,然后是如何拦截的。
    2. 关于设计模式的理解。常用设计模式,对应的使用场景,如何提高系统的高质量?
    3. React 的组件复用除了 extends 这种基本的方式,还有哪些常用方式?
    4. 由 3 问,引申到高阶函数的原理和特性?柯里化是什么?为什么要使用它?那些场景需要反柯里化?
    5. 聊一聊前端自动化测试?如何写好测试用例,测试提高代码质量。
    6. 实现一个无限下拉列表的 React 组件,如何暴露接口,需要传递哪些重要参数( props )
    7. 你觉得毛衣站会对国内互联网产生哪些影响?具体到前端领域,会有哪些方向的改变?

    不保证问题描述的绝对准确,但关键词就这些~

    第 1 条附言  ·  2019-05-23 16:07:18 +08:00

    还有一个问题

    13 条回复    2019-05-24 13:44:10 +08:00
    jandou
        1
    jandou  
    OP
       2019-05-23 14:59:57 +08:00
    没人回复,被降权了么...
    wangdada
        2
    wangdada  
       2019-05-23 15:03:55 +08:00
    虽然不难,但我也答不起来 😂
    q8164305
        3
    q8164305  
       2019-05-23 15:15:31 +08:00 via Android
    准备过的话不难吧,前端面试最难的是,你永远不知道面试会问啥
    murmur
        4
    murmur  
       2019-05-23 15:16:22 +08:00
    柯里化是什么,这东西不纯粹是为了面试而生的,刚看了一个网站这东西实现猥琐性能不行,那要他干嘛
    jin5354
        5
    jin5354  
       2019-05-23 17:10:50 +08:00
    都能答上来,刚换了工作
    KuroNekoFan
        6
    KuroNekoFan  
       2019-05-23 18:10:53 +08:00 via iPhone
    不问一下 react 的 diff 和 patch 细节吗!!虽然我很讨厌这种问题但是架不住面试真的就喜欢问,敢情 reactjs.org 的 advance 里面那么多内容,偏偏就挑这个点。
    oxyFired
        7
    oxyFired  
       2019-05-24 09:24:21 +08:00
    第七个问题怎么回答的,摸不到头脑
    xichengh
        8
    xichengh  
       2019-05-24 09:57:46 +08:00
    脉脉发了?
    qq1009479218
        9
    qq1009479218  
       2019-05-24 10:49:56 +08:00   ❤️ 1
    @murmur 柯里化在函数式编程里应用非常常见的,我们现在处理数据都用函数式处理,处理逻辑切分成各个小函数,然后上游函数返回值作为下游函数的参数,利用柯里化实现一个 context,开发体验上还是很好的,至于性能,函数式确实会稍微差一点,但是对于目前的我们来说,瓶颈不在这里。
    murmur
        10
    murmur  
       2019-05-24 10:54:47 +08:00
    @qq1009479218 明明有了语法更好理解的 bind 为什么还要用柯里化这种 es3 的东西呢?
    qq1009479218
        11
    qq1009479218  
       2019-05-24 11:01:13 +08:00
    @murmur 我说的 context 可能和你说的 context 有点出入,我说的这个 context 类似 koa 的 ctx。而且感觉柯里化是函数式编程的概念
    murmur
        12
    murmur  
       2019-05-24 11:06:16 +08:00
    @qq1009479218
    https://juejin.im/post/5af13664f265da0ba266efcf
    你看这个文章跟你们的使用场景有出入么
    qq1009479218
        13
    qq1009479218  
       2019-05-24 13:44:10 +08:00
    @murmur 其实我们用的 rxjs,举个简单的例子,const add = (a: number) => (b: number) => a + b; 这个参数 a,我们把它设计成了 ctx,b 参数就是上游函数的返回值,通过函数式编程中的 pipe(或者 compose)概念,可以很轻易的实现逻辑解耦
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1173 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:16 · PVG 02:16 · LAX 11:16 · JFK 14:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.