11~13k(初/中级)前端面试看这篇就够了

一、HTML + CSS

1、常用实用技巧

01、定位:

position:absolute/relative/fixed/static

static:静态定位;

absolute:绝对定位,?绝对定位的元素相对于最近的定位祖先元素进行定位。然而,如果绝对定位的元素没有定位祖先,它将相对于文档主体(body)进行定位

relative:相对定位,相对于自己的初始位置进行定位;

fixed:固定定位,固定定位的元素是相对于视口定位的,这意味着即使滚动页面,它也始终位于同一位置。

02、盒模型:

margin:外边距;

border:边框;

padding:内边距;

content:内容;

盒模型的宽:左外边距+左边框+左内边距+width+右内边距+右边框+右外边距;

盒模型的高:上外边距+上边框+上内边距+height+下内边距+下边框+下外边距;

03、垂直水品居中(内容的垂直水品居中和盒子的垂直水平居中)

(1)、内容垂直水品居中:

height=line-height;

text-align:center;

(2)?、盒子垂直水平居中两种方法:

方法1:

position:absolute;

left: 50%;

top: 50%;

margin-left: -盒子宽一半;

margin-top:-盒子高一般;

方法2:

position:absolute;

left: 50%;

top: 50%;

transform:translate(-50%,-50%);

2、知识点

01.?HTML5新特性有哪些

新增了语义化标签如header、footer等

新增了视频(video)音频(audio)标签

新增了canvas和svg绘图

新增了地理定位(navigator.geolocation)

新增了拖拽APIsegmentfault.com/a/119000000…

新增了多线程技术web worker和即时通讯技术web socket等

02.?CSS3有哪些新特性

增加了transition渐变、animation动画、选择器、阴影box-shadow、弹性布局flex、媒体查询@media等

03.?W3C标准有哪些

W3C标准不是一个标准,而是一系列标准的总和;

标准分为三个层面,结构(html)、行为(js)、表现(css)

标准有:

文档类型需要声明(DOCTYPE)

编码格式需要声明

javascript代码需要定义

css代码需要定义

标签名字和标签内部属性名字小写等

04.?常见的浏览器兼容问题有哪些

不同浏览器里面的

标签的外间距和内间距表现不同,解决方案:*{margin:0;padding:0},

图片有默认间距,解决方案:父标签设置font-size:0

05.?CSS伪类选择器有哪些

:before 在...之前

:after ? 在...之后

:active ? 点击

:hover ? 鼠标悬停

:first-letter ? 所有文字当中的第一个

:first-line ?? 所选元素当中的第一行

:first-child ? 第一个子元素

:nth-child() ? 获取子元素

:nth-of-type ? 获取指定类型的子元素

等等几十个

06.?什么是子选择器,什么是后代选择器

表示子选择器,例如 div>span 获取div的子标签span

空格 表示后代选择器,例如 div span 获取div里面所有的span

07.?CSS权重的优先级是怎样的

??? !important?> 内联样式?> id?> class?> 标签名字

??? 权重可以叠加

08.?浏览器怎么做兼容

IE浏览器一般使用css hack方式来解决,即在代码前面加上* 、_、 +等符号

谷歌一般在属性前面加上-webkit-来进行兼容

火狐一般在属性前面加上-moz-进行兼容

webpack使用postcss给css属性自动添加前缀,进行兼容

09.?平时是怎么做适配的

通常的方案是通过rem配合媒体查询(@media)来进行适配,

标签或者文本设置大小的时候不设置px而是设置rem,

然后使用媒体查询根据屏幕大小来动态调整rem大小,那么所有设置rem单位的元素都会根据屏幕发生改变

010.?rem和em有什么区别

em是相对于父级标签的字体大小来定义的

rem是相对于html标签的字体大小来定义的

011.?canvas和svg有什么区别

都可以用来绘制图形,但是canvas是基于js来绘制的,svg是基于xml来绘制的

012.?页面优化有哪些方法

(1)减少 HTTP 请求

(2)减少 DOM 元素数量

(3)从页面中剥离 JavaScript 与 CSS

