总结一下
面试前要精心做好准备,简历上写的知识点和原理都需要准备好,项目上多想想难点和亮点,这是面试时能和别人不一样的地方。
还有就是表现出自己的谦虚好学,以及对于未来持续进阶的规划,企业招人更偏爱稳定的人。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。
为了帮助大家更好更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。
前端面试题汇总
JavaScript
性能
linux
前端资料汇总
前端工程师岗位缺口一直很大,符合岗位要求的人越来越少,所以学习前端的小伙伴要注意了,一定要把技能学到扎实,做有含金量的项目,这样在找工作的时候无论遇到什么情况,问题都不会大。
},
{
// 测试生成空白页
open: true,
helloworld: true,
desc: ‘自动生成空白页面’,
name: ‘autoHellopage’,
},
]
module.exports = addConfig
复制代码
配置的含义在注释中已经详细说明了
按照配置文件生成页面.vue文件
我们在auto-build-page文件夹下新建一个template-table.vue文件,存放我们的表格页模版,我们使用的是element-ui组件:
{{scope.row[scope.column.property]}}
复制代码
可以看见表格页模板里面有很多两个%包起来的变量,这是等下我们需要按照配置文件进行替换的变量。 我们继续在auto-build-page文件夹下新建一个build-page.js文件,里面写的是整个自动化操作的代码
var addConfig = require(‘./addConfig’)
var fs = require(‘fs’)
var path = require(‘path’)
var shell = require(‘shelljs’)
shell.echo(‘>>>>>>’)
shell.echo(‘开始新建页面’)
addConfig.forEach((ele) => {
if (ele.open) {
buildPage(ele)
}
})
复制代码
我们循环配置文件里面的配置,支持生成多个页面。对文件的操作我们直接使用node的fs模块完成。 读取模板文件,并根据配置文件,对模板文件里面的变量进行替换:
function buildPage(config) {
var paths = path.resolve(./src/views/${config.name}
)
shell.echo(‘页面地址:’ + paths)
mkdirSync(paths, function() {
var str = ‘’
if (config.helloworld) {
// 新建空白页,读取空白页模版
str = handleStr(
readF(path.resolve(‘./template-helloworld.vue’)),
config
)
} else {
str = handleStr(
readF(path.resolve(‘./template-table.vue’)),
config
)
}
// 写入文件
writeF(paths + ‘/index.vue’, str)
shell.echo(‘开始新增路由……’)
addRou(./views/${config.name}/index.vue
, config)
})
}
复制代码
根据配置文件替换%包起来的变量:
function handleStr(str, config) {
if (config.helloworld) {
return str
}
str = str.replace(‘%title%’, config.desc)
str = str.replace(‘%method%’, config.getlist.method)
str = str.replace(‘%geturl%’, config.getlist.url)
return str
}
复制代码
添加路由
接下来是添加路由,在此之前我们还是需要添加一个路由的模板文件,在auto-build-page文件夹下新建一个template-route.txt文件:
{
path: ‘%path%’,
component: Home,
name: ‘%name%’,
redirect: { path: ‘%repath%’ },
children: [
{
path: ‘%repath%’,
component: (resolve) =>
require([‘%requirepath%’], resolve),
name: ‘%name2%’
}
]
},
复制代码
里面根据我们路由规则,写入模板。 回到build-page.js文件,我们继续书写添加路由的操作,我们先读取路由模板:
function addRou(paths, config) {
var templateStr = handleRouStr(
readF(path.resolve(‘./auto-build-page/template-route.txt’)),
config,
paths
)
// 添加到路由文件
addToConf(templateStr)
}
function handleRouStr(str, config, paths) {
str = str.replace(/%path%/g, /${config.name}
)
str = str.replace(/%name%/g, config.desc)
str = str.replace(/%name2%/g, ${config.desc}首页
)
str = str.replace(/%repath%/g, /${config.name}/index
)
Vue 面试题
1.Vue 双向绑定原理
2.描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
3.你是如何理解 Vue 的响应式系统的?
4.虚拟 DOM 实现原理
5.既然 Vue 通过数据劫持可以精准探测数据变化,为什么还需要虚拟 DOM 进行 diff 检测差异?
6.Vue 中 key 值的作用?
7.Vue 的生命周期
8.Vue 组件间通信有哪些方式?
9.watch、methods 和 computed 的区别?
10.vue 中怎么重置 data?
11.组件中写 name 选项有什么作用?
12.vue-router 有哪些钩子函数?
13.route 和 router 的区别是什么?
14.说一下 Vue 和 React 的认识,做一个简单的对比
15.Vue 的 nextTick 的原理是什么?
16.Vuex 有哪几种属性?
17.vue 首屏加载优化
18.Vue 3.0 有没有过了解?
19.vue-cli 替我们做了哪些工作?
如果你觉得对你有帮助,可以戳这里获取:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
组件间通信有哪些方式?
9.watch、methods 和 computed 的区别?
10.vue 中怎么重置 data?
11.组件中写 name 选项有什么作用?
12.vue-router 有哪些钩子函数?
13.route 和 router 的区别是什么?
14.说一下 Vue 和 React 的认识,做一个简单的对比
15.Vue 的 nextTick 的原理是什么?
16.Vuex 有哪几种属性?
17.vue 首屏加载优化
18.Vue 3.0 有没有过了解?
19.vue-cli 替我们做了哪些工作?
[外链图片转存中…(img-ShnKjaxK-1715455116077)]