前端面试题目
文章平均质量分 69
C.&H.
这个作者很懒,什么都没留下…
展开
-
136、Java基础
一、八种基本数据类型二、列表List 以特定的顺序保存元素。List中有两种类型的列表:ArrayList:随机访问快,插入删除慢 LinkedList:插入删除快,但是随机访问慢。还添加了作为栈、队列、双端列表的方法,可以直接作为栈来使用,遵守“后进先出,先进后出”的原则,其中有几个常用方法:romove() romovefirst()返回列表头部并移除 addfirst() add() addlast()插入到列表的尾部getfirst() element() peek()返...原创 2021-11-03 22:50:16 · 241 阅读 · 0 评论 -
135、数据库索引的含义和用途
一、 什么是索引?索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址,可以大大加快查询的速度,使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址,然后访问相应的数据。索引的作用类似于书的目录,可以根据目录中的页码快速找到所需的内容。二、索引的作用索引除了快没有其他的作用,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。...原创 2021-10-24 23:04:52 · 1178 阅读 · 0 评论 -
134、数据库三大范式
1.第一范式(1NF)属性不可再分每一个属性都是不可再分的属性值,具有原子性。比如:地址(省、市,区)是可再分属性,不符合第一范式。2.第二范式(2NF)非主属性完全依赖于主键必须先满足第一范式(1NF)...原创 2021-10-24 21:09:51 · 319 阅读 · 0 评论 -
133、v-model的原理
vue的v-model原理简述_逆风的蔷薇-CSDN博客原创 2021-10-19 15:54:10 · 2158 阅读 · 0 评论 -
132、js中事件绑定的几种方式
一、事件有三个阶段:事件捕获阶段-----由外向里 事件目标阶段-----最开始选中的那个,但是不一定是最先出现的,根据是那个阶段而定 事件冒泡阶段-----由里向外二、绑定方式有哪些?DOM和jQuery当中都有DOM中:(1)onclick。 对象.on事件名字=事件处理函数----------如果是多个相同事件注册用这种方式,最后一个执行,之前的会被覆盖掉;my$("ID名字").οnclick=function( ){ };(2)对象.addEventListener(原创 2021-10-18 19:07:05 · 338 阅读 · 0 评论 -
131、轮播图swiper的实现原理
轮播图的实现原理_github_38186390的博客-CSDN博客_swiper轮播图原理原创 2021-10-18 16:25:53 · 1240 阅读 · 0 评论 -
130、如何解决移动端0.5px的问题
1、移动端边框变粗的原因?在浏览器端1px线看起来的确很细,但一旦放在手机上,就显得很粗,原因如下:在移动端,1px 的直线在物理屏幕上通常会显示成 2px(甚至更粗)。这是因为手机屏幕的物理分辨率(硬件支持的)通常是其逻辑分辨率(软件支持的)的数倍。 因为css中的1px并不等于移动设备的1px,这些由于不同的手机有不同的像素密度。在window对象中有一个devicePixelRatio属性,他可以反应css像素与设备像素比:devicePixelRatio = 物理像素 / 独立像素。以原创 2021-10-18 16:20:39 · 1171 阅读 · 0 评论 -
129、前端和后端的区别
展示的方式不同前端指的是用户可见的界面,网站前端页面也就是网页的页面开发,比如网页上的特效、布局、图片、视频,音频等内容。前端的工作内容就是将美工设计的效果图的设计成浏览器可以运行的网页,并配合后端做网页的数据显示和交互等可视方面的工作内容。 后端是指用户看不见的东西,通常是与前端工程师进行数据交互及网站数据的保存和读取,相对来说后端涉及到的逻辑代码比前端要多的多,后端考虑的是底层业务逻辑的实现,平台的稳定性与性能等。所用的技术不同前端开发用到的技术包括但不限于html5、css3、javascri原创 2021-10-18 15:21:56 · 212 阅读 · 0 评论 -
128、小程序、app、H5的区别
运行环境APP则是基于安卓和IOS手机操作系统开发的,能安装在智能手机上运行的的手机软件。打开App就相当于开启了一个进程,App的运行环境就是手机系统; 小程序则是依托于微信的,运行的环境就是微信,并且小程序是用到了部分H5技术,但是并不支持常用的window和document对象,H5 可以随意使用;小程序是一种应用;小程序的运行环境是微信开发团队基于浏览器内核完全重构的一个内置解析器,针对性做了优化,配合自己定义的开发语言标准,提升了小程序的性能; H5就是HTML5,是一种前端技术,它的运行环原创 2021-10-18 15:03:26 · 626 阅读 · 0 评论 -
127 、performance性能测试
Perform作为前端工程师,无论是业务需要还是我们对于自己开发的Web站点的要求,往往都有性能监测以及数据上报的需求。而Performance API除了简单易用对前端工程师极其友好的特点之外,还有能提供高精确度的时间测量(千分之一毫秒)这个特点。window.onload = function(){ setTimeout(function(){ let t = performance.timing console.log('DNS查询耗时 :' + (t.d原创 2021-10-18 13:27:34 · 697 阅读 · 0 评论 -
126、栈溢出的情况
原因:递归调用。调用层次太多,递归函数在运行时会执行压栈操作,当压栈次数太多时,会导致堆栈溢出。 指针或数组越界。 局部数组过大。当函数内部的数组过大,可能导致堆栈溢出。解决:增大栈空间; 改用动态分配(使用堆而不是栈);...原创 2021-10-18 13:11:55 · 246 阅读 · 0 评论 -
125、新技术之微前端
目录一、微前端是什么?二、微前端的实现2.1iframe2.2Web Components2.3ESM 即ES Module2.4qiankun2.5 EMP2.6 总结三、微前端和npm的区别3.1 非常重要的痛点,使用npm包的更新流程繁琐复杂。3.2npm包方式构建速度慢3.3 npm方式 应用迭代麻烦一、微前端是什么?(1)微服务为了解决庞大的一整块后端服务带来的变更与扩展方面的限制,出现了微服务架构(Microservi...原创 2021-10-17 11:58:29 · 587 阅读 · 0 评论 -
124、前后端分离
1. 为什么会出现前后端分离?以前的javaWeb项目大多数使用jsp作为页面层展示数据给用户。因为流量不高,页面功能比较简单,因此也没有那么苛刻的性能要求,项目的重点放在后台的业务逻辑处理上。但是随着业务和技术的发展,前端功能越来越复杂同时前端的技术栈越来越丰富!这样我们在开发中遇到的问题就越来越多,解决这些问题的难度就越来越大,这时我们发现前端开发不能像以前那样零散的分布在整个系统架构当中了。因此我们需要需找一种解耦的方式,来大幅度提升我们的负载能力。未使用前后但分离(MVC框架)遇到的问题:动原创 2021-10-16 23:13:00 · 1521 阅读 · 0 评论 -
123、this指向的输入输出问题
一、快手考察this指向var name = "outer";function K() { let name = "k"; let innerObj = { print: function() { console.log(name); console.log(this.name); } } return innerObj;}let o = K();o.print(); // 输出原创 2021-10-15 11:21:42 · 196 阅读 · 0 评论 -
122. mixin(混入)
(1)mixin的作用:使用mixin可以抽离组件的公共逻辑; 就是有很多组件需要同一个方法、同一个变量、做同样的事。这个时候就用到这个混入的功能。混入之后变量组件内可用,方法也可用,写在周期函数的代码也会执行。 组件内使用后,混入对象内的周期函数和方法变量都会和组件合并,而且是优先执行,一旦出现冲突变量冲突方法以组件为主。 修改mixin的内容,引入mixin的组件内容也会同步更新;(2)注意:混入也可以进行全局注册。使用时格外小心!一旦使用全局混入,它将影响每一个之后创建的 Vue 实例。.原创 2021-10-09 21:36:24 · 224 阅读 · 0 评论 -
121、git
(1)提交文件到远程仓库:git add 文件名:将工作文件修改提交到本地暂存区,这个时候还不算添加到了本地仓库。例如:git add test.c ; git commit -m 描述信息: 把缓存区里的文件提交到本地仓库。例如:git commit -m "添加文件"; git push origin master :将本地仓库内容推到远程仓库(2)合并提交:先使用git log查看历史版本; 再使用git reset --soft 版本号 命令回滚,回滚到被commited...原创 2021-10-09 18:36:50 · 101 阅读 · 0 评论 -
120、父子组件的生命周期
一、父子组件的生命周期对比 加载渲染过程 父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount->子mounted->父mounted在父组件执行beforeMount阶段后,进入子组件的beforeCreate、Created、beforeMount阶段,这些阶段和父组件类似。子组件beforeMount阶段后,执行的是子组件的Mount.原创 2021-10-05 15:34:24 · 518 阅读 · 0 评论 -
119、手动实现图片懒加载
js实现图片懒加载原理_tomorrownan的博客-CSDN博客_懒加载vue懒加载实现及其原理_Mrcaolei的博客-CSDN博客_vue懒加载的原理及实现原创 2021-10-05 14:34:02 · 119 阅读 · 0 评论 -
118、数据结构中数组、链表、哈希
一、数组在内存中,数组是一块连续的区域。 数组需要预留空间,在使用前要先申请占内存的大小,可能会浪费内存空间。 插入数据和删除数据效率低。除了在尾部的插入删除。插入数据时,这个位置后面的数据在内存中都要向后移。删除数据时,这个数据后面的数据都要往前移动。 随机读取效率很高。直接根据下标获取元素值。 不利于扩展,数组定义的空间不够时要重新定义数组。适用场景:数据量小 数据规模已知 对数据存取和修改操作较多,而插入和删除数据较少的情况。二、链表在内存中可以存在任何地方,不要...原创 2021-10-05 14:24:45 · 199 阅读 · 0 评论 -
117、状态码301,302,304的区别
301:永久性重定向。从网址A重定向到B后,旧地址A的资源已经被永久地移除了;比如你的网站从 HTTP 升级到了 HTTPS 了,以前的站点再也不用了,应当返回301;302:临时重定向。旧地址A的资源还在(仍然可以访问),这个重定向只是临时地从旧地址A跳转到地址B;303:与302状态码功能一样,只是它希望使用GET方法重定向到新的URL上;304:发送附带条件的请求时,条件不满足时返回,与重定向无关。例如:浏览器缓存中,服务器端资源未改变,可直接使用客户端未过期的缓存;...原创 2021-10-05 14:02:26 · 2807 阅读 · 0 评论 -
116、对移动端开发的了解
1、三种移动端开发模式现今流行的移动端开发模式共有三种:web(H5) Hybrid(混合开发) Native(原生)1.1 Native APP(原生开发)Native APP又称原生APP,就是我们平时说的手机应用软件。原生APP 是针对IOS、Android、Windows等不同的手机操作系统要采用不同的语言和框架进行开发出来的,通常是由“服务器数据+APP应用客户端”两部份构成。技术: iOS: Object C或者 swift Android: java优点:...原创 2021-10-05 11:57:14 · 1178 阅读 · 0 评论 -
91、HTTP 0.9 ~ HTTP 3.0的发展历程
目录一、HTTP 0.9(1991)二、HTTP 1.0(1996)三、HTTP 1.1(1997)四、HTTP 2.0(2015)五、HTTP 3.0(2020)一、HTTP 0.9(1991)http0.9 特点:http0.9 是第一个版本的http协议,比较简单,只支持get请求; 只有一个请求行,没有请求头和请求体。因为一个请求行就可以完整表达客户端的需求了; 服务器没有返回头信息,只需要返回HTML格式的数据即可(只能是HTML格式的); 无连接、无.原创 2021-10-04 18:45:44 · 2093 阅读 · 0 评论 -
115、Vue和React的区别
目录1. Vue和React中diff算法区别2.数据流的不同3.组件通信的区别4、渲染过程不同5、Vuex和Redux的区别6、框架本质不同7、模板渲染方式的不同8、路由跳转的方式不同9、构建工具不同10、HoC和mixins11、使用场景12、总结1. Vue和React中diff算法区别vue和react的diff算法,都是忽略跨级比较,只做同级比较。vue diff时调动patch函数,参数是vnode和oldVnode,分别代表新旧节点...原创 2021-10-04 10:01:55 · 734 阅读 · 0 评论 -
114、美团CSS题---双飞翼布局和圣杯布局
目录一、圣杯布局1.1 代码实现1.2 详细过程解析二、双飞翼布局2.1 代码实现2.2 详细过程解析三、圣杯布局和双飞翼布局的区别不同于之前所看的左右定宽,中间自适应。圣杯与双飞翼 是另外两种写法。反正不管是圣杯还是双飞翼,最后结果都是如下图所示。DOM上, 中间的放首位,然后是左边,右边。为了优先显示中间主要部分,故先构建中间main部分。一、圣杯布局使用float布局框架 ,position: relative定位, margin为负值 。...原创 2021-10-03 21:11:26 · 269 阅读 · 0 评论 -
113、正则表达式
1. 或者 |匹配其左右两侧,一个满足即可。let str = "dqudwehej"console.log(/u|@/.test(str)) //true。 str中有u或@即可。2. 原子表() :括号的内容满足一个即可,需要加|let str = "020-9999999"console.log(/(010|020)\-\d{7,8}/.test(str)) //true。//解释(010|020): 只要有一个满足即可,满足后再继续匹配后面的\-\d{7,8}\- .原创 2021-10-03 11:45:32 · 125 阅读 · 0 评论 -
112、js中的隐式转换
(一)+运算符:和字符串做+运算,先转化为字符串;和数字做+运算,先转化为数字(除了字符串);一、数字和字符串使用+运算符将数字先转换为字符串,然后进行字符串连接操作:let str = "abc";let num = 12;console.log(str+num); // abc12二、布尔值和字符串使用+运算符将布尔值先转换为字符串,然后进行字符串连接操作:let str = "abc";let bool = true;console.log(str+..原创 2021-09-30 07:06:11 · 120 阅读 · 0 评论 -
111、排序算法的时间复杂度和空间复杂度
1)不稳定的排序算法:快些选一堆朋友来排序 --- 快速、希尔、选择、堆排序2)快速排序空间复杂度平均为O(log2n),最坏为O(n): 快速排序是递归的,最坏情况下调用n-1次,栈的深度为O(n); 平均情况下,栈的深度为O(log2n);3) 只有归并排序和快速排序的空间复杂度不是1: 归并排序的辅助空间为n个单元...原创 2021-09-26 13:31:30 · 584 阅读 · 0 评论 -
110、了解哪些前端的新技术
1)TypeScript代码更容易理解 更容易,更快的实现代码 代码容易重构2)WebAssembly (WASM)运行在现代网络浏览器中的新型代码,并且提供新的性能特性和效果。我们可以用自己喜欢的语言来编写,然后将其编译成 WASM 文件,以便在浏览器中运行。WebAsssembly 目前支持的语言有 C/c++、Elixir、Python、Go、c#/.Net 和 Java。优势:二进制文件比 JavaScript 文本文件小得多。因而下载速度更快; WebAssemb.原创 2021-09-26 12:38:44 · 3090 阅读 · 0 评论 -
109、前端遇到报错,怎么处理?
web项目调试web项目往往由前端和后台组成,涉及的内容和知识特别多,初学者由于对其运行机制理解不到位,同时没有掌握恰当的调试方法,当项目出现问题时就比较茫然、无从下手。提高调试能力对于程序员来讲是至关重要,是成为一个合格程序员的必经之路。一、总体思路(1)理解清楚web项目运行基本机制,理清程序运行轨迹;(2)掌握Java代码调试方法和技巧;(3)掌握浏览器前端调试方法和技巧;(4)基于以上方法,实践并总结,积累调试经验,提高调试的效率。二、web项目运行基本机制三、.原创 2021-09-26 08:41:52 · 1001 阅读 · 0 评论 -
108、Vuex 以及 vuex与redux的区别
一、什么是vuex注意:在导入·vuex之前,必须先导入vuevuex解决的问题:二、获取vuex对象中state的共享数据(state)vuex中的state相当于组件中的data,就是专门用于保存共享数据的(1)访问vuex中共享数据的前提,在祖先组件中保存vuex对象(2)访问state中的属性值访问state中msg属性值,不能通过普通的插值方式{{}}访问访问state中msg属性值的正确方式:{{this.$store.state.msg.原创 2021-07-04 22:54:49 · 400 阅读 · 0 评论 -
107、java与js的区别与联系
Java和JavaScript区别与联系_宋文轩-CSDN博客_java和javascript的区别补充:JS是单线程Java是多线程原创 2021-09-21 08:55:00 · 103 阅读 · 0 评论 -
106、token登录认证详解
Token登录认证详解_tc979907461的博客-CSDN博客原创 2021-09-20 15:01:42 · 242 阅读 · 0 评论 -
105、牛客前端校招面试题目合集
(1条未读私信) 前端校招面试题目合集_HTML/CSS/前端基础_牛客网 (nowcoder.com)原创 2021-09-01 08:35:59 · 234 阅读 · 0 评论 -
104、前端5种安全问题及防范
1.CSRF(跨站请求伪造)(1)什么是CSRF你可以这么理解 CSRF 攻击:攻击者盗用了你的身份,以你的名义进行恶意请求。它能做的事情有很多包括:以你的名义发送邮件、发信息、盗取账号、购买商品、虚拟货币转账等。总结起来就是:个人隐私暴露及财产安全问题。/* * 阐述 CSRF 攻击思想:(核心2和3) * 1、浏览并登录信任网站(举例:淘宝) * 2、登录成功后在浏览器产生信息存储(举例:cookie) * 3、用户在没有登出淘宝的情况下,访问危险网站 * 4、危险网站中存在..原创 2021-08-26 18:30:04 · 3627 阅读 · 0 评论 -
103、 vue事件修饰符
(23条消息) vue事件修饰符详解_KnifeBlade的博客-CSDN博客_vue事件修饰符原创 2021-08-26 08:48:45 · 86 阅读 · 0 评论 -
102、websocket
WebSocket是HTML5下一种新的协议。它实现了浏览器与服务器全双工通信,它和HTTP最大不同是:WebSocket是一种双向通信协议。在建立连接后,WebSocket服务器端和客户端都能主动向对方发送或接收数据,就像Socket一样; WebSocket需要像TCP一样,先建立连接,连接成功后才能相互通信。建立WebSocket连接的过程为:客户端发起HTTP请求,经过3次握手建立TCP连接,HTTP请求里存放WebSocket支持的版本号等信息。 服务器收到客户端握手请求后,回馈..原创 2021-08-24 09:36:38 · 207 阅读 · 0 评论 -
101、什么是vue.js
(22条消息) 什么是vue.js?(概念很清楚)_YangJack-前端开发-CSDN博客原创 2021-08-24 08:53:01 · 114 阅读 · 0 评论 -
100、响应式布局
(22条消息) HTML响应式布局实现详解_Le cuer的博客-CSDN博客_html响应式布局(22条消息) vue项目移动端、pc端适配方案_清虚桂意的博客-CSDN博客_vue项目pc端和移动端适配原创 2021-08-24 08:49:56 · 527 阅读 · 0 评论 -
99、CDN加速原理
(22条消息) 一文看懂CDN加速原理_xiangzhihong8的专栏-CSDN博客_cdn原理原创 2021-08-24 08:32:00 · 153 阅读 · 0 评论 -
98、从需求提出到上线流程总结
(22条消息) 一线大厂:从需求提出到上线流程总结_li_ITboy的博客-CSDN博客原创 2021-08-19 17:25:08 · 310 阅读 · 0 评论