阅读 139

面试记录

Vue面试题

生命周期函数面试题

1.什么是 vue 生命周期

Vue 实例从创建到销毁的过程,就是生命周期。也就是从开始创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、卸载等一系列过程,我们称这是 Vue 的生命周期。

2.vue生命周期的作用是什么

它的生命周期中有多个事件钩子,让我们在控制整个Vue实例的过程时更容易形成好的逻辑。
3.第一次页面加载会触发哪几个钩子

第一次页面加载时会触发 beforeCreate, created, beforeMount, mounted 这几个钩子
4.简述每个周期具体适合哪些场景

beforecreate : 可以在这加个loading事件,在加载实例时触发
created : 初始化完成时的事件写在这里,如在这结束loading事件,异步请求也适宜在这里调用
mounted : 挂载元素,获取到DOM节点
updated : 如果对数据统一处理,在这里写上相应函数
beforeDestroy : 可以做一个确认停止事件的确认框
nextTick : 更新数据后立即操作dom

5.created和mounted的区别

created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。
mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。

6.vue获取数据在哪个周期函数
7.请详细说下你对vue生命周期的理解?

vue路由面试题

1.mvvm 框架是什么?

一个model+view+viewModel框架,数据模型model,viewModel连接两个

2.vue-router 是什么?

路由就是SPA(单页应用)的路径管理器 。是Vue.js官方的路由插件,用于设定访问路径,并将路径和组件映射起来。在vue-router单页面应用中,则是路径之间的切换,也就是组件的切换。 路由模块的本质 就是建立起url和页面之间的映射关系 。 至于我们为啥不能用a标签,这是因为用Vue做的都是单页应用,就相当于只有一个主的index.html页面,所以你写的标签是不起作用的,你必须使用vue-router来进行管理。


3.active-class 是哪个组件的属性?

router-link组件


4.怎么定义 vue-router 的动态路由? 怎么获取传过来的值

在router目录下的index.js文件中,对path属性加上/:id。 使用router对象的params.id
5.vue-router 有哪几种导航钩子?

1) 全局钩子函数:定义在全局的路由对象中,主要有:
       beforeEach:在路由切换开始时调用
       afterEach:在每次路由切换成功进入激活阶段时被调用
2)单独路由独享的钩子:可以再路由配置上直接定义beforeEnter 钩子
3)组件的钩子函数:定义在组件的router选项中 
beforeRouteEnter 、beforeRouteUpdate,beforeRouteLeave

6.$route 和 $router 的区别

route是“路由信息对象”,包括path,params,hash,query,fullPath,matched,name等路由信息参数。 而router是“路由实例”对象包括了路由的跳转方法,钩子函数等。
8.vue-router传参

www.jianshu.com/p/2be6f131c…

9.vue-router的两种模式

 vue-router中默认使用的是hash模式,也就是会出现如下的URL:,URL中带有#号

hash模式下,仅hash符号之前的url会被包含在请求中,后端如果没有做到对路由的全覆盖,也不会返回404错误。使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载

 history模式下,前端的url必须和实际向后端发起请求的url一致,如http://abc.com/user/id,后端如果没有对user/id的路由处理,将返回404错误
10.vue-router实现路由懒加载( 动态加载路由 )


vue常见面试题

1.vue父组件向子组件传递数据?
3.子组件像父组件传递事件
4.v-show和v-if指令的共同点和不同点
5.如何让CSS只在当前组件中起作用
6.<keep-alive></keep-alive>的作用是什么?
7.如何获取dom
8.说出几种vue当中的指令和它的用法?
9. vue-loader是什么?使用它的用途有哪些?

解析.vue文件的一个加载器。
用途:js可以写es6、style样式可以scss或less、template可以加jade等
10.为什么使用key

当有相同标签名的元素切换时,需要通过 key 特性设置唯一的值来标记以让 Vue 区分它们,否则 Vue 为了效率只会替换相同标签内部的内容。
11.axios及安装
12.axios解决跨域
13.v-modal的使用
15. 请说出vue.cli项目中src目录每个文件夹和文件的用法?

assets文件夹是放静态资源;
components是放组件;
router是定义路由相关的配置;view视图;
app.vue是一个应用主组件;
main.js是入口文件
16.分别简述computed和watch的使用场景
17.v-on可以监听多个方法吗

   v-on绑定多个方法:

