面试宝典
文章平均质量分 90
主要记录前端面试系列问题,面试必备神器。
八了个戒
愿代码之火永不熄灭,技术之光照耀前行!
展开
-
【JavaScript高级】模块化规范「一文让你彻底搞懂前端模块化规范 & 区别」
在JS最早出现的时候,是为了实现一些简单的功能,但随着浏览器的不断发展,对于JS的要求也越来越高,需要实现一些较为复杂的功能。这个时候开发者为了维护方便,会把不同功能的模块抽离出来写入单独的 js 文件里,但是当项目更为复杂的时候,html 可能会引入很多个js文件,而这个时候就会出现命名冲突,污染全局作用域,代码库混乱不堪等一系列问题,这个时候模块化的概念及实现方法应运而生。原创 2023-02-27 16:45:08 · 416 阅读 · 0 评论 -
Git 命令大全「全面且实用,值得收藏」
用了这么久的 git 工具,中途也使用过 SourceTree ,但是最后发现,还是git代码香啊!虽然之前也写过一篇学习笔记 Git教程学习笔记和填坑总结 以及 SourceTree 工具的使用,但是感觉那篇还是笔记冗余,看起来不是很明确,所以,整理这篇命令大全,可以更好的在工作中查阅相关的git命令。下面,我们主要分享一下 Git 常用的命令以及详细的命令行讲解,欢迎各位小伙伴原创 2021-12-13 11:27:05 · 6424 阅读 · 4 评论 -
JavaScript 常用字符串方法及使用技巧「超级实用,赶紧收藏,提升效率」
最近项目终于忙完了,在开发时就会暴露出一堆问题,正好趁着这个时间给自己充充电。下面总结了一些关于 JavaScript 常用字符串的操作方法,它可以让我们更高效的处理数据,而不必使用时每次都去查询每个方法怎么用,可以大大提高我们的开发效率哦。正餐开始,来看看 JavaScript 中有哪些常用的字符串方法!1. 获取字符串长度JavaScript 中的字符串有一个 length 属性,该属性可以用来获取字符串的长度const str = 'hello world';str.length .原创 2021-12-15 16:11:57 · 1423 阅读 · 2 评论 -
最新最全的前端面试题集锦之 Ajax、Fetch、Axios 篇
该内容主要整理关于 Axios 的相关面试题,其他内容面试题请移步至 2021 最新最全的前端面试题集锦 查看。目录一、Ajax 相关面试题1、概念2、作用3、创建 Ajax4、Ajax 状态和 HTTP 状态码5、Ajax 中常用的属性和方法6、思考:post 和 get 有什么区别二、Axios 相关面试题1、axios 原理2、axios 的特点有哪些?3、axios 有哪些常用方法?3、一次并发的请求 axios.all([])4、说下你了解的axios相关配置属性?三、Fetch 相关面.原创 2021-08-09 16:13:01 · 1868 阅读 · 0 评论 -
最新最全的前端面试题集锦之 Webpack 篇
该内容主要整理关于 Webpack 的相关面试题,其他内容面试题请移步至 2021 最新最全的前端面试题集锦 查看。目录1. 谈谈你对webpack的看法?2. webpack的基本功能和工作原理?3. webpack构建过程?4. webpack打包原理?5. webpack与gulp、grunt有什么区别?1. 谈谈你对webpack的看法?webpack 是一个模块打包工具,可以使用它管理项目中的模块依赖,并编译输出模块所需的静态文件。它可以很好地管理、打包开发中所用到的HTML、CSS.原创 2021-07-18 18:58:32 · 977 阅读 · 0 评论 -
JavaScript ES6 箭头函数与普通函数的区别详解【面试必备,值得收藏】
今天下午在面试的过程中,有一位面试官就问到了这道题目。说实话,如果不是今天问到了这个问题,我还不会去仔细对比分析一下这两个我们整天使用的函数声明方式,我们只有在不断总结中才会不断进步。同时,也非常感谢今天下午给我面试的这位面试官。目录一、箭头函数基本语法1、关于箭头函数的参数2、关于箭头函数的函数体二、箭头函数与普通函数的区别1、外形不同2、箭头函数都是匿名函数3、箭头函数不能用于构造函数,不能使用 `new`4、箭头函数不会创建自己的 `this`5、`call()/apply()/bind().原创 2021-07-14 22:58:33 · 356 阅读 · 1 评论 -
JavaScript 数组相关操作方法(数组去重、Array 常用方法 API)【详细总结,值得收藏】
一、数组去重的方法ES6 Set 去重function unique (arr) { return Array.from(new Set(arr)) // Array.from() 方法从一个类似数组或可迭代对象创建一个新的}var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}];cons原创 2021-07-13 15:24:23 · 335 阅读 · 1 评论 -
Promise的使用与原理实现过程详解【附源码】
一、什么是 Promise?Promise 是目前 JS 异步编程的一种解决方案。从语法上讲,Promise 是一个对象,从它可以获取异步操作的消息;从本意上讲,它是承诺,承诺它过一段时间会给你一个结果。二、Promise 原理简析?1、Promise 本身相当于一个状态机,拥有三种状态:pending(等待态)fulfiled(成功态)rejected(失败态)一个 Promise 对象初始化时的状态是 pending,调用了 resolve 后会将 Promise 的状态扭转原创 2021-07-10 16:59:37 · 1105 阅读 · 0 评论 -
【面试总结系列】CSS 预编译器 Sass、Less、Stylus 三者之间的比较详解
想要查看关于 CSS 的相关面试题,请移步至 面试题 - CSS 篇 查看,其他内容面试题请移步至 2021 最新最全的前端面试题集锦 查看。CSS-当前主流的三种预编译器什么是预编译器:CSS预编译器用一种专门的编程语言,进行Web页面样式设计,然后再编译成正常的CSS文件,以供项目使用;优点:可以让我们的CSS代码更加简洁、适应性更强、可读性更佳,更易于代码的维护等诸多好处。当前主流的三种预编译器:SassLessStylus比较:比较一:基本语法首先 Sass 和 .原创 2021-07-09 10:20:32 · 911 阅读 · 0 评论 -
前端性能优化面试涨薪必备
前端性能优化是一个大的课题,需要花好多时间才能理解,之前对前端优化陆陆续续有一些了解。所以这次从渲染优化,打包优化,代码优化做了一个系统的总结,并且引申出了几个需要关注的问题,文章可能有点长,大家一定要看到最后。最后写作不易,希望觉得还可以的话,帮忙点赞一波,提前感谢了。当然如果有写不好的地方,也请指出来,我会积极改进,共同成长。从输入url到页面展示发生了什么?(万能面试题)涉及知识点:DNS:其实就是一个网络协议,把我们的域名解析成对应的IP地址;TCP:基于IP地址发起一个TCP的连接,.原创 2021-06-10 11:15:44 · 500 阅读 · 1 评论 -
微信小程序页面路由跳转总结(wx.navigateTo、wx.redirectTo、wx.switchTab、wx.reLaunch、wx.navigateBack 的区别)
一、页面路由微信官方文档 · 页面路由在小程序中所有页面的路由全部由框架进行管理。框架以栈的形式维护了当前的所有页面。二、路由方式wx.navigateTo用于保留当前页面、跳转到应用内的某个页面,但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。对于页面不是特别多的小程序,通常推荐使用 wx.navigateTo 进行跳转, 以便返回原页面,以提高加载速度。当页面特别多时,则不推荐使用。注意:小程序中页面栈最多十层。使用方式:下面进行一个简单原创 2021-05-17 15:41:22 · 3917 阅读 · 2 评论 -
【JavaScript高级】原型与原型链
原型与原型链一直是JavaScript的重难点,掌握这部分内容将会使我们的工作更加的高效,而且这也是面试官必问的内容。首先,我们要明确的是,在js中,我们创建一个实例并不是通过类,而是直接使用构造函数来实现的。构造函数通过 new 函数名 来实例化对象的函数叫构造函数。任何的函数都可以作为构造函数存在。构造函数首字母一般大写。我们使用构造函数来创建一个对象。...原创 2021-02-08 17:12:23 · 489 阅读 · 0 评论 -
深入理解JavaScript的函数作用域
什么是作用域 ?作用域:一个变量可以生效的范围。变量不是在所有地方都可以使用的,而这个变量的使用范围就是我们要说的作用域。注意:在JavaScript中,划分作用域也是用大括号划分的, 但是在 JS 之中能够有效限定作用域的大括号只有函数大括号!有哪些作用域 ?- 全局作用域(不再任何函数内)学习使用作用域,以下内容是所需要了解的:全局作用域是最大的作用域在全局作用域中定...原创 2020-02-29 22:21:26 · 270 阅读 · 0 评论 -
JavaScript 函数练习题
1、编写一个函数,计算两个数字的和差积商 <input type="text" id="txt1" placeholder="请输入一个数字"> <select name="symbol" id="sel"> <option value="+" id="jia">+</option> <optio...原创 2020-03-08 17:35:47 · 3008 阅读 · 0 评论 -
CSS选择器的优先级的计算方法以及特殊情景分析【精华版】
最近在整理关于 CSS 的面试题,不免就会涉及到 css 的选择器的相关问题,所以就拿出来单独分析一下,特此整理,不论是在实际开发中还是面试中,都是非常有用的,希望可以帮助到大家。2021 最新最全的前端面试题集锦之 CSS 篇 。一、CSS优先级比较!important > 内联样式 > id > class > 标签 > 通配符 > 继承 > 默认二、CSS权重值计算我们把特殊性分为五个等级,每.原创 2021-01-18 14:26:08 · 233 阅读 · 0 评论 -
迟到的 Vue3.0 与 Vite 的体验学习总结
尤大的 Vue3.0 已经发布有一阵子了, 已经很成熟了。今天想起来,是时候该上手体验一波了。Vue3中文文档 - vuejsVue3.0 亮点Performance:性能更比Vue 2.0强;Tree shaking support:可以将无用模块“剪辑”,仅打包需要的;Composition API:组合式API;Fragment, Teleport, Suspense:“碎片”,Teleport 即 Protal 传送门,“悬念”;Better TypeScript support.原创 2020-12-29 11:20:40 · 1181 阅读 · 7 评论 -
微信小程序之实现下拉刷新效果
本文章将主要介绍微信小程序如何实现简单的下拉刷新效果的,代码简单明了。主要 apiwx.showLoading(Object object) 显示 loading 提示框wx.hideLoading(Object object) 关闭 loading 提示框wx.startPullDownRefresh(Object object) 开始下拉刷新。调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。wx.stopPullDownRefresh(Object object) 停止当前页面下拉.原创 2020-12-18 14:46:11 · 2135 阅读 · 2 评论 -
最新最全的前端面试题集锦之 微信小程序 篇(从基础到高级)
最新最全的前端面试题集锦之 微信小程序 篇(从基础到高级)原创 2020-12-17 14:16:31 · 3138 阅读 · 1 评论 -
最新最全的前端面试题集锦之 JS 篇(从基础到高级)
最新最全的前端面试题集锦之 JS 篇(从基础到高级)原创 2020-12-17 14:15:06 · 839 阅读 · 2 评论 -
最新最全的前端面试题集锦之 HTML 篇
最新最全的前端面试题集锦之 HTML 篇原创 2021-01-15 11:33:56 · 1429 阅读 · 1 评论 -
2024最新最全的前端面试题集锦(2024 持续更新中...敬请关注)
工作以来,感觉自己接触到的东西还是挺多的,但是当我面试的时候,就会发现各种问题,很多知识点都是模棱两可,答得不全面。究其原因,还是没有吃透这些内容。所以我决定,用几个月的时间,将我们大前端的大部分精选面试题进行整理,将大部分知识点进行归纳总结,为自己也为其他小伙伴们提供一份面试学习参考。原创 2020-12-17 14:10:34 · 4847 阅读 · 6 评论 -
高级Web前端JavaScript面试题
JavaScript 常见面试题高级Web前端必会面试题知识点一、浅拷贝 VS 深拷贝,手写一个深克隆其实深拷贝和浅拷贝都是针对的引用类型,JS中的变量类型分为值类型(基本类型)和引用类型;对值类型进行复制操作会对值进行一份拷贝,而对引用类型赋值,则会进行地址的拷贝,最终两个变量指向同一份数据,此时如果对其中一个进行修改,就会影响到另外一个。根据拷贝的层级不同可以分为浅拷贝和深拷贝,浅拷贝就是只进行一层拷贝,深拷贝就是无限层级拷贝。浅拷贝:实现方式很简单,实现原理就是遍历对象属性。slice原创 2020-09-08 08:31:34 · 383 阅读 · 0 评论 -
前端常见浏览器跨域请求解决方案
参考文章:https://segmentfault.com/a/1190000011145364参考文章:https://www.cnblogs.com/PheonixHkbxoic/p/5760838.html在浏览器请求中,出现跨域访问资源的问题,我们肯定会遇到。如果跨域请求被阻止,有可能导致css、js 、ajax请求、font字体等资源出现无法正常访问的问题。跨域跨域是指一个域下的文档或者脚本试图去请求另一个域下的资源。广义的跨域资源跳转:a链接跳转、重定向、表单提交;资源嵌.原创 2020-09-03 21:54:46 · 1103 阅读 · 0 评论 -
CSRF攻击与防御,值得一看
参考原文内容:https://blog.csdn.net/xiaoxinshuaiga/article/details/80766369本文章已根据自己理解进行更改CSRF概念CSRF 跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买.转载 2020-09-03 20:02:49 · 355 阅读 · 0 评论 -
Cookie、Session和Token认证详解
前言:HTTP是一种无状态的协议,为了分辨链接是谁发起的,需要浏览器自己去解决这个问题。不然有些情况下即使是打开同一个网站的不同页面也都要重新登录。而Cookie、Session和Token就是为了解决这个问题而提出来的两个机制用户通过浏览器登录一个网站,在该浏览器内打开网站其他页面时,不需要重新登录。而HTTP是无状态的协议,那么网站后端是如何判断用户已经登陆了呢?不同的网站,判断用户登录状态的方法都不一样。有的网站是通过session来验证用户的登录状态,有的网站是通过token来验证用户的登录状.转载 2020-09-03 19:38:21 · 1348 阅读 · 0 评论 -
高级Web前端必会面试题知识点,大厂面试必备
高级Web前端工程师必会面试题,这里只是整理一些范围知识点,并没有特别具体的面试题目,只要把这些知识点搞明白了,面试题都不是问题。文档持续更新中。。。加油骚年!!原创 2020-08-30 23:30:24 · 3664 阅读 · 1 评论 -
swiper 插件从后台获取数据没问题,css 代码啥的也没问题, 但是图片不动,应该怎么解决?
swiper 插件从后台获取数据没问题,css 代码啥的也没问题,但是图片不动,应该怎么解决?本质上就是数据加载顺序,生命周期的问题。主要原因:swiper提前初始化了,而这个时候,数据还没有完全出来。解决方法:(两个方向)从swiper 入手,在swiper中写 observer:true/observeParents:truelet myswiper = new Swiper(".swiper-container" , { autoplay: true, loop: true,原创 2020-08-24 21:29:17 · 455 阅读 · 0 评论 -
前端面试积累 2020-08-12
一、vue组件中data为什么必须是一个函数?这是由于JavaScript的特性导致的,在component中,data必须是以函数的形式存在,不可以是对象。在组件中的data写出一个函数,数据以函数返回值的形式定义,这样每次复用组件的时候,都会返回一份新的data,相当于每个组件实例都有自己私有的数据空间,他们只需要负责维护各自的数据,不会造成混乱。而单纯写成对象形式的话,就是所有的组件实例共用一个data,这样改一个全都改了。二、请说下封装 vue 组件的过程?首先建立组件的模板,先把架子搭起原创 2020-08-12 20:30:49 · 286 阅读 · 0 评论 -
call、apply、bind三者之间的用法和区别,并手写实现
call、apply、bind 的用法1. 调用方法let xw = { name : '小王', gender : '男', age : 24 , say : function() { console.log(this.name + ',性别' + this.gender + ',年龄' + this.age); }}let xh = { name : '小红', gender : '女', age : 20}le原创 2020-06-25 17:46:26 · 695 阅读 · 0 评论 -
浅拷贝 VS 深拷贝,并且手写一个深拷贝(深克隆)
1. 首先使用JSON.parse来实现一个深拷贝let test = { x : 1, y : 2, z : { a : 4, b : 5 }}// 深拷贝let result = JSON.parse(JSON.stringify(test));// 改变拷贝后的值result.z.a = 40;console.log(test);console.log(result);2. 手写实现深拷贝在这里插入代码片...原创 2020-06-24 08:30:48 · 1139 阅读 · 1 评论 -
从浏览器地址栏输入url到显示页面的步骤【超详细讲解】
从浏览器地址栏输入url到显示页面的步骤最近在看面试题,发现了一道非常经典且高频的题目,它是每个程序员都应该熟知的原理。基础版本(面试笔试)浏览器根据请求的 URL 交给 DNS 进行域名解析,找到真实 IP 地址,向服务器发起请求;服务器交给后台处理完成后返回数据,浏览器接收文件(HTML、CSS、JS、images等);浏览器对加载到的资源(HTML、CSS、JS、images等)进行语法解析,建立相应的内部数据结构(如HTML的DOM);载入解析到的资源文件,渲染页面,完成。详原创 2020-05-12 01:09:15 · 2368 阅读 · 0 评论