(4)移除重复脚本

(5)使用恰当的图片格式

13. 语义化的理解?

(1)html语义化就是让页面的内容结构化,便于浏览器、搜索引擎解析;

(2)在没有CSS样式情况下也以—种文档格式显示,并且是容易阅读的。

(3)使阅读源代码的人更容易将网站分块,便于阅读维护理解。

二、JS+jQuery

1、常用实用技巧

01.?数组的常用函数及其作用

juejin.cn/post/701582…

2、知识点

01.?js基本数据类型有哪些

基本类型Number 、String、Boolean、Null、Undefined、symbol

引用类型Object

02.?JS当中的typeof返回的类型有哪些

number 、string 、boolean 、 undefined 、symbol、function 、object

03.?return,break,continue的区别是什么

return 必须写在函数内部,遇到return后函数内部剩余的代码不再执行,直接返回;还可以使用return返回一个值给外面使用

break 跳出循环,剩余的循环不再执行

continue??跳出本次循环,剩余的循环继续执行

04.?typeof和instance of 的区别是什么

typeof判断对象的类型,返回值有7种可能

number、string、boolean、undefined、symbol、function、object

instanceof 判断是否是对方的实例化对象,返回值为true或者false

typeof、instanceof、toString.call()、constructor

05.?==(宽松相等)和 ===(严格相等)有什么区别

== 判断左右两边的值是否一致,但是只能判断值,不能判断类型,也就是说

2?==‘2’是成立的

=== 既判断值,也判断类型

06.?js的强制转换和隐式转换是怎样的

???parseInt,parseFloat,Number?这三种是强制转换

???-=、*=、/=、%=?是隐式转换

07.?get请求和 post请求的区别是什么

get请求将参数放在url当中,post请求将参数放在请求体当中,理论上post更安全

因为url长度大小不能超过1KB?,而get请求又将参数放在url当中,所以上传头像等操作不能使用get请求

08.?什么是冒泡和挖洞

当一个子标签触发某一个事件(比如click)后,该事件会从顶级父标签一级一级往该标签传递,这个过程叫做挖洞(捕获)

当找到该子标签之后事件会再从子标签开始一级一级往父标签传递,这个过程叫做冒泡

09.?js当中的事件委托是怎么回事

用事件冒泡的原理,自己所触发的事件, 让他的父元素代替执行

010.?call , apply 和bind的区别

(1)都可以更改this指向

(2)call,bind后面的第一个参数是指向的对象,第二个参数是往对象传的值

(3)apply后面的第一个参数是指向的对象,第二个参数是数组,数组里面是往对象传的值(arguments ??全部参数)

(4)call和apply更改this指向会自动调用,bind需要手动调用

011.?jsonP的作用是什么,原理是什么

??? 作用:解决跨域问题

??? 原理:动态创建script标签,回调函数

012.?cookie , sessionStorage , localStorage的区别是什么

(1)都可以用来存储数据

(2)cookie一条数据大小不能超过4KB ,最多不能存储超过20条,如果没有设置过期时间,那么在浏览器关闭后消失

(3)sessionStorage是会话存储,一条大小不能超过5M,数量没有限制,关掉页面数据消失

(4)localStorage本地存储,一条大小不超过5M,数量没有限制,除非主动删除,否则数据不会消失

013、原型的概念

JavaScript的所有对象中都包含了一个 [proto] 内部属性,这个属性所对应的就是自身的原型JavaScript的函数对象,除了原型 [proto] 之外,还有 prototype 属性,当函数对象作为构造函数创建实例时,该 prototype 属性值将被作为实例对象的原型 [proto]

014.?什么是原型链?

?一个对象A调用方法的时候,会先从自身找有没有这个方法,如果没有就找自己的原型,看有没有该方法,没有就继续找对象A的父类B的原型,就这样一级一级往上找,称之为原型链。

任何一级找到就直接调用,不再往上找,如果到最后都没找到就报错?例子:a is not defined;

015.?什么是闭包

闭包指的是一个函数可以访问另一个函数作用域中变量