<p v-on="{click:dbClick,mousemove:MouseClick}"></p>
1复制代码

一个事件绑定多个函数:

<p @click="one(),two()">点击</p>复制代码
18.$nextTick的使用

$nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用 $nextTick,则可以在回调中获取更新后的 DOM。
19.vue组件中data为什么必须是一个函数
因为我们能抽离出来的组件,肯定是具有复用性的,它在项目中会存在多个实例。如果data属性值是一个对象时,那么它所有的实例都会共享这些数据,这是很麻烦的事情,你不能确保你的所有实例中的属性值都不会重复。
我们的期望是,组件的每个实例都能独立的维护自己的数据。
21 组件间的通信

blog.csdn.net/zhoulu001/a…

22.渐进式框架的理解
23.Vue中双向数据绑定是如何实现的


24.单页面应用和多页面应用区别及优缺点
单页面的优点:
1,用户体验好,快,内容的改变不需要重新加载整个页面,基于这一点spa对服务器压力较小
2,前后端分离
3,页面效果会比较炫酷(比如切换页面内容时的专场动画)
单页面缺点:
1,不利于seo
2,导航不可用,如果一定要导航需要自行实现前进、后退。(由于是单页面不能用浏览器的前进后退功能,所以需要自己建立堆栈管理)
3,初次加载时耗时多
4,页面复杂度提高很多

25.vue中过滤器有什么作用及详解

定义过滤器有两种方式,第一种是全局过滤器,我们可以直接在vue对象上使用filter方法注册过滤器,这种全局注册的过滤器在任何一个组件内都可以使用。第二种则是组件内部的过滤器,注册组件内部过滤器则只能在当前组件内使用,接下来我们使用这两种方式注册过滤器函数。
26.v-if和v-for的优先级

v-for和v-if不应该一起使用,必要情况下应该替换成computed属性。原因:v-for比v-if优先,如果每一次都需要遍历整个数组,将会影响速度,尤其是当之需要渲染很小一部分的时候。
27.assets和static的区别

相同点:资源在html中使用,都是可以的。
不同点:使用assets下面的资源,在js中使用的话,路径要经过webpack中file-loader编译,路径不能直接写。

28.列举常用的指令
29.vue常用的修饰符

<!-- 阻止单击事件继续传播 -->
<a v-on:click.stop="doThis"></a>

<!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form>

<!-- 修饰符可以串联 -->
<a v-on:click.stop.prevent="doThat"></a>

<!-- 只有修饰符 -->
<form v-on:submit.prevent></form>

<!-- 添加事件监听器时使用事件捕获模式 -->
<!-- 即元素自身触发的事件先在此处处理,然后才交由内部元素进行处理 -->
<div v-on:click.capture="doThis">...</div>

<!-- 只当在 event.target 是当前元素自身时触发处理函数 -->
<!-- 即事件不是从内部元素触发的 -->
<div v-on:click.self="doThat">...</div>复制代码

30.数组更新检测

www.jianshu.com/p/9ee28c313…
31.Vue.set视图更新

www.jianshu.com/p/aead45ac8…
32.自定义指令详解

全局自定义指令 Vue.directive( dir_name , {} ) 
局部自定义指令 directives{ dir_name : {} } 

33.vue的两个核心点

数据驱动、组件系统。复制代码

34.vue和jQuery的区别

jQuery是使用选择器($)选取DOM对象,对其进行赋值、取值、事件绑定等操作,其实和原生的HTML的区别只在于可以更方便的选取和操作DOM对象,而数据和界面是在一起的。比如需要获取label标签的内容:$("lable").val();,它还是依赖DOM元素的值。
Vue则是通过Vue对象将数据和View完全分离开来了。对数据进行操作不再需要引用相应的DOM对象,可以说数据和View是分离的,他们通过Vue对象这个vm实现相互的绑定。这就是传说中的MVVM。

35 引进组件的步骤
36.Vue-cli打包命令是什么?打包后悔导致路径问题,应该在哪里修改
37.三大框架的对比
39.delete和Vue.delete删除数组的区别

delete只是被删除的元素变成了 empty/undefined 其他的元素的键值还是不变。Vue.delete 直接删除了数组 改变了数组的键值。
var a=[1,2,3,4]  
var b=[1,2,3,4]  
delete a[1]
    console.log(a)    
this.$delete(b,1)
    console.log(b)
