首页 >> 大全

2022年校招前端开发面经总结(高频),适合基础好的同学

2023-11-24 大全 30 作者:考证青年

在我的面试经历中问的不多,但也是重点,网上很多相关知识,我就直接引用了CSDN用户 的博客了

浏览器输入url到页面展示出来的全过程(含TCP三次握手四次挥手)

5、什么是跨域?影响了什么?怎么解决?

跨域:浏览器的同源策略对资源请求和响应做出的限制,所谓同源是指"协议+域名+端口"三者相同,如果缺少了同源策略,浏览器很容易受到XSS、CSRF等攻击。

同源策略限制内容有:

跨域解决方案

6、说一下事件循环(event-loop)

首先,JS是单线程的,在JS代码的执行过程中,会将同步代码放入执行栈中,将异步代码放入异步队列。执行栈中的同步代码依次执行,当执行栈为空时,轮询异步队列,异步队列中的由于类型不同,又分成宏任务队列和微任务队列,且微任务队列优先级高于宏任务队列,所以微任务队列里的任务的同步代码会先被放入执行栈中执行,再处理宏任务队列中的任务,每执行完一个宏任务,都会去执行微任务队列里的任务。如此轮询执行,直到所有队列为空。

下面放一个图帮助大家理解。

_高级前端面试题知乎_前端高频面试题总结

二、JS部分 1、JS中的数据类型有哪些? 2、说一下原型链是什么

首先,从构造函数new出来的一个实例对象,都有一个属性 指向 构造函数的属性,该构造函数的属性称为 原型对象,原型对象中具有 属性指向构造函数,同时具有一个属性指向 构造函数的 属性(因为该原型对象也是通过构造函数new出来的),的原型对象上的属性指向 null。从开头的构造函数new出来的实例对象,到最终的null,中间存在原型指向的链式结构,称为原型链。

下面放一个图帮助大家理解。

3、new关键字的实现过程

1、生成一个空对象

2、将该空对象的原型设置为构造函数的对象(也就是空对象的指向构造函数的属性)

3、让函数的this指向这个对象,执行构造函数的代码(为这个新对象添加属性)

4、判断函数的返回值类型,如果是基本数据类型,返回创建的对象。如果是引用数据类型,就返回这个引用类型的对象。

4、ES6有哪些新特性 5、说说你对闭包的理解

前端高频面试题总结__高级前端面试题知乎

闭包是一个定义在函数内部的函数,它能够访问上层函数作用域中的变量,使其不被回收,这就是闭包。

闭包常见的应用场景有:节流、防抖、函数柯理化

节流和防抖函数可以写写,函数柯理化比较偏,有兴趣可以学学

6、说说你进行数据深拷贝的几种方式

function cloneDeep(obj){let newObj// 是对象,进行深拷贝if(typeof obj == 'object' || obj != null){// 判断一下obj是对象还是数组newObj = obj instanceof Object ? {} : []// 对源数据中的属性遍历,递归深拷贝for(let i in obj){newObj[i] = cloneDeep(obj[i])}}//不是对象,则直接赋值else{newObj = obj}return newObj
}

三、Vue部分 1、Vue生命周期

直接放图,大家看吧,最好背的滚瓜烂熟,一般问vue开头就是生命周期,把这个给面试官讲的仔仔细细,面试官大概不会为难你后面的vue的知识了,因为他会觉得你vue学的不错

2、Vue 组件间的传值的几种方式 3、Vue中key的作用

简单点说就是高效更新虚拟dom。具体是怎么做的呢,会的已经想起来了,不会的看视频吧。

尚硅谷vue课程 P30讲的就是key

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了