总结
秋招即将开始,校招的朋友普遍是缺少项目经历的,所以底层逻辑,基础知识要掌握好!
而一般的社招,更是神仙打架。特别强调,项目经历不可忽视;几乎简历上提到的项目都会被刨根问底,所以项目应用的技术要熟练,底层原理必须清楚。
这里给大家提供一份汇集各大厂面试高频核心考点前端学习资料。涵盖 HTML,CSS,JavaScript,HTTP,TCP协议,浏览器,Vue框架,算法等高频考点238道(含答案)!
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
资料截图 :
高级前端工程师必备资料包
} else {
if (to.path === '/') return next('/login')
const token = localStorage.getItem('Admin-Token')
if (!token && to.path !== '/login') return next('/login')
next()
}
}
})
router.afterEach((to, from) => {
NProgress.done()
loadingInstance.close()
})
export default router
function setFormData(cb) {
// 判断url后是否携带?isFreeLogin=1参数,如果存在,则免登录
const { username, password, isFreeLogin } = getQueryVariable()
if (isFreeLogin && Number(isFreeLogin) === 1) {
if (username !== undefined && password !== undefined) {
Vue.prototype.loginForm = {
username: username.trim(),
password: password.trim() //此处密码要做同步处理
}
} else {
Message.error({
showClose: true,
message: ‘用户名或密码为空!’
})
cb && cb()
}
}
if (JSON.stringify(Vue.prototype.loginForm) !== ‘{}’) {
handleLogin(Vue.prototype.loginForm, cb)
Vue.prototype.loginForm = {}
}
}
//登录逻辑
async handleLogin(form,cb){
try{
await login(form)
cb&&cb()
}catch{
cb&&cb()
}
}
要注意一下两个问题:
(1)url中因为携带了账号、密码,密码可能会存在特殊字符,如果后端接口做了特殊字符的过滤,可能会报400的错误
(2)要处理url中未携带账号密码的情况(你可以用个固定的账号、密码)以及账号、密码错误的情况。
以上代码包含了上述问题的处理
方案二:通过后端去处理。点击url的时候,给后端发一个请求,让后端返回登录账号信息,然后前端调用登录接口,实现页面跳转。
如果有更好的方案,欢迎评论、留言~
### React
* 介绍一下react
* React单项数据流
* react生命周期函数和react组件的生命周期
* react和Vue的原理,区别,亮点,作用
* reactJs的组件交流
* 有了解过react的虚拟DOM吗,虚拟DOM是怎么对比的呢
* 项目里用到了react,为什么要选择react,react有哪些好处
* 怎么获取真正的dom
* 选择react的原因
* react的生命周期函数
* setState之后的流程
* react高阶组件知道吗?
* React的jsx,函数式编程
* react的组件是通过什么去判断是否刷新的
* 如何配置React-Router
* 路由的动态加载模块
* Redux中间件是什么东西,接受几个参数
* redux请求中间件如何处理并发
**[开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)**
![](https://img-blog.csdnimg.cn/img_convert/9749ea39072fc4b7b27af6f3a4db5ab1.png)