复制代码

40.SPA首屏加载慢如何解决
41.Vue-router跳转和location.href有什么区别

使用 location = url 跳转,如果本地之前已经载入过该页面并有缓存,那么会直接读取本地的缓存,缓存机制是由本地浏览器设置决定的。状态码为: 200 OK (from cache) 。
使用 location.href = url 跳转,资源的缓存类型是根据服务器缓存配置决定的,都会向服务端发起请求,状态码会有两种情况: 200 OK 和 304 Not Modified 。前者表示该页面是从服务端重新载入的,后者表示从HTTP 头部的 If-Modified-Since 来判断该资源在服务器端是否有改变,如果没有则从本地缓存中加载,如果有则重新加载。



45.Vue里面router-link在电脑上有用,在安卓上没反应怎么解决?

在router-link上使用@click无效是因为router-link的作用是单纯的路由跳转会影响阻止点击事件,使用@click.native就可以了


48.axios的特点有哪些

2、在 node.js 中发送 http请求;
3、支持 Promise API;
4、拦截请求和响应;
5、转换请求和响应数据;
6、自动转换 JSON 数据;
7、客户端支持保护安全免受 XSRF 攻击;

50.vue 各种组件通信方法(父子 子父 兄弟 爷孙 毫无关系的组件)

常见使用场景可以分为三类:

父子通信:
    父向子传递数据是通过 props,子向父是通过 events($emit);通过父链 / 子链也可以通信($parent / $children);ref 也可以访问组件实例;provide / inject API;$attrs/$listeners
兄弟通信:
   Bus;Vuex
跨级通信:
   Bus;Vuex;provide / inject API、$attrs/$listeners

51.params和query的区别

1、用法上的
  刚才已经说了,query要用path来引入,params要用name来引入,接收参数都是类似的,分别是this.$route.query.name和this.$route.params.name。
注意接收参数的时候,已经是$route而不是$router了哦!!
2、展示上的

query   刷新不会丢失query里面的数据
params  刷新 会 丢失 params里面的数据

query更加类似于我们ajax中get传参,
params则类似于post,说的再简单一点,前者在浏览器地址栏中显示参数,后者则不显示


54.vue初始化页面闪动问题

blog.csdn.net/qq_38834863…
56.vue更新数组时触发视图更新的方法

blog.csdn.net/gqzydh/arti…

vuex常见面试题


1.vuex是什么?怎么使用?哪种功能场景使用它?

vue框架中状态管理。在main.js引入store,注入。新建一个目录store,….. export 。场景有:单页应用中,组件之间的状态。音乐播放、登录状态、加入购物车
2.vuex有哪几种属性

State、 Getter、Mutation 、Action、 Module
3.不使用Vuex会带来什么问题

可维护性会下降,想修改数据要维护三个地方;
可读性会下降,因为一个组件里的数据,根本就看不出来是从哪来的;
增加耦合,大量的上传派发,会让耦合性大大增加,本来Vue用Component就是为了减少耦合,现在这么用,和组件化的初衷相背。

4.Vue.js中ajax请求代码应该写在组件的methods中还是vuex的actions中?

一、如果请求来的数据是不是要被其他组件公用,仅仅在请求的组件内使用,就不需要放入vuex 的state里。
二、如果被其他地方复用,这个很大几率上是需要的,如果需要,请将请求放入action里,方便复用,并包装成promise返回,在调用处用async await处理返回的数据。如果不要复用这个请求,那么直接写在vue文件里很方便。
5.vuex一个例子方法
6.Vuex中如何异步修改状态
7.Vuex中actions和mutations的区别
Action 提交的是Mutations,可以是异步操作。
Mutations 是修改数据的,必须同步。
也就是说你的组件里调用Actions,然后Actions触发Mutations,最终Mutations修改数据。

ES6面试题(参考答案)


ES6新增方法面试题


