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