闭包的行成原因:一个函数套另一个函数,而内部的函数返回到函数外面,造成原有作用域链不释放,就会行成闭包。

闭包的作用:??榛饔糜颉⒋⒋姹淞?、封装私有变量;

缺点:因为闭包造成原有作用域链不释放,所以会造成内存泄露;

如何解决内存泄漏:使用立即执行函数;(借助立即执行函数的执行规则,执行之后立即销毁,不会造成内存泄露)

016.?同步异步的区别是什么

同步流程:提交请求→等待服务器处理→处理完毕返回?

一次请求之后必须处理完毕后才能处理后续操作,处理效率较低。(例如B/S模式)

异步流程:提交请求→服务器处理→处理完毕

发送请求后不需要等待,可以继续执行后续操作。

当有消息返回时系统会通知进程进行处理,可以提高执行效率。(例如AJAX技术)

017.?ES6语法的新增特性有哪些

(1)let关键字,声明变量

(2)const关键字,声明常量

(3)模板字符串

(4)箭头函数

(5)对象和数组解构

(6)数据类型Symbol

(7)Set集合和Map集合

(8)Promise对象

(9)引入class关键字

Symbol 函数栈不能用 new 命令,因为 Symbol 是原始数据类型,不是对象??梢越邮芤桓鲎址魑问麓唇ǖ?Symbol 提供描述,用来显示在控制台或者作为字符串的时候使用,便于区分。

Es6当中,函数在谁的范围内调用,函数内部this指向指的就是谁,

Es5当中,谁调用了函数,函数内部的this指向指的就是谁

018.?var和let的区别有哪些

(1)可以用var对同一个变量重复声明,但是let不可以

(2)var有变量提升,可以先赋值,后声明。let没有变量提升,只能先声明,后赋值

(3)let声明的变量?有块级作用域

019.?严格模式有哪些特性(这里说的严格模式一般指的是es6的严格模式)

(1)变量必须先声明?在使用??变量提升没了

(2)严格模式下?删除后的变量不能使用

(3)严格模式下?函数内部的this指向默认指向的是?undefind

(4)严格模式下?定时器?延时器内部的this指向的还是window

(5)严格模式下?函数的参数的名字不能一样

(6)严格模式下?块级作用域当中不能声明函数

020. 函数的防抖和节流

防抖:事件触发并经过一段时间间隔后执行事件处理函数,如果在这段时间内事件又被触发了,那么将重新计时。

节流:事件触发并经过一段时间间隔后执行一次事件处理函数。也就是说不管你触发了多少次事件,在这段事件就只能触发一次。

021.?常见的Http状态码有哪些

1XX:信息状态码

100 Continue 继续,一般在发送post请求时,已发送了http header之后服务端 将返回此信息,表示确认,之后发送具体参数信息

2XX:成功状态码

200 OK 正常返回信息

201 Created 请求成功并且服务器创建了新的资源

202 Accepted 服务器已接受请求,但尚未处理

3XX:重定向

301 Moved Permanently 请求的网页已永久移动到新位置。

302 Found 临时性重定向。

303 See Other 临时性重定向,且总是使用 GET 请求新的 URI。

304 Not Modified 自从上次请求后,请求的网页未修改过。

4XX:客户端错误

400 Bad Request 服务器无法理解请求的格式,客户端不应当尝试再次使用相同的 内容发起请求。

401 Unauthorized 请求未授权。

403 Forbidden 禁止访问。|

404 Not Found 找不到如何与 URI 相匹配的资源。

5XX: 服务器错误

500 Internal Server Error 最常见的服务器端错误。

503 Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)。

三、Vue

1、知识点

01.?Vue常见的指令及其作用

v-text:绑定文本,不能加载标签

v-html:绑定文本,可以加载标签

v-bind:?用于绑定数据和元素属性

v-if:条件判断,为真添加元素,为假删除元素

v-for:循环

v-model:双向数据绑定

v-show:条件判断,为真显示,为假不显示

02.?v-if和v-for写在同一个标签会发生什么

v-for的优先级比v-if更高,v-if不起作用