1.let const var比较
2.反引号(`)标识
3.函数默认参数
4.箭头函数
5.属性简写
6.方法简写
7.Object.keys()方法,获取对象的所有属性名或方法名

obj[Object.keys(arg)[i]]: obj 是对象; i 是属性的索引值 var fruits = { first: "apple", second:"banana ",last: "banana", }, fruits[Object.keys(fruits)[0]] // 返回first 对应的属性值: apple 这里获取的是 fruits 这个对象第一个属性first 的值 :apple 

9.for...of 循环
10.import和export

1.当用export default people导出时,就用 import people 导入(不带大括号)

2.一个文件里,有且只能有一个export default。但可以有多个export。

3.当用export name 时,就用import { name }导入(记得带上大括号)

4.当一个文件里,既有一个export default people, 又有多个export name 或者 export age时,导入就用 import people, { name, age } 

5.当一个文件里出现n多个 export 导出很多模块,导入时除了一个一个导入,也可以用import * as example复制代码

11.Promise对象

promise是异步编程的一种解决方法。
promise是一个对象,从它可以获取异步操作的消息,promise提供了统一的API,各种异步操作都可以用同样的方法进行处理。
Promise对象的特点
(1)promise对象代表一个异步操作,有三种状态,pending(进行中)、fulfilled(已成功)、rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态,
(2)一旦状态改变就不会再变,任何时候都可以得到这个结果,promise对象的状态改变,只有两种可能:从pending变为fulfilled,从pending变为rejected。这时就称为resolved(已定型)。如果改变已经发生了,你再对promise对象添加回调函数,也会立即得到这个结果,这与事件(event)完全不同,事件的特点是:如果你错过了它,再去监听是得不到结果的。
有了Promise对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外,Promise对象提供统一的接口,使得控制异步操作更加容易。
Promise也有一些缺点。首先,无法取消Promise,一旦新建它就会立即执行,无法中途取消。其次,如果不设置回调函数,Promise内部抛出的错误,不会反应到外部。第三,当处于pending状态时,无法得知目前进展到哪一个阶段(刚刚开始还是即将完成)。

15.字符串新增方法

  • includes():返回布尔值,表示是否找到了参数字符串。
  • startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
  • endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。

ES6数组面试题


1.forEach()
2.map()
3.filter()
4.reduce()
5.some()
6.every()
7.all()方法

js面试题(参考答案)

1.简述同步和异步的区别
同步:
同步的思想是:所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉)。这种情况下,用户不能关闭界面,如果关闭了,即迁移程序就中断了。
异步:
将用户请求放入消息队列,并反馈给用户,系统迁移程序已经启动,你可以关闭浏览器了。然后程序再慢慢地去写入数据库去。这就是异步。但是用户没有卡死的感觉,会告诉你,你的请求系统已经响应了。你可以关闭界面了。


4.如何消除一个数组里面重复的元素
5.写一个返回闭包的函数

function fun1() {
        var sum=0;
        function fun2() {
            sum++;
            return sum
        }
        return fun2
    }
    var s=fun1();
    console.log(s());复制代码

6.使用递归完成1到100的累加
7.Javascript有哪几种数据类型
8.如何判断数据类型

www.cnblogs.com/yunshangwuy…
9.console.log(1+'2')和console.log(1-'2')的打印结果  12和-1
10.Js的事件委托是什么,原理是什么
11.如何改变函数内部的this指针的指向
12.列举几种解决跨域问题的方式,且说明原理
13.谈谈垃圾回收机制的方式及内存管理
14.写一个function ,清除字符串前后的空格
15.js实现继承的方法有哪些

blog.csdn.net/longyin0528…
16.判断一个变量是否是数组,有哪些办法

我们平时的工作中经常会用到如何判断一个变量是否为数组。常用的方法很多,有用常用框架里面的,isArray。但是关于这个isArray的实现,各有不同。

常用的方法有如下几种

1、instanceof

function isArray (obj) {
  return obj instanceof Array;
}复制代码

2、Array对象的 isArray方法

function isArray (obj) {
  return Array.isArray(obj);
}复制代码

3、Object.prototype.toString

function isArray (obj) {
  return Object.prototype.toString.call(obj) === '[object Array]';
}复制代码

17.let ,const ,var 有什么区别

  1. var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问。
  2. let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问。
  3. const用来定义常量,使用时必须初始化(即必须赋值),只能在块作用域里访问,而且不能修改。

18.箭头函数与普通函数有什么区别

箭头函数的 this 永远指向其上下文的 this ,任何方法都改变不了其指向,如 call() , bind() , apply()
普通函数的this指向调用它的那个对象

19.随机取1-10之间的整数
20.new操作符具体干了什么
21.Ajax原理
22.模块化开发怎么做
23.异步加载Js的方式有哪些

blog.csdn.net/shan1991fei…
24.xml和 json的区别
25.webpack如何实现打包的
26.常见web安全及防护原理
27.用过哪些设计模式
28.为什么要同源限制
29.offsetWidth/offsetHeight,clientWidth/clientHeight与scrollWidth/scrollHeight的区别
30.javascript有哪些方法定义对象
31.说说你对promise的了解
32.谈谈你对AMD、CMD的理解
33.web开发中会话跟踪的方法有哪些
34.介绍js有哪些内置对象?
35.说几条写JavaScript的基本规范?

  • 不要在同一行声明多个变量
  • 请使用 === / !==来比较true/false或者数值
  • 请使用对象字面量替代new Array 这种形式
  • 不要使用全局函数


36.javascript创建对象的几种方式?

blog.csdn.net/weixin_4251…
37.eval是做什么的?
38.null,undefined 的区别?
39.[“1”, “2”, “3”].map(parseInt) 答案是多少?
40.javascript 代码中的”use strict”;是什么意思 ? 使用它区别是什么?
41.js延迟加载的方式有哪些?

blog.csdn.net/meijory/art…
42.defer和async
43.说说严格模式的限制

www.imooc.com/article/260…
44.attribute和property的区别是什么?
45.ECMAScript6 怎么写class么,为什么会出现class这种东西?
46.常见兼容性问题
47.函数防抖节流的原理
48.原始类型有哪几种?null是对象吗?
49.为什么console.log(0.2+0.1==0.3) //false
50.说一下JS中类型转换的规则?
51.深拷贝和浅拷贝的区别?如何实现
52.如何判断this?箭头函数的this是什么
53.== 和 ===的区别


54.什么是闭包
55.JavaScript原型,原型链 ? 有什么特点?
56.typeof()和instanceof()的用法区别
57.什么是变量提升


58.all、apply以及bind函数内部实现是怎么样的
59.为什么会出现setTimeout倒计时误差?如何减少
60.谈谈你对JS执行上下文栈和作用域链的理解

  • JS没有块级作用域,除了全局作用域,函数会创建自己的作用域。作用域在函数定义时就已经确定了,不是在函数调用确定(区别于执行上下文环境,当然this也是上下文环境里的成分)
  • bar要取得a的值,就要到创建bar这个函数的作用域中取值(这里是fn作用域),fn作用域也没有a,就到创建fn这个函数的作用域中取值(这里是全局作用域),找到了就结束了。这就是作用域链。
  • 执行上下文(Execution Contexts)是一种规范设备,用于跟踪ECMAScript实现对代码的 运行时(runtime) 评估。在任何时间点,每个代理程序最多只有一个执行上下文实际执行代码。这称为 代理程序运行执行上下文

61.new的原理是什么?通过new的方式创建对象和通过字面量创建有什么区别?

new的原理

new:

  1. 创建一个新对象。
  2. 这个新对象会被执行[[原型]]连接。
  3. 将构造函数的作用域赋值给新对象,即this指向这个新对象.
  4. 如果函数没有返回其他对象,那么new表达式中的函数调用会自动返回这个新对象。

62.prototype 和 proto 区别是什么?


63.使用ES5实现一个继承?
64.取数组的最大值(ES5、ES6)
65.ES6新的特性有哪些?
66.promise 有几种状态, Promise 有什么优缺点 ?
67.Promise构造函数是同步还是异步执行,then呢 ?promise如何实现then处理 ?
68.Promise和setTimeout的区别 ?
69.如何实现 Promise.all ?
70.如何实现 Promise.finally ?
71.如何判断img加载完成

www.jb51.net/article/841…
72.如何阻止冒泡?

// 阻止浏览器的默认行为
w3c的方法是e.preventDefault(),IE则是使用e.returnValue = false;
//停止事件冒泡
w3c的方法是e.stopPropagation(),IE则是使用e.cancelBubble = true

73.如何阻止默认事件?
74.ajax请求时,如何解释json数据
75.json和jsonp的区别?

json是一种轻量级的数据交换格式。
jsonp是一种跨域数据交互协议。
json的优点:
(1)基于纯文本传递极其简单,(2)轻量级数据格式适合互联网传递,(3)容易编写和解析。
ajax和jsonp的区别:
相同点:都是请求一个url
不同点:ajax的核心是通过xmlHttpRequest获取内容
    jsonp的核心则是动态添加<script>标签来调用服务器 提供的js脚本。

76.如何用原生js给一个按钮绑定两个onclick事件?
77.拖拽会用到哪些事件
78.document.write和innerHTML的区别
79.jQuery的事件委托方法bind 、live、delegate、on之间有什么区别?
80.浏览器是如何渲染页面的?
81.$(document).ready()方法和window.onload有什么区别?

(1)、window.onload方法是在网页中所有的元素(包括元素的所有关联文件)完全加载到浏览器后才执行的。
(2)、$(document).ready() 方法可以在DOM载入就绪时就对其进行操纵,并调用执行绑定的函数。

82. jquery中$.get()提交和$.post()提交有区别吗?
83.对前端路由的理解?前后端路由的区别?
84.手写一个类的继承
85.XMLHttpRequest:XMLHttpRequest.readyState;状态码的意思
86.正则表达式常见面试题

箭头函数的 this 永远指向其上下文的 this ,任何方法都改变不了其指向,如 call() , bind() , apply()普通函数的this指向调用它的那个对象


浏览器/html/css面试题(参考答案)

1.什么是盒模型
2.行内元素有哪些?块级元素有哪些? 空(void)元素有那些?行内元素和块级元素有什么区别?
3.简述src和href的区别

1.src 是指向物件的来源地址,是引入。在 img、script、iframe 等元素上使用。
2.href 是超文本引用,指向需要连结的地方,是与该页面有关联的,是引用。在 link和a 等元素上使用。

4.什么是css Hack

CSS hack是通过在CSS样式中加入一些特殊的符号,让不同的浏览器识别不同的符号(什么样的浏览器识别什么样的符号是有标准的,CSS hack就是让你记住这个标准),以达到应用不同的CSS样式的目的。
5.什么叫优雅降级和渐进增强
6.px和em的区别
7.HTML5 为什么只写
8.Http的状态码有哪些
9.一次完整的HTTP事务是怎么一个过程
10.HTTPS是如何实现加密
11.浏览器是如何渲染页面的
12.浏览器的内核有哪些?分别有什么代表的浏览器
13.页面导入时,使用link和@import有什么区别
14.如何优化图像,图像格式的区别
15.列举你了解Html5. Css3 新特性

<article>   定义页面独立的内容区域。
<aside>   定义页面的侧边栏内容。
<bdi>    允许您设置一段文本,使其脱离其父元素的文本方向设置。
<command>   定义命令按钮,比如单选按钮、复选框或按钮
<details>   用于描述文档或文档某个部分的细节
<dialog>    定义对话框,比如提示框
<summary>   标签包含 details 元素的标题
<figure>    规定独立的流内容(图像、图表、照片、代码等等)
<figcaption>    定义 <figure> 元素的标题
<footer>    定义 section 或 document 的页脚。
<header>    定义了文档的头部区域
<mark>  定义带有记号的文本。
<meter> 定义度量衡。仅用于已知最大和最小值的度量。
<nav>   定义导航链接的部分。
<progress>  定义任何类型的任务的进度。
<ruby>  定义 ruby 注释(中文注音或字符)。
<rt>    定义字符(中文注音或字符)的解释或发音。
<rp>    在 ruby 注释中使用,定义不支持 ruby 元素的浏览器所显示的内容。
<section>   定义文档中的节(section、区段)。
<time>  定义日期或时间。
<wbr>   规定在文本中的何处适合添加换行符。复制代码

CSS3实现圆角(border-radius),阴影(box-shadow),
对文字加特效(text-shadow、),线性渐变(gradient),旋转(transform)
transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);// 旋转,缩放,定位,倾斜
增加了更多的CSS选择器  多背景 rgba
在CSS3中唯一引入的伪元素是 ::selection.
媒体查询,多栏布局
border-image复制代码

16.可以通过哪些方法优化css3 animation渲染
17.列举几个前端性能方面的优化

1、css sprite,减少http请求;2、减少浏览器的重绘和回流;3、代码压缩;4、延迟加载,当需要的资源的时候再加载5、减少全局变量;复制代码

18.如何实现同一个浏览器多个标签页之间的通信
19.浏览器的存储技术有哪些
20.css定位方式

www.cnblogs.com/cl94/p/9003…
21.尽可能多的写出浏览器兼容性问题
22.垂直上下居中的方法
23.响应式布局原理
25.清除浮动的方法
26.http协议和tcp协议
27.刷新页面,js请求一般会有哪些地方有缓存处理
28.如何对网站的文件和资源进行优化
29.你对网页标准和W3C重要性的理解
30.Http和https的区别

1  http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的。Https协议是由SSL+Http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息。) 复制代码

31.data-属性的作用
32.如何让Chrome浏览器显示小于12px的文字
33.哪些操作会引起页面回流(Reflow)
34.CSS预处理器的比较less sass
35.如何实现页面每次打开时清除本页缓存
36.什么是Virtual DOM,为何要用Virtual DOM
37.伪元素和伪类的区别
38.http的几种请求方法和区别
39.前端需要注意哪些SEO
40.的title和alt有什么区别
41.从浏览器地址栏输入url到显示页面的步骤
42.如何进行网站性能优化
43.语义化的理解
44.HTML5的离线储存怎么使用,工作原理能不能解释一下?
45.浏览器是怎么对HTML5的离线储存资源进行管理和加载的呢
46.iframe有那些缺点?
47.WEB标准以及W3C标准是什么?
48.Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?
49.HTML全局属性(global attribute)有哪些
50.Canvas和SVG有什么区别?
51.如何在页面上实现一个圆形的可点击区域?
52.网页验证码是干嘛的,是为了解决什么安全问题
53.请描述一下 cookies,sessionStorage 和 localStorage 的区别?

有效期:
localStorage ———-永久存储,永不失效,除非手动删除
sessionStorage——–数据存储在窗口对象中,窗口关闭后,数据丢失
cookies—————–只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭
作用域:
sessionStorage不在不同的浏览器窗口共享,即使是同一个页面
localStorage和cookies是在所有同源窗口中共享的
适用情况:
cookies数据始终在同源的http请求中携带(即使不需要),适合保存很小的数据
sessionStorage和localStorage不会自动的将数据发送给服务器,仅在本地存储
54. CSS选择器有哪些?哪些属性可以继承?

blog.csdn.net/sjinsa/arti…
55.CSS优先级算法如何计算?
56.CSS3有哪些新特性?
57.请解释一下CSS3的flexbox(弹性盒布局模型),以及适用场景?
58.用纯CSS创建一个三角形的原理是什么?
59.常见的兼容性问题?
60.为什么要初始化CSS样式
61.absolute的containing block计算方式跟正常流有什么不同?
62.CSS里的visibility属性有个collapse属性值?在不同浏览器下以后什么区别?
63.display:none与visibility:hidden的区别?
64.position跟display、overflow、float这些特性相互叠加后会怎么样?
65.对BFC规范(块级格式化上下文:block formatting context)的理解?
66.为什么会出现浮动和什么时候需要清除浮动?清除浮动的方式?
67.上下margin重合的问题
68. 设置元素浮动后,该元素的display值是多少?
69.移动端的布局用过媒体查询吗?
70.CSS优化、提高性能的方法有哪些?
71.浏览器是怎样解析CSS选择器的?
72.在网页中的应该使用奇数还是偶数的字体?为什么呢?
73.margin和padding分别适合什么场景使用?
74.元素竖向的百分比设定是相对于容器的高度吗?
75.全屏滚动的原理是什么?用到了CSS的哪些属性?
76.什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的IE?
77. 视差滚动效果?
78.::before 和 :after中双冒号和单冒号有什么区别?解释一下这2个伪元素的作用
79.让页面里的字体变清晰,变细用CSS怎么做?
80. position:fixed;在android下无效怎么处理?
81.如果需要手动写动画,你认为最小时间间隔是多久,为什么?
82.li与li之间有看不见的空白间隔是什么原因引起的?有什么解决办法?
83.display:inline-block 什么时候会显示间隙?

移除空格、使用margin负值、使用font-size:0、letter-spacing、word-spacing复制代码

84. 有一个高度自适应的div,里面有两个div,一个高度100px,希望另一个填满剩下的高度
85.png、jpg、gif 这些图片格式解释一下,分别什么时候用。有没有了解过webp?
86.style标签写在body后与body前有什么区别?

1⃣️ 写在body标签前利于浏览器逐步渲染:

      resources downloading->CSSOM+DOM->RenderTree(composite)->Layout->paint

2⃣️ 写在body标签后:

      由于浏览器以逐行方式对html文档进行解析;

      当解析到写在尾部的样式表(外联或写在style标签)会导致浏览器停止之前的渲染,等待加载且解析样式表完成之后重新渲染;

      在windows的IE下可能会出现FOUC现象(即样式失效导致的页面闪烁问题);复制代码

87.CSS属性overflow属性定义溢出元素内容区的内容会如何处理?
88.阐述一下CSS Sprites
89. 一行或多行文本超出隐藏


微信小程序开发(持续更新)(参考答案)

初识小程序


1.注册小程序
2.微信开发者工具
3.小程序与普通网页开发的区别
4.小程序尺寸单位rpx
5.样式导入(WeUI for)
6.选择器
7.小程序image高度自适应及裁剪问题
8.微信小程序长按识别二维码
9.给页面加背景色
10.微信小程序获取用户信息
11.代码审核和发布
12.小程序微信认证
13.小程序申请微信支付
14.小程序的目录解构及四种文件类型
15.小程序文件的作用域
16.小程序常用组件
1.view
2.scroll-view
3.swiper组件
4.movable-view
5.cover-view
6.cover-image

小程序基础


17.授权得到用户信息
18.数据绑定
19.列表渲染
20.条件渲染
21.公共模板建立
22.事件及事件绑定
23.引用
24.页面跳转
1.wx.switchTab
2.wx.reLaunch
3.wx.redirectTo
4.wx.navigateTo
5.wx.navigateBack
25.设置tabBar
26.页面生命周期
27.转发分享

小程序高级


28.request请求后台接口
29.http-promise 封装
30.webview
31.获取用户收货地址
32.获取地里位置
33.自定义组件
34.微信小程序支付问题

小程序项目实战


35.微信小程序本地数据缓存
36.下拉刷新和下拉加载
37.列表页向详情页跳转(动态修改title)
38.客服电话
39.星级评分组件
40.小程序插槽的使用slot
41.模糊查询
42.wxs过滤
43.小程序动画
44.列表根据索引值渲染
45.小程序动态修改class
46.小程序常用框架
47.参数传值的方法
48.提高小程序的应用速度
49.微信小程序的优劣势
50.小程序的双向绑定和vue的区别
51.微信小程序给按钮添加动画
52.微信小程序的tab按钮的转换
53.微信小程序引进echarts
54.APP打开小程序流程
55.小程序解析富文本编辑器

小程序常见bug


1.域名必须是HTTPS
2. input组件placeholder字体颜色
3. wx.navigateTo无法跳转到带tabbar的页面
4. tabbar在切换时页面数据无法刷新
5.如何去掉自定义button灰色的圆角边框
6.input textarea是APP的原生组件,z-index层级最高
7.一段文字如何换行
8.设置最外层标签的margin-bottom在IOS下不生效
9.小程序中canvas的图片不支持base64格式
10.回到页面顶部
11.wx.setStorageSync和wx.getStorageSync报错问题
12.如何获取微信群名称?
13.new Date跨平台兼容性问题
14.wx.getSystemInfoSync获取windowHeight不准确
15.图片本地资源名称,尽量使用小写命名

移动端热点问题(参考答案)

1. 1px border问题
2.2X图 3X图适配
3.图片在安卓上,有些设备模糊问题
4.固定定位布局 键盘挡住输入框内容
5.click的300ms延迟问题和点击穿透问题
6.phone及ipad下输入框默认内阴影
7.防止手机中页面放大和缩小
8.flex布局
9.px、em、rem、%、vw、vh、vm这些单位的区别
10. 移动端适配- dpr浅析
11.移动端扩展点击区域
12 上下拉动滚动条时卡顿、慢
13 长时间按住页面出现闪退
14. ios和android下触摸元素时出现半透明灰色遮罩
15. active兼容处理 即 伪类:active失效
16.webkit mask兼容处理
17. pc端与移动端字体大小的问题
18. transiton闪屏
19.圆角bug
20.如何解决禁用表单后移动端样式不统一问题?


js常用插件(参考答案)


  • 轮播图插件
  • 二级城市插件
  • 三级城市插件
  • 文字滑动效果
  • 手风琴效果
  • 视频播放插件
  • 弹层插件
  • 百度编辑器
  • ACE编辑器(轻巧)
  • 上传图片(裁剪)
  • 页面加载效果
  • 全选反选各种效果
  • 京东楼层效果
  • 懒加载


关注下面的标签,发现更多相似文章
评论