首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

前端综合面试题(第二期)

1.script 的位置是否会影响首屏显示? 不影响开始时间,但影响结束时间 2.disiplay 与 visibility的区别? v-if 与 v-show 的区别相同。前者不满足条件直接移除节点,影响页面布局;后者不满足条件通过Css 方式隐藏样式,节点依然存在,不影响布局。“ 案例在此 ” 3.浏览器渲染的顺序是什么? 构建dom树、构建css树、构建渲染树、节点布局、页面显示 4.watch 与 computed 的区别? 1) watch 没有缓存 computed 有缓存 2) watch 监听数据变化 computed 从现有的数据计算新的值 3) watch 不能异步 computed 能异步 4) watch 一对多关系 computed 多对一关系 5.react 混合 你怎么理解的? mixins 把多个组件公用的逻辑与数据部分抽离出来 6.为什么要对 axios 进行二次封装? 统一配置http 请求和地址、请求头; 可以劫持http 请求,响应错误统一处理; 扩展简化axios 方法,jsonp、地址。 7.简述webpack 打包原理 webpack实际上是一个静态模块打包工具,webpack 处理项目时, 它会递归地构建一个依赖关系图,其中包含应用程序需要的每个 模块,然后将所有这些模块打包成一个或多个 bundle。

02

《redis in action》Redis分布式锁

这块作者还是大概得将书中的内容进行一下翻译,首先为啥要用redis分布式锁。我们在之前学redis事务的时候说redis提供了watch/mutli/exec机制,其中的watch是乐观锁。也就是通过监听某个数据的变动来做出相应的改变。当时我们也说了redis的watch乐观锁为啥不像关系型数据库那样直接禁止别其他客户端修改的问题。Redis更多的还是基于其效率设计,因此通过尽可能快的通知客户端去维护数据的安全性,通过watch的乐观锁和mutli/exec事务来看。确实可以直接做分布式锁,为啥可以做这件事的原因是watch命令的监听特性会一直持续到exec的执行,如果watch的键值发生变化,那么watch后边的事务是不会执行的。但是我们必须要保持我们的事务不会出现指令性质的错误,这块我们之前说过redis事务本身和关系型数据库事务不一样,执行出错期间不能回滚。

02

从单向到双向数据绑定

用户最满意的,无非就是界面的操作能实事反应到数据。而实现这种的可以有双向数据绑定、单向数据流的形式。双向数据绑定是,ui行为改变model层的数据,model层的数据变了也能反映到ui上面。比如点击按钮,数字data+1,如果我们自己在控制台再给data+1,那么v层也能马上看见这个变化。而单向数据流就不同了,我们只有ui行为改变,data就改变并马上反馈到v层,而我们自己在控制台改变data这个值,v层居然不变(model是已经变了并没有反应),只能等到下一次ui行为改变,带上这个data结果一起处理。仅仅在V层的单向数据,真的能满足用户需求?数据很庞大的时候,双绑性能如何?其实,每一种都有每一种的适用场景,还是那句话,脱离实际场景谈性能,就是扯淡

02
领券