03.?template标签的作用是什么

将元素包裹在一起,本身并不会加载到DOM结构当中

04.?data为什么必须为函数

确保每一个组件独享一个数据对象,而不是共享一个数据对象 ?

05.?transition标签的作用

? 设置过渡效果,里面只能放置一个元素,且必须配合v-if、 v-show(或者动态组件、组件根节点)来使用

如果想要设置多个元素渐变,需要使用transition-group

06.?slot插槽的作用是什么,什么是具名插槽

作用是获取组件中间的内容,有Name值的插槽是具名插槽

07.?v-text和{{}}相比有什么好处

v-text在网速不好数据返回迟钝的情况下,页面不会出现{{}}

08.?computed和watch的区别什么

computed: 计算属性 用来计算结果并返回 有缓存 当数据发生变化时 重新计算 不发生变化时使用缓存数据

watch:?是监听某个值的变化 当值发生变化时 执行相关操作

09.?Vue循环的key作用

Key值的存在保证了唯一性,Vue在执行时,会对节点进行检查,如果没有key值,那么vue检查到这里有dom节点,就会对内容清空并赋新值,如果有key值存在,那么会对新老节点进行对比,比较两者key是否相同,进行调换位置或删除操作

可以减少渲染次数,提高渲染性能

010.?axios数据请求的特点是什么

1.从浏览器中创建XMLHttpRequests;

2.node.js创建http请求;

3.支持Promise API;

4.拦截请求和响应;

5.转换请求数据和响应数据;

6.取消请求;

7.自动换成json。

012.?Vue的核心是什么

数据驱动:ViewModel,保证数据和视图的一致性。

组件系统:应用类UI可以看作全部是由组件树构成的。

013.?keep-alive的作用是什么

保持组件存活,即便组件消失也不移除

可以用在首页、购物车和商品详情,保持组件存活;

014.?什么是MVVM

?M ?model数据模型,为页面显示的数据

?V ?view?视图,为当前页面

VM???viewModel,监听数据变化,用户交互的内容,实质就是一个视图控制器

Controller

015.?Vue生命周期钩子函数有哪些(很重要,问vue几乎必问)

beforeCreate 组件创建之前

created 组件创建以后

beforeMount ? 组件渲染之前

mounted ? 组件渲染以后

beforeUpdate ? 组件更新之前

updated ? 组件更新以后

beforeDestroy ? 组件摧毁之前

destroyed ? 组件摧毁以后

activated (艾克提未忒特) 组件激活 (配合keep-alive使用)

deactivated 组件未激活(配合keep-alive使用)

errorCaptured???当子孙组件出错的时候会调用这个函数

016.?Vue怎么进行双向数据绑定,双向数据绑定的原理是什么

??? 使用v-model进行双向绑定

??? 原理:采用数据劫持,结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter/getter,在数据变动时发布消息给订阅者,触发相应监听回调。

当把一个普通 js对象传给 Vue 实例来作为它的 data 选项时,Vue 将遍历它的属性,用?Object.defineProperty()?将它们转为 setter/getter。

用户看不到 setter/getter,但是在内部它们让 Vue 追踪依赖,在属性被访问和修改时通知变化。

017.?Vue组件之间数据传递的方式有几种,怎么进行传递

??? 父传子: 子组件通过props方式接受

子传父:子组件发射一个事件$emit,父组件接受事件以后调用相应的函数

非父子:?使用一个空的Vue对象在第一个组件的点击事件中,使用$emit方式来发射事件,在第二个组件的mounted函数里面使用$on来接收事件

018.?三种路由传值?

1?在路径后面使用:?声明一个变量,调用路径后面跟一个参数??拿到值的话?this.$route.params.变量名,Route:肉特;router:rou(一声)特

2.使用path来匹配路由,然后通过query来传递参数?,?拿到值要this.$route.qurey.变量名

3.使用name名来匹配路由,要使用params来传递参数,拿到值的话使用this.$route.params.变量名

019.?Vue当中的事件修饰符有哪些?

1.

?.once表示点击事件只调用一次

