欢迎访问北京吉利学院网站!网站首页 | 联系我们
北京吉利学院
免费服务热线:400-619-8866
您的当前位置:首页  > 学校动态 > Web前端工程师中级面试题你知道吗?

Web前端工程师中级面试题你知道吗?

发布时间:2019/2/11 16:52:43 分类:学校动态 次浏览

Web前端工程师中级面试题你知道吗?最近有小伙伴在问可不可以分享一些现在Web前端的中级或者高级面试题!为了能够让大家顺利过关,所以小编专门去请教了北京吉利学院前端技术大神,今天就给大家分享几个Web前端中级面试题及答案,感兴趣地话可以收藏起来哟~

 

 所以小编专门去请教了北京吉利学院


北京吉利学院为你分享web前端面试题及答案

 

浅拷贝和深拷贝的问题?

 

1.深拷贝和浅拷贝是只针对ObjectArray这样的复杂类型的

2.也就是说ab指向了同一块内存,所以修改其中任意的值,另一个值都会随之变化,这就是浅拷贝3.浅拷贝,”Object.assign()方法用于将所有可枚举的属性的值从一个或多个源对象复制到目标对象。它将返回目标对象4.深拷贝,JSON.parse()JSON.stringify()给了我们一个基本的解决办法。但是这种简单粗暴的方法有其局限性。当值为undefinedfunctionsymbol会在转换过程中被忽略.解决办法是递归函数

 

Node事件循环,js事件循环差异?

 

1.Node.js的事件循环分为6个阶段

2.浏览器和Node环境下,microtask任务队列的执行时机不同

3.Node.js中,microtask在事件循环的各个阶段之间执行

4.浏览器端,microtask在事件循环的macrotask执行完之后执行

5.递归的调用process.nextTick()会导致I/Ostarving,官方推荐使用setImmediate()

 

ES6块与CommonJS模块的差异?

 

1.CommonJs模块输出的是一个值的拷贝,ES6模块输出的是一个值的引用

2.CommonJS模块是运行时加载,ES6模块是编译时输出接口

3.ES6输入的模块变量,只是一个符号链接,所以这个变量是只读的,对它进行重新赋值就会报错

 

有没有去研究webpack的一些原理和机制,怎么实现的?

 

1.解析webpack配置参数,合并从shell传入和webpack.config.js文件里配置的参数,生产最后的配置结果。

2.注册所有配置的插件,好让插件监听webpack构建生命周期的事件节点,以做出对应的反应。

3.从配置的entry入口文件开始解析文件构建AST语法树,找出每个文件所依赖的文件,递归下去。

4.在解析文件递归的过程中根据文件类型和loader配置找出合适的loader用来对文件进行转换。

5.递归完后得到每个文件的最终结果,根据entry配置生成代码块chunk

6.输出所有chunk到文件系统。

 

网站性能优化?

 

1.http请求方面,减少请求数量,请求体积,对应的做法是,对项目资源进行压缩,控制项目资源的dns解析在24个域名,提取公告的样式,公共的组件,雪碧图,缓存资源,

2.压缩资源,提取公共资源压缩,提取cssjs公共方法

3.不要缩放图片,使用雪碧图,使用字体图表(阿里矢量图库)

4.使用CDN,抛开无用的cookie

5.减少重绘重排,CSS属性读写分离,最好不要用js修改样式,dom离线更新,渲染前指定图片的大小

6.js代码层面的优化,减少对字符串的计算,合理使用闭包,首屏的js资源加载放在最底部

 

promise放在trycatch里面有什么结果?

 

1.Promise对象的错误具有冒泡性质,会一直向后传递,直到被捕获为止,也即是说,错误总会被下一个catch语句捕获

2.Promise链中抛出一个错误时,错误信息沿着链路向后传递,直至被捕获

 

跨域问题,谁限制的跨域,怎么解决?

 

1.浏览器的同源策略导致了跨域

2.用于隔离潜在恶意文件的重要安全机制

3.jsonp,允许script加载第三方资源

4.nginx反向代理(nginx服务内部配置Access-Control-Allow-Origin*

5.cors前后端协作设置请求头部,Access-Control-Allow-Origin等头部信息

6.iframe嵌套通讯,postmessage

 

javascript中常见的内存泄露陷阱?

 

1.内存泄露会导致一系列问题,比如:运行缓慢,崩溃,高延迟

2.内存泄露是指你用不到(访问不到)的变量,依然占居着内存空间,不能被再次利用起来

3.意外的全局变量,这些都是不会被回收的变量(除非设置null或者被重新赋值),特别是那些用来临时存储大量信息的变量

4.周期函数一直在运行,处理函数并不会被回收,jq在移除节点前都会,将事件监听移除

5.js代码中有对DOM节点的引用,dom节点被移除的时候,引用还维持

6.JavaScript4种常见的内存泄露陷阱

 

什么是WebWorkers?为什么我们需要他们?

 

1.WebWorkersWEB前端网页上的脚本提供了一种能在后台进程中运行的方法。

2.解决客户端JavaScript无法多线程的问题,

3.模拟多线程(说出JavaScript单线程的缺陷,ajax为什么要异步)

 

 

以上就是今天的全部分享了,想了解更多关于web前端相关知识吗?那就时刻关注我们吧!北京吉利学院欢迎你!

 

上一篇:北京吉利学院2019年招生专业有哪些?
下一篇:我校召开学习习近平总书记学校思想政治理论课教师座谈会重要讲话精神座谈会