V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaojun1994
V2EX  ›  程序员

请问在座各位(前端)程序员们面试怎么应对哪些你觉得对但是面试官觉得错的问题?

  •  
  •   xiaojun1994 ·
    imzxj · 2020-01-07 14:18:50 +08:00 · 2562 次点击
    这是一个创建于 1773 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近面试前端碰到几个意见不同问题想请问一下碰到这种各位大佬都是如何解决的,也请大佬指点一下我的答案

    vue-router 中 mode 两种模式区别

    我说 history 比 # hash 那种新,history 是 H5 新出的,这种需要 nginx 配置才能好好使用,面试官非要说 history 是老的,hash 是新的,???

    MobX 声明一个空对象,比如 {},然后直接 xxx.name 增加一个值会导致不渲染怎么办

    我说我没遇到这问题,刚经过测试也没发现问题啊

    Vue 中 在 data() 中声明一个 string 类型变量,而后给它赋值一个属性,但是不去使用它会卡死怎么搞

    面试官说这是 Vue 中很大一个坑,但经我测试普通 string 无法设置属性,只有 new String() 那种才行,再说也并没遇到卡死问题

    vw vh 怎么根据设计稿做移动端适配

    我说 设计稿上元素大小 / 设计稿总大小 * 100 这个错了吗,面试官好像很疑惑???

    Vue 中如何缓存组件

    我说使用 keep-alive,他说 vue 中这个功能是第三方的而 React 中自带此功能,我有些懵逼,他是说底层什么吗?

    第 1 条附言  ·  2020-01-07 15:24:58 +08:00
    感谢各位大佬回答,某些争议之处可能是版本问题,估计某些以前的版本确实有那种问题
    第 2 条附言  ·  2020-01-07 15:37:43 +08:00
    第三个问题中应该是我误解了,确实会卡住,因为 vue 直接抛出错误了嘛。。。
    19 条回复    2020-01-07 18:50:37 +08:00
    noreplay
        1
    noreplay  
       2020-01-07 14:39:15 +08:00
    这么明显的提示:
    不要进来,不要进来,不要进来


    这么好的面试者 (逃
    xiaojun1994
        2
    xiaojun1994  
    OP
       2020-01-07 14:41:05 +08:00
    noreplay
        3
    noreplay  
       2020-01-07 14:44:07 +08:00
    @xiaojun1994 面试官大概率会是你进这个公司的上司,所以,假如他水平不如你,你进去也呆不久。所以
    zarte
        4
    zarte  
       2020-01-07 14:47:51 +08:00
    MobX 那个说的是不是 vue 里面 一开始定义 obj{} 之后通过方法设置 obj.name=‘xx’ 双向绑定的组件不会更新成新值?
    darlinghsu
        5
    darlinghsu  
       2020-01-07 14:49:36 +08:00   ❤️ 1
    嗯,好的。我印象中是这样的,可能我时间长记岔 /记错了。回去会再看看
    xiaojun1994
        6
    xiaojun1994  
    OP
       2020-01-07 14:51:57 +08:00
    @noreplay 不至于吧,我水平一般,就是这些个问题问的我一头雾水
    onfuns
        7
    onfuns  
       2020-01-07 14:53:03 +08:00
    如果不想你过,你就是尤来了也能让他挂!
    zhw2590582
        8
    zhw2590582  
       2020-01-07 14:53:41 +08:00
    窗户 + 人 + 逃.jpg
    xiaojun1994
        9
    xiaojun1994  
    OP
       2020-01-07 14:56:10 +08:00
    @zarte 对,我测后发现没问题,是我姿势不对吗,demo 在这,https://codesandbox.io/s/lively-sunset-4hzi1
    xiaojun1994
        10
    xiaojun1994  
    OP
       2020-01-07 15:04:39 +08:00
    @zarte 搞错了,面试官没说 vue,vue 确实有$set 更新方法
    ncwtf
        11
    ncwtf  
       2020-01-07 15:07:44 +08:00
    有一次面试因为 String str = new String()在堆栈中的分配吵起来了,理算当然的面试失败了。我坚信我是对的。然而。。没什么卵用,面试你的人还不一定是个什么东西呢。
    zenxds
        12
    zenxds  
       2020-01-07 15:09:14 +08:00
    @xiaojun1994 mobx 5 之后是基于 proxy 的,所以没有这个问题。4 一开始没有 observable 的属性后面赋值是无法触发更新的,要用 extendObservable API 之类的来解决这个问题
    xiaojun1994
        13
    xiaojun1994  
    OP
       2020-01-07 15:18:07 +08:00
    @zenxds 多谢大佬指点,那看来 5 之前应该是 Object.defineProperty,和 vue 一样,无法监测到新增属性
    Joexjx
        14
    Joexjx  
       2020-01-07 15:23:05 +08:00   ❤️ 1
    extendObservable
    noobma
        15
    noobma  
       2020-01-07 15:53:48 +08:00
    第一个我觉得你说需要 nginx 配置才能好好使用,有点局限了😂
    cheeto
        16
    cheeto  
       2020-01-07 15:55:08 +08:00
    keep-alive 难道不是官方内置组件么
    xiaojun1994
        17
    xiaojun1994  
    OP
       2020-01-07 16:02:58 +08:00
    @noobma 还有什么基于 hashChange 这些,我懒得打了😭
    nnnToTnnn
        18
    nnnToTnnn  
       2020-01-07 18:16:05 +08:00
    你觉得面试官是错的,但是我只想说,领导要出面试题目 300 题左右,而且不能重复。那怎么办嘛?
    masterV
        19
    masterV  
       2020-01-07 18:50:37 +08:00
    hisory 和 hash 原理不一样,前者 url 变动直接请求服务器,需要服务器将响应始终指向 index.html 而不是 404 ;后者不发送请求。

    争论哪个新的老的我没太懂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1869 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:36 · PVG 00:36 · LAX 08:36 · JFK 11:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.