2. ???.prevent表示阻止默认事件提交(阻止的是相当于a标签的跳转功能)

3. ?.stop阻止事件传递(阻止冒泡)

020. 路由当中的hash(哈希)模式和history(历史)模式有什么区别?

hash:url地址后面会跟一个#,地址切换不会导致页面请求

history:地址后面没有#,地址切换会导致页面请求

021.?Vue-Router的钩子函数有哪些

(1)、全局守卫

beforeEach 全局前置守卫beforeResolve 全局解析守卫afterEach ?? 全局后置守卫复制代码

(2)、独享守卫 ?

beforeEnter复制代码

(3)、?组件内守卫

beforeRouteEnter 组件前置守卫??(该守卫没有this)??????????beforeRouteUpdate ?? 路由改变但是组件被复用时???????????beforeRouteLeave???? 组件后置守卫复制代码

022.?Vue当中的状态管理的作用,以及属性的作用是什么

Vuex状态管理是为了统一管理页面所需要的数据,并能够在整个项目当中任意地方来使用这个数据,有5个属性

state:用来存放初始数据

mutations:同步方法,用来修改state值

actions:异步方法,需要调用Mutations中方法来修改State值

getters:计算属性,类似于组件当中的computed属性

modules:用来管理其他的Vuex对象

一般用来存储用户登陆的token(token表示的是用户登陆的状态,并不是值得用户id);用户id

缺陷:页面刷新时,state中数据会丢失

一般解决方案:

(1)、在app.vue的created方法中读取sessionStorage中的数据存储在store中,此时用vuex.store的replaceState方法,替换store的根状态

(2)、在beforeunload方法中将store.state存储到sessionStorage中。

023.?什么是动态组件?

<component :is=""></component>?根据is属性的值来决定成为什么组件

024.什么是异步组件?

??? 路由加载的时候不会立马加载,等到需要使用的时候才加载的组件称之为异步组件

025.?系统修饰符

.ctrl、.alt、.shift、.meta

026. 按键修饰符

enter、tab、delete、esc、space、up、down、left、right

027.?Vue项目当中怎么解决跨域问题?

在config/index.js 当中设置proxyTable属性,如果脚手架为3.0以上版本,则需要新建一个vue.config.js文件进行配置

解决跨域的具体方法:juejin.cn/post/703322…

028.?Vue项目怎么打包app

1、使用命令npm run build 生成一个dist文件夹

2、使用hbuilder创建一个5+app项目,选择默认模板

3、用dist文件夹里面的东西来替换hbuilder创建的项目里面的内容

4、选择原生app-云打包

029.?怎么解决打包空白问题

1、在vue.config.js中添加字段publicPath后面的值从绝对路径改成相对路径, /改成./

2、如果静态资源在指定文件,需要制定输出路径outputDir:“dist”

3、把路由的历史模式给删除掉

030. vant、element、meiziUi组件库分别有什么区别

vant:主要做移动端商城类项目

element:是主要做pc端网页

amaze:主要做移动端

031.?vue全家桶一般都有什么,作用是什么

?Vue-router 路由管理 创建配置路由

Vuex 状态管理 统一管理 页面所需的数据 ?供全局使用

Vue-cli 用来搭建vue项目

Axios 用来数据请求

032.?Vue如何优化首屏加载速度?

(1)?按需加载组件,不一次性加载所有组件

(2)?减少不必要的网络请求;

033.?devDependencies和dependencies的区别

(1)devDependencies

用于本地开发,打包时生产环境不会打包这些依赖

(2)dependencies

开发环境能用,生产环境也能用。生产环境会被打包

四、Webpack

1、知识点

01.???榛掷嘤心男?/p>

A.?浏览器端的??榛?/p>

