前端面试真题
每天分享一些面试题
千锋HTML5大前端
让优秀的教育资源不再孤芳自赏,与你共享。
展开
-
前端开发必看100道大厂面试题集锦(一)
100道必刷前端面试题(一),持续更新中!原创 2023-04-06 18:50:16 · 1623 阅读 · 0 评论 -
如何理解fiber?
要知道,render前后的两颗vDom tree进行diff,这个过程是不可中断的(以tree为单位,不可中断),这将造成当diff的两颗tree足够庞大的时候,js线程会被diff阻塞,无法对并发事件作出回应。为了解决这个问题,react将vDom节点上添加了链表节点的特性,将其改造成了fiber节点(其实就是vdom节点结合了链表节点的特性),目的是为了后面的Fiber架构的实现,以实现应对并发事件的“并发模式”。事实上,原计划是17版本上的,但最终定期在了18版本。原创 2023-01-11 10:36:14 · 133 阅读 · 0 评论 -
小程序的兼容问题有哪些?
小程序的兼容问题有哪些?原创 2023-01-11 10:30:40 · 600 阅读 · 0 评论 -
小程序路由跳转
【代码】小程序路由跳转。原创 2023-01-11 10:17:26 · 154 阅读 · 0 评论 -
React中onClick绑定后的工作原理
说说React中onClick绑定后的工作原理原创 2023-01-11 10:13:50 · 269 阅读 · 0 评论 -
如何实现角色权限分配?
但在实际应用中我们一般不直接将权限赋予在用户身上,因为这样操作对有大量用户的系统来说过于繁琐,所以我们一般基于RBAC(Role-Based Access Control)权限模型,引入角色的概念,通过角色的媒介过渡,先将权限赋予在角色上,再关联相应的用户,对应的用户就继承了角色的权限。在开发中后台应用过程中或多或少都会涉及到一个问题:权限,简单地说就是让不同的用户在系统中拥有不同的操作能力。用户与角色,角色与权限都是多对多的关系。原创 2023-01-12 09:40:31 · 701 阅读 · 0 评论 -
前端面试题:商城项目中有写到调用微信,支付宝支付,简单讲述一下这个支付与后台对接的过程,微信支付的原理
商城项目中有写到调用微信,支付宝支付,简单讲述一下这个支付与后台对接的过程,微信支付的原理。原创 2023-01-11 10:07:50 · 700 阅读 · 0 评论 -
说说vuex的管理操作或理解
vuex有一个仓库概念,将组件公共的state存储在仓库的state属性中,state是只读的,组件只能使用,不能直接修改,修改需要通过 仓库中的mutations模块来修改,这样的好处是 当数据修改便于溯源,且不会因为 多个组件 直接修改数据,导致 组件间数据的互相影响, 同时 当我们仓库中有一个state 数据需要请求 数据接口才能获取时,vuex 设计了一个action模块,在action模块中发送异步请求,得到数据后,提交mutation来修改state。原创 2023-01-03 15:10:07 · 106 阅读 · 0 评论 -
使用Vue封装过组件吗?有哪些?讲一下他们是怎么实现的
比如做后台管理中,很多模块经常会复用,比如侧边导航组件、项目中常用的 echarts图表的封装(比如折线图、柱状图等)原创 2023-01-03 15:04:13 · 1187 阅读 · 0 评论 -
Vue 组件懒加载,图片懒加载
就是在加载页面的时候,如果页面中的图片过多,可以使用占位符的方式替换没有在可是区域内的图片,只加载当前需要现实的图片。监听滚动条的位置,当图片标签出现在可视区域的时候,重置图片的路径为真是路径,然后展示图片地址。一般在实际开发的时候都直接使用图片懒加载插件实现。还有一种解决方案就是使用页面骨架屏效果,也是类似占位显示,当数据加载完成之后替换掉占位显示的内容。原创 2023-01-03 15:03:25 · 232 阅读 · 0 评论 -
vue 中插槽共有几种,及插槽的作用
三种:默认插槽、具名插槽、作用域插槽。原创 2023-01-03 14:58:36 · 570 阅读 · 0 评论 -
vue 常用哪些命令
vue 常用哪些命令原创 2023-01-03 14:57:09 · 130 阅读 · 0 评论 -
vue 导航守卫与 jq 导航拦截器的介绍
导航守卫使用最多的是全局守卫 router.beforeEach 主要是用来验证用户的登陆状态。它接收三个参数 to, from, next。vue 的导航守卫一般指的是路由导航守卫,作用是在页面跳转的时候可以执行一个钩子函数。原创 2023-01-03 14:56:48 · 214 阅读 · 0 评论 -
前端面试题【element ui篇】之一:说一下element ui遇到过的坑
【代码】前端面试题【element ui篇】之一:说一下element ui遇到过的坑。原创 2022-12-28 11:27:02 · 333 阅读 · 0 评论 -
前端面试题:什么是三次握手和四次挥手?
三次握手是网络客户端跟网络服务器之间建立连接,并进行通信的过程。相当于客户端和服务器之间你来我往的3个步骤。原创 2022-12-20 16:21:26 · 896 阅读 · 1 评论 -
前端面试题:常见的 HTTP 请求有哪些 ? 他们的区别是什么 ?
常见的有5种,分别是GET、HEAD, POST、PUT、 DELETE。原创 2022-12-20 16:18:22 · 302 阅读 · 0 评论 -
前端面试题:http 常见的响应状态码 ?
前端面试题:http 常见的响应状态码 ?原创 2022-12-20 16:13:46 · 307 阅读 · 0 评论 -
前端面试题:http 和 https 的区别 ?
前端面试题:http 和 https 的区别 ?原创 2022-12-20 16:12:25 · 211 阅读 · 0 评论 -
前端面试题:怎么实现网页优化?
前端面试题:怎么实现网页优化?原创 2022-12-20 16:09:38 · 500 阅读 · 0 评论 -
前端面试:什么是懒加载和预加载 ?
3.第三种是可视区加载,即仅加载用户可以看到的区域,这个主要由监控滚动条来实现,一般会在距用户看到某图片前一定距离遍开始加载,这样能保证用户拉下时正好能看到图片。两者的行为是相反的,一个是提前加载,一个是迟缓甚至不加载。懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力。懒加载:懒加载也叫延迟加载,延迟加载网络资源或符合某些条件时才加载资源。懒加载的意义:懒加载的主要目的是作为服务器前端的优化,减少请求数或延迟请求数。预加载:提前加载图片,当用户需要查看时可直接从本地缓存中渲染。原创 2022-12-20 16:07:55 · 206 阅读 · 0 评论 -
前端面试题:网络攻击方案有哪些,自己有写过什么安全性方面的东西吗?
网络攻击方案有哪些,自己有写过什么安全性方面的东西吗?原创 2022-12-13 16:26:05 · 250 阅读 · 0 评论 -
vue项目怎么进行seo的优化白屏太久怎么处理?
而采用Vue的方式开发的应用,其数据都是来源于axios或者其它的ajax方法获取的数据!也就是说,想要友好的支持搜索引擎,就必须采用服务器端渲染的相关技术,比如JSP,就是一个典型的服务器端渲染技术,用户请求一个地址然后展示到浏览器中的数据都是服务器端处理好的,浏览器只管展示;又比如静态页面,所有页面都是预先编写或生成好的,浏览器将请求拿到的数据直接展现即可。搜索引擎无法进行索引的核心原因就是,其在爬取网站数据的时候,是不会执行其中包含的JS过程的;原创 2022-12-13 16:24:08 · 110 阅读 · 0 评论 -
Vue的性能优化有哪些方法?
(2)如果是大数据长列表,可采用虚拟滚动,只渲染少部分区域的内容,参考vue-virtual-scroller、vue-virtual-scroll-list。(1)如果列表是纯粹的数据展示,不会有任何改变,就不需要做响应话, 使用object.freeze(data)4、v-for遍历避免同时使用v-if (使用computed属性过滤需要显示的数据项 )vue组件销毁时,会自动解绑它的全部指令及事件监听,但是仅限于组件本身的限制。像element-ui这样的第三方组件库可以按需引入避免体积太大。原创 2022-12-15 10:07:34 · 1636 阅读 · 0 评论 -
高效“背诵”面试题的三定法则
工作中我常用的有 created、mounted、beforeDestroy 这三个,created里我常用来触发调api 接口,mounted 中我常用来执行 DOM 更新后的相关逻辑操作,比如开启定时器等,beforeDestroy 中,我常用来清除定时器、清除Vuex中缓存等。“不挖坑原则”是避免提到自己陌生的领域,而“擅引导原则”是鼓励你多提自己熟悉的领域、多提自己做过功课的领域,通过语言强调等技巧,把面试过程向有利于自己的方向引导。因此,在你“背诵”面试题的第一步,你首先要搞清楚的就是题目类型。原创 2022-12-13 16:19:28 · 229 阅读 · 0 评论 -
Vue3.0中常用的组合API有哪些?
【代码】Vue3.0中常用的组合API有哪些?原创 2022-12-13 16:16:16 · 889 阅读 · 0 评论 -
盘点你知道的数组去重方法
说明:双重 for 循环是比较笨拙的方法,它实现的原理很简单:先定义一个包含原始数组第一个元素的数组,然后遍历原始数组,将原始数组中的每个元素与新数组中的每个元素进行比对,如果不重复则添加到新数组中,最后返回新数组;因为它的时间复杂度是O(n^2),如果数组长度很大,效率会很低。说明:利用indexOf检测元素在数组中第一次出现的位置是否和元素现在的位置相等,如果不等则说明该元素是重复元素。说明:ES6 提供了新的数据结构 Set,Set 结构的一个特性就是成员值都是唯一的,没有重复的值。原创 2022-12-13 16:12:17 · 82 阅读 · 0 评论 -
Web前端面试真题(算法篇):005篇
股票最大利润假设有一个数组, 它的第i个元素对应第i天的价格最多只允许完成一次交易(买进一次,卖出一次)设计一个算法找出最大利润例如: [7,1,5,3,6,4] 最大利润 5如果这个计算方法你不是非常能理解, 我们再来换一个简单一点的思路这个思路虽然简单, 但浪费了很多计算次数优化改良之后, 就是开头的版本了原创 2022-12-07 15:06:10 · 281 阅读 · 0 评论 -
Web前端面试真题(算法篇):004篇
输出字符串中, 所有的叠词(几个连续出现的字符)输入: 晴川历历汉阳树, 芳草萋萋鹦鹉洲输出: [‘历历’, ‘萋萋’]当然, 用正则会非常简单.解释:\1 这是对第一个分组内容的引用.\1等价于对前面分组内容的复制因此 (.)\1 表示这个字符至少重复出现2次(.)\1+就表示重复出现2次及以上了原创 2022-12-07 15:04:09 · 127 阅读 · 0 评论 -
Web前端面试真题(算法篇):003篇
貌似一看很简单仔细一看很复杂来回一琢磨还是很简单这道题最关键的, 就是这句话了你首先需要了解一个运算符优先级的问题在所有的运算符当中, 除了 () 小括号级别最高的 就是属性访问了, 也就是 . 小圆点那么在整个这句话当中, 最先执行的, 应该是 a.x可以理解为 x = a = {n:2}或者b.x = a = {n:2}因此最终, b等于原创 2022-12-07 15:02:39 · 84 阅读 · 0 评论 -
Web前端面试真题(算法篇):002篇
解析:用一张图理清关系原创 2022-12-07 15:01:10 · 160 阅读 · 0 评论 -
Web前端面试真题(算法篇):001篇
解释:先说运行结果 : 10 , 2解析:两次打印的结果, 其实fn这个函数关键点, 就在于, 我们要搞清楚, 每次执行时的this到底是谁?第一次的结果比较好辨认, fn函数尽管经过了传递,但是在第 8 行代码当中, 函数是直接调用, this显然指向window对象那么打印出来的window.length, 肯定就是10了第二次的结果, 执行函数时, 写法有所不同arguments首先是个对象第9行, arguments[0], 其实等价于 arguments.0在这里你把0看做一个属原创 2022-12-07 14:59:58 · 385 阅读 · 0 评论 -
大厂面试 TypeScript 套题,看看你能做出几个
某大厂给前端面试者出了一套 TypeScript 笔试题,要求面试者在线实时答题。这种面试题考察的是应聘者的 TS 硬实力,先把题目和要求给出来,你试试能做出来几个。所有题目均为 NodeJS 环境下,TypeScript 编程题。 NodeJS 版本建议 v14 及以上。代码题以本地可以运行通过为准,Node 版本不够则无法运行高版本语法。 请提前配置好开发环境。2、依赖NodeJS 环境运行 TS 文件推荐使用 ts-node,建议提前安装。运行 运行第一题命令如下:原创 2022-12-07 14:52:54 · 1432 阅读 · 0 评论 -
用户打开你的页面,一片空白,什么都不显示,原因可能是什么呢?
在用户端会默认缓存 index.html 入口文件,而由于构建工具(比如Webpack,rollup等)在每次代码更新后,打包生成的css/js文件名都带有哈希值,跟上次的文件名都不同,因此会出现找不到 css/js 文件的情况,导致白屏的产生。常用框架,比如 Vue React Angular 都是依靠JS进行驱动的,在渲染页面的时候需要加载很大的JS文件,在JS解析加载完成之前无法展示页面,从而导致了白屏。第一个打开的页面,如果请求一个缓慢的后端接口,引发JS阻塞,导致页面白屏。● 前端JS代码问题。原创 2022-11-29 18:27:07 · 2879 阅读 · 0 评论 -
如何做项目的权限控制?
● 在路由 router.js 里面声明,从后端读取用户-角色-权限信息,通过 meta 标签来标示和记录。RBAC是三个模型,两个关系:用户模型、角色模型和权限模型,用户和角色的关系、以及角色和权限的关系。你来设计一个用户-角色-权限的模型,同时以Vue为例,说说前端如何实现?超级管理员:管理员权限 + 添加、删除用户,绑定用户和角色权限。第一个表是用户模型,第二个表是角色模型,第三个表是权限模型。第四个表是用户和角色的关系,第五个表是角色和权限的关系。管理员:普通用户权限 + 修改、删除商品的权限。原创 2022-11-29 18:23:24 · 1311 阅读 · 0 评论 -
localStorage 能实现 token 的存储需求,为啥还要存储在 Vuex 或 Redux 中呢?
● localStorage 里面的数据变化不能进行监控,如果有需求是根据 token 的变化进行操作,那 localStorage 就实现不了。● localStorage 里的数据主要用于页面重新渲染时使用,Vuex 或 Redux 里的数据在 SPA 用户操作的时候使用。● localStorage 里面存储的数据类型只能是字符串,如果存储的内容不是字符串,还需要转换,有额外的性能消耗。● localStorage 是磁盘操作,Vuex 和 Redux 是内存操作,数据存慢很多。原创 2022-11-29 18:21:41 · 605 阅读 · 0 评论 -
面试题之数组的去重方式
平时我们在做开发或者面试的过程中,经常会碰到这样的问题:给我们一组重复的数据,要求把重复的数据去掉,如果是你,你会用哪些方式来去重呢?接下来我们就一起来看看去重的方式吧。原创 2022-11-22 16:29:51 · 530 阅读 · 0 评论 -
前端面试题:说一下typescript中的泛型
泛型(Generics)是指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。通俗理解:泛型就是解决类 接口 方法的复用性、以及对不特定数据类型的支持。原创 2022-10-20 14:49:20 · 639 阅读 · 0 评论 -
vue面试题:说说vue操作真实dom性能瓶颈
vue面试题:说说vue操作真实dom性能瓶颈,下面一起来看看吧!vue性能瓶颈的几种情况。原创 2022-10-20 14:44:39 · 941 阅读 · 1 评论 -
vue面试题:说说vue动态权限绑定渲染列表(权限列表渲染)
【代码】vue面试题:说说vue动态权限绑定渲染列表(权限列表渲染)原创 2022-10-20 14:42:48 · 284 阅读 · 0 评论 -
前端常见面试题:CSS3动画知道吗?怎么实现的?
知道的,CSS3动画主要是通过animation这个属性来进行实现,使用动画的时候需要先进行声明动画然后再去调用,哪里需要产生动画效果哪里就使用animation进行调用。原创 2022-09-30 15:10:02 · 476 阅读 · 0 评论