2024年前端最全1,互联网大厂100道Web前端面试题助你冲关金三银四

css

1,盒模型
2,如何实现一个最大的正方形
3,一行水平居中,多行居左
4,水平垂直居中
5,两栏布局,左边固定,右边自适应,左右不重叠
6,如何实现左右等高布局
7,画三角形
8,link @import导入css
9,BFC理解

js

1,判断 js 类型的方式
2,ES5 和 ES6 分别几种方式声明变量
3,闭包的概念?优缺点?
4,浅拷贝和深拷贝
5,数组去重的方法
6,DOM 事件有哪些阶段?谈谈对事件代理的理解
7,js 执行机制、事件循环
8,介绍下 promise.all
9,async 和 await,
10,ES6 的 class 和构造函数的区别
11,transform、translate、transition 分别是什么属性?CSS 中常用的实现动画方式,
12,介绍一下rAF(requestAnimationFrame)
13,javascript 的垃圾回收机制讲一下,
14,对前端性能优化有什么了解?一般都通过那几个方面去优化的?

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • Axios

  • Echarts

2.后端项目技术栈(了解即可)
  • Node.js

  • Express

  • Jwt(状态保持工具,模拟类似session)

  • Mysql

  • Sequelize(操作数据库的框架)

2.项目初始化


2.1前端项目初始化步骤

(1)安装Vue脚手架

(2)通过脚手架创建项目

(3)配置Vue路由

(4)配置Element-UI组件库

(5)配置axios组件库

(6)初始化git远程仓库

(7)将本地项目托管到Github或者码云中

(1)-(5)使用vue脚手架创建项目 的过程可以查看通过vue ui(vue脚手架)快速创建项目步骤

(6)-(7)初始化git远程仓库,托管到码云中参考使用码云管理项目

2.2后台项目的环境安装配置

(1)安装MySQL数据库

(2)安装Node.js环境

(3)配置项目相关信息

(4)启动项目

(5)使用Postman测试后台接口是否正常

后台项目下载地址: https://gitee.com/wBekvam/vueShop-api-server.git

按照README.md进行操作即可。

我使用的是navicat for mysql,导入mydb.sql后,启动后台项目即可,使用postman进行接口测试。

在这里插入图片描述

3.登录/退出功能


3.1登录概述

1.登录业务流程

(1)在登录页面输入用户名和密码

(2)调用后台接口进行验证

(3)通过验证之后,根据后台的响应状态跳转到项目主页

2.登录业务的相关技术点
  • http是无状态的

  • 通过cookie在客户端记录状态

  • 通过session在服务端记录状态

  • 通过token方式维持状态(存在跨域问题时使用,否则使用以上两种)

3.2登录——token原理分析

在这里插入图片描述

3.3登录功能实现

1.登录页面的布局

通过Element-ui组件实现布局

  • el-form

  • el-form-item

  • el-input

  • el-button

  • 字体图标

使用vscode打开前端项目

执行:git status检查项目状态。

执行:git checkout -b login 创建login分支,并且切换到该分支。

执行:git branch 查看当前项目所有分支

执行:git status 查看项目当前在哪个分支上

然后进行项目的梳理,删除所有不必要的代码和组件,参考文章梳理vue项目,删除不必要的代码和组件

然后再渲染Login组件并实现路由重定向

使用less语法对Login.vue进行css设置

使用element-ui组件、图标和阿里图标制作登录页面

2.登录功能的实现

使用element-ui实现表单验证

使用element-ui和axios实现登录前表单的预验证

登录成功或者失败,需要使用element-ui配置Message全局弹框组件

完善登录之后的页面跳转操作

3.路由导航守卫控制访问权限

如果用户没有登录,但是直接通过URL访问特定页面,需要重新导航到登录页面

在这里插入图片描述

// 挂在路由导航守卫

router.beforeEach((to, from, next) => {

// to 将要访问的路径

// from 代表从哪个路径跳转而来

// next 是一个函数,表示放行

// next() 放行 next(‘/login’) 强制跳转

if (to.path === ‘/login’) return next();

// 获取token

const tokenStr = window.sessionStorage.getItem(‘token’)

if (!tokenStr) return next(‘/login’);

next();

});

3.4退出功能

退出功能实现原理

基于token的方式实现退出比较简单,只需要销毁本地的token即可。这样,后续的请求就不会携带token,必须重新登录生成一个新的token之后才可以访问页面。

在这里插入图片描述

// 清空token

window.sessionStorage.clear();

// 重定向到login页面

this.$router.push(“/login”);

处理项目中的ESLint语法错误

在项目根目录下,创建.prettierrc文件

在这里插入图片描述

“semi”:false 表示隐藏分号

“singleQuote”:true 表示所有单引号和双引号统一为单引号

最后

好了,这就是整理的前端从入门到放弃的学习笔记,还有很多没有整理到,我也算是边学边去整理,后续还会慢慢完善,这些相信够你学一阵子了。

做程序员,做前端工程师,真的是一个学习就会有回报的职业,不看出身高低,不看学历强弱,只要你的技术达到应有的水准,就能够得到对应的回报。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

学习从来没有一蹴而就,都是持之以恒的,正所谓活到老学到老,真正懂得学习的人,才不会被这个时代的洪流所淘汰。

好了,这就是整理的前端从入门到放弃的学习笔记,还有很多没有整理到,我也算是边学边去整理,后续还会慢慢完善,这些相信够你学一阵子了。

做程序员,做前端工程师,真的是一个学习就会有回报的职业,不看出身高低,不看学历强弱,只要你的技术达到应有的水准,就能够得到对应的回报。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

学习从来没有一蹴而就,都是持之以恒的,正所谓活到老学到老,真正懂得学习的人,才不会被这个时代的洪流所淘汰。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值