前端开发工程师面试题p1

因为没有系统的学习前端相关理论知识,很多都是看到面试题之后去搜的答案,网上信息良莠不齐,如果有错误或者不准确的地方,欢迎留言补充,批评指正。

1.MVVM是什么

MVVM是model-view-viewmodel的简称,model指的是数据,view指的是视图也就是用户看到的界面,viewmodel是MVVM的核心,是连接model和view的桥梁。MVVM是vue两大特性的核心。

2.vue的两大特性是什么

双向数据绑定和数据驱动视图。

3.双向数据绑定的原理

将数据劫持和发布订阅者模式结合,通过object.define.property()劫持属性的getter()和setter(),数据变动时发布信息给订阅者,驱动相应的监听回调渲染视图。这同时也是vue响应式的原理。

4.v-if和v-show的区别

v-if和v-show都是实现元素的隐藏和显示的,前者的原理是通过把元素渲染到视图上,后者是通过控制元素的第三批老人属性,当项目大或者元素状态需要被频繁切换的时候,我们推荐使用v-show,在元素状态基本保持不变或者需要结合多个应用场景的时候,推荐使用v-if,v-if可以和v-else-if和v-else结合实现效果。

5.如何学习前端

首先明确前端必备技能,然后在B站找相关课程,包括html、css、javascript、vue,同时在牛客网刷面试相关试题,不会的及时学习总结。

6.浏览器中事件循环微任务和宏任务队列各有多少

都各有6个。

7.对闭包的理解以及应用场景

假设一个函数可以访问到外部函数的私有变量,就把这个函数称为闭包。闭包应有场景包括封装私有变量、防抖、节流等等。

8.对防抖和节流的理解

防抖和节流的存在都是为了解决连续触发事件事件执行过于频繁的问题。防抖使得事件只在最后一次触发时执行,节流使得事件在规定时间内只执行一次。

9.computed和watch的区别

①computed是计算属性,watch是侦听器,监听数据变化②computed必须有返回值,watch可以没有③computed在最开始网站运行时默认执行一次,watch默认不执行。

10.webpack常用loader和plugin

less-loader-把less语法编译成css语法,css-loader-把css语法编译成commonjs语法,style-loader-把css加载到html语句中,babel-loader-把高级js语法编译成低级js语法,file-loader-处理文件,url-loader-处理图片,clean-webpack-plugin-在build时自动删除上一次打包生成的文件,html-webpack-plugin-在内存中创建指定文件的html页面,并把打包好的bundle.js自动追加到页面中。

11.怎么接触到的前端

大一的时候学校开设了html课程

你可能感兴趣的:(vue.js,前端,javascript)