(1)AMD(Asynchronous Module Definition,异步??槎ㄒ? 代表产品为:Require.js

(2)CMD(Common Module Definition,通用模块定义) 代表产品为:Sea.js

B.?服务器端的??榛衿鞫说哪?榛娣妒鞘褂肅ommonJS规范:

1.?使用require引入其他??榛蛘甙?/p>

2.?使用exports或者module.exports导出??槌稍?/p>

3.?一个文件就是一个??椋加涤卸懒⒌淖饔糜?/p>

C.?ES6??榛珽S6??榛娣吨卸ㄒ澹?/p>

1.每一个js文件都是独立的???/p>

2.导入模块成员使用import关键字

3.暴露??槌稍笔褂胑xport关键字

小结:推荐使用ES6??榛?,因为AMD,CMD局限使用于浏览器端,

CommonJS在服务器端使用,

ES6??榛卿榔鞫撕头衿鞫送ㄓ玫墓娣?

02.?export default 和 exports有什么区别

前者是默认导出,每个??橹荒苡幸桓?,导入的时候需要用 import XX from‘XXX’这种方式

后者是导出,每个模块可以有多个,导入的时候需要用import {XX} from‘XX’的方式

如果在一个??橹忻挥邢蛲獗┞冻稍?,其他模块引入该??槭苯岬玫揭桓隹斩韵?/p>

03.?webpack的作用是什么?

webpack是一个流行的前端项目构建工具,提供了模块化支持,代码压缩混淆,解决兼容问题,性能优化等特性,提高了开发效率和项目的可维护性。

1.?对代码重新加载翻译。

2.?合并静态资源,减少io

04.?webpack的安装命令是什么?

npm install webpack webpack-cli -D

05.?webpack当中的development和production有什么区别

前者为开发模式,代码不会进行压缩,打包速度也更快

后者是生产模式,代码会进行压缩,打包速度相对较慢

06.?如何配置webpack的出口和入口

在webpack.config.js当中设置entry字段,该字段用来配置文件的入口,默认为src下的index.js

在webpack.config.js当中设置output字段,该字段用来配置文件的出口,默认为dist文件下的main.js

07.?如何配置webpack自动打包的功能

?A.安装自动打包功能的包:webpack-dev-server

???????npm install webpack-dev-server -D

?B.修改package.json中的dev指令如下:

"scripts":{???????????"dev":"webpack-dev-server"???????? }复制代码

C.将引入的js文件路径更改为:<script src="/bundle.js"></script>(绝对路径)

D.运行npm run dev,进行打包

08.?webpack Loder和plugins区别

loader是文件加载器,能够加载资源文件,并对这些文件进行一些处理,诸如编译、压缩等

plugins 主要是拓展 webpack 功能

09.?webpack怎么打包非js文件

下载文件对应的加载器,然后再webpack.config.js当中配置module的语法规则

010.?webpack如何打包css文件

下载style-loader 和 css-loader,然后再webpack.config.js当中配置语法规则

011.?webpack如何打包less文件

下载less、less-loader、css-loader、style-loader,然后配置语法规则

012.?webpack如何打包图片文件

下载url-loader、file-loader ,配置语法规则

013.?webpack打包非vue

①.?npm init 初始项目

②.?安装webpack及web -cli

③.?配置打包入口(entry)/出口(output)

④.?设置自动打包

⑤.?下载模块加载器,在webpack.config.js配置语法规则

五、微信小程序

01.?微信小程序当中如何获取用户信息

wx.getUserInfo?现在版本更新为wx.getUserProfile

02.?微信小程序如何实现用户登录

wx.login

03.?微信小程序当中如何获取当前手机设备信息,比如品牌、操作系统、蓝牙信息等

wx.getSystemInfo

04.?微信小程序如何实现更新微信版本

wx.updateWeChatApp

05.?微信小程序的页面跳转有哪些方式

wx.switchTab ?? 只能跳转到tabbar包含的几个页面

wx.navigateTo ? 跳转到不在tabbar里包含的其它页面

wx.navigateBack? 关闭当前页面,返回到上一级

wx.redirectTo ? 重定向,关闭当前面,不能跳转到tabbar里面包含的页面

wx.reLaunch ? 关闭所有页面,打开到应用内的某个页面

06.?微信如果实现下拉刷新

1.在页面json或者app.json当中配置 enablePullDownRefresh:true

然后在需要监听刷新的页面的js当中,会自动触发函数onPullDownRefresh

2.可以通过微信API-- wx.startPullDownRefresh和wx.stopPullDownRefresh来实现

开启和关闭刷新

07.?如何让页面滚动到指定位置

wx.pageScrollTo

08.?微信怎么进行数据请求,下载和上传

数据请求:wx.request

上传:wx.uploadFile

下载:wx.downloadFile

09.?微信小程序怎么在页面中共享数据

1.?将数据存放在app.js当中的globalData中

2.?使用wx.setStorage存储在本地

010.?微信小程序如何获取自己的地理位置信息

wx.getLocation 可以获取当前的地理位置、速度等信息

011.?微信小程序的生命周期函数有哪些

1.?onLoad() 页面加载的时候触发,只调用一次

2.?onShow() 页面显示/回到前台的时候调用 多次调用

3.?onReady() 页面初次渲染完毕的时候调用,只调用一次

4.?onHide() 页面隐藏/进入后台的时候调用

5.?onUnload() 页面卸载的时候触发

012.?微信小程序怎么阻止事件冒泡

可以使用catchTap来替换bindTap

bind事件绑定不会阻止冒泡事件,catch事件绑定可以组件阻止冒泡事件

013.?说说你对rpx的理解

不管屏幕实际像素是多少,将当前屏幕分成750rpx

014.?微信小程序有哪些优势和劣势

优势:

1.?容易上手,有丰富的组件和强大的API

2.?用户基础广泛

3.?无需下载

4.?开发成本比app低

劣势:

1.?限制较多,单个页面大小不能超过1M,不能打开超过5个层级的页面

2.?组件样式单一,如果组件不能满足需求,需要自定义组件

3.?依托于微信,无法打包单独的安装包

015.?微信小程序和H5的区别是什么

1.?运行环境不同,微信小程序在微信中运行,h5在浏览器

2.?开发成本不同,h5需要进行各个浏览器的兼容

3.?小程序获取手机系统权限非常简单,h5较为复杂,需要依赖于其它的东西,比如uniApp或者插件

4.?事件绑定、传值、数据请求方式等都不一样

六、Git

01.?平时是怎么进行团队合作的

1.?首先会确定好需求,UI设计师根据需求设计效果图,效果图客户通过后,UI设计师会给前端一份标注图和切图,同时前后端根据需求开发页面和进行服务器开发

2.?服务器接口是后端给的,会给一份开发者文档,里面有各个需求请求接口地址、请求类型、参数和返回值等信息

3.?前端组各个成员会使用git进行代码提交,每天上班时会将最新的代码pull一下,下班前会将代码push上去

02.?如何解决代码冲突问题

1.?首先将自己的代码提交到本地仓库

2.?然后将最新的代码从云仓库拉下来

3.?进行代码合并,如果合并过程当中冲突,手动解决冲突(删除多余的代码或者合并两份代码)

4.?解决完冲突以后,重新提交到本地,最后上传到云仓库就行了

03.?平时使用git版本工具有哪些

习惯使用命令行提交

工具使用过sourceTree , 以及git自带的提交工具

04.?git和SVN有什么区别

1.?平时只用了git

2.?git是分布式的,svn是集中式的

3.?git仓库可以克隆在本地,svn只可以存储在云上

4.?git支持离线提交,svn只能在线提交

05.?git常用的命令有哪些

1.?git status 查看代码状态

2.?git add . 保存代码到暂存区

3.?git commit -m ? 保存代码到持久区

4.?git pull 将云仓库的代码拉下来

5.?git push 上传代码到云上

6.?git clone 将云仓库代码克隆到本地

7.?git merge XX 合并分支,合并分支的时候只允许在主枝合并

希望能对你有所帮助!

需要领取免费资料的小伙伴们,添加小助手vx:SOSOXWV??即可免费领取资料哦!

?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,172评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,346评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,788评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,299评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,409评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,467评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,476评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,262评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,699评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,994评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,167评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,499评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,149评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,387评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,028评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,055评论 2 352

推荐阅读更多精彩内容