一些想到的问题
本文最后更新于:9 个月前
1、Vue中父子组件的加载顺序?
父子组件在加载时
- 如果子组件是同步加载的,那么父组件会先created然后在beforemounted时对子组件进行created,子组件根据在父组件中使用的顺序进行created,当所有子组件被mounted时,父组件才会进行mounted。
- 如果子组件时懒加载模式,那么父组件会在created,mounted之后的beforeUpdate时根据子组件的顺序进行子组件的created和mounted
2、浏览器每一帧发生了什么事情?
3、页面适配怎么做?rem什么原理?
@media screen可以进行区分,也可以使用viewport进行缩放,或者使用rem根据html根元素的font-size进行缩放,很少使用em,因为em是根据父元素的font-size进行缩放,而且每个组件的em值可能都是不一样很难管理
4、贪心和分治说一下?
贪心通俗理解为找到局部最优解,在局部情况下我只找最接近结果的情况,然后所有情况加在一起得到最终最优解,该算法必须一系列子问题中每个子问题不依赖于后面子问题的解,我才能确定当前子问题的局部最优解不会影响最终解;
分治算法也是大问题拆解成小问题注意解决的情况。比较经典的就是快速排序算法,和归并排序,快排是通过找到一个mid值,然后把小于的放左边大于的放右边,然后左右再继续执行相同的操作来进行排序的,这就是把大的排序问题拆解成小的排序问题,直到最后解决了小问题,那么大问题也得到解决。归并中也是类似,把数分成两堆,然后解决小问题的排序问题,最后把小的排序结果进行归并操作得到最终排序结果。
5、Vue的生命周期有啥?
有几个重要阶段:beforeCreate,created,beforeMount,mounted,beforeUpdate,updated,beforeDestroy,destroyed,分别是组件创建,组件载入,组件更新,组件销毁,其中数据是在created时就被获得,载入时数据载入Dom
6、Webpack你是用什么进行打包优化的?
我用的是hard-sourse-webpack-plugin,因为他第一次要缓存所以第一次时速度没有变化,但是第二次的速度就能特别快,提升很显著,起码在80%以上,选这个是因为这玩意很简单,只需要导入后然后在plugins里加上new HardSourceWebpackPlugin就能实现基本功能,特别简单好用。
#奇奇怪怪的问题
Proxy相对于Objec.defineProperty的优势?区别?
常见的dom操作有哪些?
页面中哪些时候会进行重绘重排
Webpack的原理?有哪些好处?
首屏加载优化方案?
有哪些性能优化方法?为什么可以达到优化?怎么做性能监控?
重绘和回流 是什么,在什么时候发生,机制是什么,如果减少?
cookies,sessionStorage和localStorage的区别?除了这些indexedDb和Web SQL又是什么?
vue响应式原理的理解?vue3和vue2有什么区别,怎么看待官方推送版本变成了vue3?
vue数据双向绑定的原理,哪些时候会失效,失效了又要如何处理?
浏览器工作原理–浏览器如何渲染页面?
什么情况会导致内存泄漏?
浏览器工作原理–浏览器如何实现垃圾回收?计数?三色标记?v8的新老空间?
浏览器兼容性问题及其解决方法
AMD和CMD和commonjs的区别
什么是虚拟dom?为什么虚拟dom能提升性能?vue和react的domdiff算法有啥区别?react各个版本针对dom又做了什么优化
闭包的理解
原型和原型链的理解
vue和react的区别
react中setState后发生了什么?
shouldComponentUpdate作用
vue的keepAlive是什么
清除浮动的方法
防抖和节流的使用场景和手写
Promise有何见解,手写一个包含promise.all race allSettled
跨域和他的几个解决方法
javascript的值引用和值类型?涉及的深浅拷贝
js中有哪些数据结构?v8引擎中对对象的优化?快慢对象优化?weakMap是什么?为什么可以很快被回收?
http请求有哪些区别?是个什么流程,中间经过了哪些步骤?
tcp三次握手四次挥手做了什么?中间会产生什么攻击,怎么防范?
tcp和udp有啥区别?应用场景分别是什么?
websocket是怎么实现的?
http1.0和2和3的区别是什么?有什么不同?有哪些常用的状态吗?
304时是什么缓存?http缓存是什么?协商缓存和强缓存有哪些区别?分别是怎么工作的?什么时候用什么?由什么字段控制?
http常用的请求头有哪些?
fetch请求两次是为什么?OPTIONS预检请求是什么?
SSL加密的原理?还有哪些常用的加密手段?AES对称加密和RSA非对称加密算法是如何使用的?
ajax的优缺点,原理?
axios 原理是什么?
如何进行xss攻击?如何防范?如何进行csrf攻击?如何防范
网络层攻击有哪些?tcp报文攻击?udp报文攻击?ICMP报文攻击?
应用层攻击有哪些?dns报文攻击?HTTP报文攻击?其他的Flood攻击?
SPA应用首屏加载慢的优化方案
css中link和@import的区别?
bind,apply和call的区别,手写一个
this的指向问题?他的本质是什么?EC AO VO,浏览器底层是如何进行变量制造和上下文处理的?作用域链是什么?
vue中的data为什么使用return直接data对象为什么不行
data 必须是一个函数
当我们定义这个<button-counter>
组件时,你可能会发现它的 data 并不是像这样直接提供一个对象:
data: {
count: 0
}
取而代之的是,一个组件的 data 选项必须是一个函数,因此每个实例可以维护一份被返回对象的独立的拷贝:
data: function () {
return {
count: 0
}
}
如果 Vue 没有这条规则,点击一个按钮就会影响到其它所有使用了该按钮实例
typeof和instacneof的区别
外边距重叠的问题?
seo优化?
new操作符做了什么
面向过程编程是什么 和面向对象有什么区别?
什么是ssr?有做过吗?有什么困难
箭头函数和普通函数区别?
Page Visibility API用途?
HTML5新的特性?
CSS3新特性?
px,em,rem的区别?1px解决方案
BFC(块级格式化上下文)的理解
script标签设置async或者defer的用处和区别?
浏览器加载资源时的顺序和优化方案?
居中有哪些方法?
无限列表如何实现?复用和只是用一些dom
浏览器事件机制是什么?冒泡和捕获?事件委托?分别是什么
什么是点击穿透
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!