irpas技术客

Web技术模拟面试题A参考答案_hanq2016

irpas 7733

?? ?考试时间:180分钟 ?? ?考试总分:100分 ?? ?及格分数:70分

一、HTML部分,共5题(10分) ?? ?1、H5的语义化标签,至少写出5个?(2分) ?? ??? ?Header定义头部,可以多个 ?? ??? ?Footer底部,不一定是文档最底部,可以多个 ?? ??? ?Nav导航栏标签,定义导航栏 ?? ??? ?Article独立内容区域,与session类似,用于文章等 ?? ??? ?Aside面侧边栏所使用 ?? ??? ?Time时间标签,主要用于搜索引擎和其它一些内容引擎特殊的解析和展示 ?? ??? ?Ruby注释标签,跟rt和rp一起使用,可以看一下效果 ?? ??? ?Details点击展开详情,可以试一下,可能在很多场景下可以使用 ?? ??? ?Mark会给这个字段添加一个背景色,那个颜色还改不了 ?? ??? ?Progress进度条,当做简易进度条使用,不够美观 ?? ??? ?Section节的意思,主要是区分开内容,文档中的节或者是文章的节 ?? ??? ?Video视频,不支持自动播放了,微信能处理,其他还没见过能自动播放 ?? ??? ?Audio音频,也就是音乐,也不支持自动播放 ?? ??? ?Datalist模糊查询,除了样式之外 ?? ??? ?Embed插入多媒体内容,可以播放视频,但是那些属性都不生效 ?? ??? ?Canvas画布,很强大很强大,值得研究 ?? ??? ?Main主要内容 ?? ??? ? ?? ?2、简述px,em,rem的区别?(2分) ?? ??? ?1)px像素(Pixel).绝对单位.像素px是相对于显示器屏幕分辨率而言的,是一个虚拟长 ?? ??? ??? ?度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定精度DPI. ?? ??? ?2)em是相对长度单位,相对于当前对象内文本的字体尺寸.如当前对行内文本的字体尺寸 ?? ??? ??? ?未被人为设置,则相对于浏览器的默认字体尺寸.它会继承父级元素的字体大小,因此并不是一个固定的值. ?? ??? ?3)rem是CSS3新增的一个相对单位(rootem,根em),使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素. ?? ??? ?4)浏览器无法调整那些使用px作为单位的字体大小,而em和rem可以缩放,rem相对的只是HTML根元素. ?? ??? ??? ? ?? ?3、网页的重绘、重排、重构?(2分) ?? ??? ?1)重绘是指一个元素外观的改变所触发的浏览器行为,浏览器会根据元素的新属性重新绘制,使元素呈现新的外观.触发重绘的条件:改变元素外观属性.如:color,background-color等. ?? ??? ?2)重排又称重构、回流、reflow,当渲染树中的一部分(或全部)因为元素的规模、尺寸、布局、隐藏等改变而需要重新构建,这就称为重排(reflow). ?? ??? ??? ?每个页面至少需要一次回流,就是在页面第一次加载的时候. ?? ??? ?3)触发重排的条件:调整窗口大小、改变字体大小、样式表变动、CSS伪类激活、DOM操作等. ?? ??? ?4)重排必定会引发重绘,但重绘不一定会引发重排. ?? ?4、简述一下src与href的区别?(2分) ?? ??? ?src用于替换当前元素,href用于在当前文档和引用资源之间确立联系. ?? ? ?? ?5、请描述一下cookies,sessionStorage和localStorage的区别?(2分) ?? ??? ?1)sessionStorage中的数据,这些数据只有在同一个会话中的页面才能访问,并且当会话结束后数据也随之销毁.因此sessionStorage不是一种持久化的本地存储,浏览器关闭数据就丢失. ?? ??? ?2)localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的. ?? ??? ?3)Cookie是一种用户追踪机制,其作用是与服务器进行交互,作为HTTP规范的一部分而存在. ?? ??? ?4)Storage的概念和Cookie相似,区别是它是为了更大容量存储设计的.Cookie的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外Cookie还需要指定作用域,不可以跨域调用 ?? ??? ? 二、CSS部分,共5题(10分) ?? ?1、怎么让一个不定宽高的元素div,垂直水平居中,写出2种方案?(2分) ?? ??? ?1)在当前元素上使用定位和变形 ?? ??? ??? ?div{ ?? ??? ??? ??? ?positon:absolute; ?? ??? ??? ??? ?top:50%; ?? ??? ??? ??? ?left:50; ?? ??? ??? ??? ?transform:translate(-50%,-50%); ?? ??? ??? ?} ?? ??? ?2)在div的父级元素上使用flex布局 ?? ??? ??? ?div.parent{ ?? ??? ??? ??? ?display:flex; ?? ??? ??? ??? ?align-items:center; ?? ??? ??? ??? ?justify-content:center; ?? ??? ??? ?} ?? ?2、css样式的优先级如何排列?(2分) ?? ??? ?1)!importent>id>class>标签 ?? ??? ?2)!importent>行内>内部>外部 ?? ??? ??? ??? ? ?? ?3、清除浮动的几种方式?(2分) ?? ??? ?1)给浮动的元素的父级元素添加高度 ?? ??? ?2)给父级元素设置overflow:hidden; ?? ??? ?3)在父级元素最后设置空div元素,设置属性clear:both; ?? ??? ?4)使用伪类元素: ?? ??? ??? ?.clearFixed::after{ ?? ??? ??? ??? ?display:block; ?? ??? ??? ??? ?content:""; ?? ??? ??? ??? ?clear:both; ?? ??? ??? ?} ?? ?4、Flex布局常用的属性及其默认值?(2分) ?? ??? ?1)flex-direction:row|row-reverse|column|column-reverse|initial|inherit设置主轴方向,默认值row ?? ??? ?2)flex-wrap:nowrap|wrap|wrap-reverse|initial|inherit;设置主轴方向元素是否换行,默认值nowrap ?? ??? ?3)flex-flow:flex-directionflex-wrap|initial|inherit;是flex-direction和flex-wrap的复合属性 ?? ??? ?4)align-items:stretch|center|flex-start|flex-end|baseline|initial|inherit;设置交叉轴上元素的对齐方式,默认值stretch ?? ??? ?5)justify-content:justify-content:flex-start|flex-end|center|space-between|space-around|initial|inherit;设置主轴上元素的对齐方式,默认值flex-start ?? ??? ?6)align-content:stretch|center|flex-start|flex-end|space-between|space-around|initial|inherit;多个主轴时元素在交叉轴上的对齐方式,默认值stretch ?? ??? ?7)flex-grow:number|initial|inherit;设置弹性盒子的展开比率,默认值0即使有剩余空间也不展开 ?? ??? ?8)flex-shrink:number|initial|inherit;指定了flex元素的收缩规则,默认值是1,元素放不下就缩小填充父级元素 ?? ??? ?9)flex-basis:number|auto|initial|inherit;设置弹性盒伸缩基准值,默认值auto ?? ??? ?10)flex:flex属性是flex-grow、flex-shrink和flex-basis属性的简写属性默认值01auto ?? ??? ?11)order:order:number|initial|inherit;设置元素的顺序,数字越小越靠前默认值0 ?? ??? ?12)align-self:auto|stretch|center|flex-start|flex-end|baseline|initial|inherit;定义flex子元素单独在交叉轴方向上的对齐方式,默认值auto ?? ??? ??? ? ?? ?5、什么是响应式布局,怎么实现?(2分) ?? ??? ?响应式布局简而言之,就是一个网页能够兼容多个终端的布局。其原理是动态监听视口宽度的变化,动态设置页面元素在不同宽度视口下的样式, ?? ??? ?从而能够让页面能正常显示并具有可读性。实现过程主要使用媒体查询技术。 ?? ??? ??? ?@media all and (min-witdh:320px) and (max-width:560px){ ?? ??? ??? ??? ?//元素的样式 ?? ??? ??? ?} ?? ? 三、JavaScript基础,共12题(36分) ?? ?1、手写原生ajax请求过程,指明如何实现异步和同步;(3分) ?? ??? ?//1、创建XMLHttpRequest对象 ?? ??? ?let xmlhttp=null; ?? ??? ?if(window.XMLHttpRequest){ ?? ??? ??? ?//codeforIE7+,Firefox,Chrome,Opera,Safari ?? ??? ??? ?xmlhttp=new XMLHttpRequest(); ?? ??? ?}else{//codeforIE6,IE5 ?? ??? ??? ?xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); ?? ??? ?} ?? ??? ?//2、监听XMLHttpRequest的状态变化 ?? ??? ?xmlhttp.onreadystatechange=function(){ ?? ??? ??? ?//5、判断xmlhttp的请求状态,渲染数据 ?? ??? ??? ?if(xmlhttp.readyState==4&&xmlhttp.status==200){ ?? ??? ??? ??? ?document.getElementById("myDiv").innerHTML=xmlhttp.responseText ?? ??? ??? ?} ?? ??? ?} ?? ??? ?//3、建立连接,open第3个参数是true表示异步,false表示同步 ?? ??? ?xmlhttp.open("GET","http://·/test1.txt",true) ?? ??? ?//4、发送请求 ?? ??? ?xmlhttp.send() ?? ??? ? ?? ?2、实现一个60秒倒计时函数countDown();(3分) ?? ??? ?let id,count=60; ?? ??? ?let countDown=()=>{ ?? ??? ??? ?if(id){ ?? ??? ??? ??? ?clearInterval(id) ?? ??? ??? ?} ?? ??? ??? ?id=setInterval(function(){ ?? ??? ??? ??? ?if(count<=0){ ?? ??? ??? ??? ??? ?clearInterval(id) ?? ??? ??? ??? ?} ?? ??? ??? ??? ?count-- ?? ??? ??? ??? ?div.innerHTML=count ?? ??? ??? ?},1000) ?? ??? ?} ?? ??? ? ?? ?3、谈谈你对this的理解?(3分) ?? ??? ?1)普通函数中this--->window ?? ??? ?2)构造函数中this--->当前实例化对象 ?? ??? ?3)事件回调函数中this--->当前触发事件的对象 ?? ??? ?4)定时器中this--->window ?? ??? ?5)箭头函数中this--->window ?? ??? ? ?? ?4、解释事件模型和执行过程?(3分) ?? ??? ?1)一个事件的处理过程主要有三个阶段:捕获,目标,冒泡; ?? ??? ?2)捕获阶段:当点击某个元素时,首先要找到这个元素,这时就从window开始一直向子元素递归,直到找到事件触发的元素,这个过程称事件的捕获 ?? ??? ?3)目标阶段:当找到事件触发的元素时,就开始执行事件 ?? ??? ?4)冒泡阶段:当事件在目标元素上执行完后,开始向父级元素传递,此过程叫做事件的冒泡 ?? ??? ? ?? ?5、如何阻止事件冒泡和默认事件?(3分) ?? ??? ?1)使用event.stopPropagation()阻止事件的冒泡 ?? ??? ?2)使用event.preventDefault()阻止默认事件 ?? ??? ? ?? ?6、谈谈你对Promise的理解?(3分) ?? ??? ?1)Promise是ES6提供的一个处理异步程序的API,是存储异步代码执行后结果的容器。 ?? ??? ?2)Promise有三个阶段pending初始状态,fulfilled操作结束,rejected操作失败 ?? ??? ?3)使用Promise.then().catch()可以实现异步代码的同步化 ?? ??? ?4)Promise一旦执行就不能取消,内部异常不会在外部显示,在pending状态下不知道程序执行到哪个阶段 ?? ??? ? ?? ?7、JS常用的几种继承方式?(3分) ?? ??? ?1)原型链继承,将父类的实例作为子类的原型 ?? ??? ??? ?Cat.prototype=new Animal(); ?? ??? ?2)构造继承,使用父类的构造函数来增强子类实例 ?? ??? ??? ?function Cat(name){ ?? ??? ??? ??? ?Animal.call(this); ?? ??? ??? ??? ?this.name=name||'Tom'; ?? ??? ??? ?} ?? ??? ?3)实例继承,为父类实例添加新特性,作为子类实例返回 ?? ??? ??? ?function Cat(name){ ?? ??? ??? ??? ?let instance=new Animal(); ?? ??? ??? ??? ?instance.name=name||'Tom'; ?? ??? ??? ??? ?return instance; ?? ??? ??? ?} ?? ??? ?4)拷贝继承,把父类的实例所有属性赋值给子类原型对象 ?? ??? ??? ?function Cat(name){ ?? ??? ??? ??? ?var animal=new Animal(); ?? ??? ??? ??? ?for(var p in animal){ ?? ??? ??? ??? ??? ?Cat.prototype[p]=animal[p]; ?? ??? ??? ??? ?} ?? ??? ??? ??? ?this.name=name||'Tom'; ?? ??? ??? ?} ?? ??? ?5)组合继承,通过调用父类构造,继承父类的属性并保留传参的优点,然后通过将父类实例作为子类原型,实现函数复用 ?? ??? ??? ?function Cat(name){ ?? ??? ??? ??? ?Animal.call(this); ?? ??? ??? ??? ?this.name=name||'Tom'; ?? ??? ??? ?} ?? ??? ??? ?Cat.prototype=new Animal(); ?? ??? ??? ?//重新定向构造函数,避免紊乱 ?? ??? ??? ?Cat.prototype.constructor=Cat; ?? ??? ??? ? ?? ?8、原型是什么?函数的原型和对象的原型如何获得?(3分) ?? ??? ?1)构造函数是在script标签里面声明的函数function Fn(){} ?? ??? ?2)原型对象是在声明了一个构造函数后,程序自动按照构造函数的规则创建一个对象pt_object,这个对象就叫做原型对象。 ?? ??? ?3)构造函数中会有一个属性prototype,这个属性指向的就是原型对象pt_object ?? ??? ??? ?Fn.prototype===pt_object ?? ??? ?4)使用构造函数创建一个对象 ?? ??? ??? ?let? ? obj=new Fn() ?? ??? ??? ?obj.__proto__===pt_object ?? ??? ? ?? ?9、什么是同源策略?如何实现跨域?(3分) ?? ??? ?1)源(origin)就是协议、域名和端口号。当且仅当三个源都相同下才是同源 ?? ??? ?2)同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。所以a.com下的js脚本采用ajax读取b.com里面的文件数据是会报错的。 ?? ??? ?3)实现跨域可以使用: ?? ??? ??? ?webSocket、 ?? ??? ??? ?iframe、 ?? ??? ??? ?jsonp、 ?? ??? ??? ?CROS(跨域资源共享cross-origin resource share)服务端设置响应头:Access-Control-Allow-Origin:* ?? ??? ??? ?使用服务代理 ?? ??? ? ?? ?10、如何实现异步代码块的同步执行?(3分) ?? ??? ?3)使用回调函数嵌套 ?? ??? ?2)使用promise.then().catch() ?? ??? ?3)使用async-await ?? ??? ?4)使用generator函数 ?? ??? ??? ??? ? ?? ?11、ES6的常用语法,至少列举8个?(3分) ?? ??? ?1)let ?? ??? ?2)const ?? ??? ?3)Map ?? ??? ?4)Set ?? ??? ?5)箭头函数中()=>{} ?? ??? ?6)对象、数组解构 ?? ??? ?7)class ?? ??? ?8)async-await ?? ??? ?9)Promise ?? ??? ?10)Generator ?? ??? ?11)Symbol ?? ??? ? ?? ?12、什么是闭包,写一个简单的闭包?(3分) ?? ??? ?1)闭包就是能够读取其他函数内部变量或成员的函数,本质上闭包就是将函数内部和函数外部连接起来的一座桥梁 ?? ??? ?2)闭包实例: ?? ??? ??? ?function fn(){ ?? ??? ??? ??? ?let num=10 ?? ??? ??? ??? ?return()=>{ ?? ??? ??? ??? ??? ?console.log(num+20) ?? ??? ??? ??? ?} ?? ??? ??? ?} ?? ??? ??? ?let mt=fn() ?? ??? ??? ?mt()//30

四、Vue部分,共10题(30分) ?? ?1、vue常用指令有哪些,写出至少10个?(3分) ?? ??? ?1)v-on ?? ??? ?2)v-if ?? ??? ?3)v-else ?? ??? ?4)v-show ?? ??? ?5)v-bind ?? ??? ?6)v-slot ?? ??? ?7)v-lazy ?? ??? ?8)v-html ?? ??? ?9)v-text ?? ??? ?10)v-for ?? ??? ?11)v-model ?? ??? ? ?? ?2、vue生命周期函数有哪些,有什么特点?(3分) ?? ??? ?1)总共分为8个阶段创建前/后,挂载前/后,更新前/后,销毁前/后。 ?? ??? ?2)在beforeCreated阶段,vue实例的挂载元素$el和数据对象data都为undefined,还未初始化 ?? ??? ?3)在created阶段,vue实例的数据对象data有了,$el还没有。 ?? ??? ?4)在beforeMount阶段,vue实例的$el和data都初始化了,但还是挂载之前为虚拟的dom节点,data.message还未替换。 ?? ??? ?5)在mounted阶段,vue实例挂载完成,data.message成功渲染 ?? ??? ?6)更新前/后:当data变化时,会触发beforeUpdate和updated方法 ?? ??? ?7)销毁前/后:在执行destroy方法后,对data的改变不会再触发周期函数,说明此时vue实例已经解除了事件监听以及和dom的绑定,但是dom结构依然存在 ?? ? ?? ?3、vue使用路由的过程?(3分) ?? ??? ?1)npm i vue-router ?? ??? ?2)创建src/router/index.js文件 ?? ??? ?3)在index.js文件中编写代码 ?? ??? ??? ?import Vue from 'vue' ?? ??? ??? ?import VueRouter from 'vue-router' ?? ??? ??? ?let Home=()=>import('../components/Home.vue') ?? ??? ??? ?Vue.use(VueRouter) ?? ??? ??? ?let routes=[{path:'/home',name:'Home',component:Home}] ?? ??? ??? ?let router=new VueRouter({routes}) ?? ??? ??? ?export default router ?? ??? ?4)在main.js中引入路由并挂载 ?? ??? ??? ?import router from './router' ?? ??? ??? ?new Vue({ ?? ??? ??? ??? ?router, ?? ??? ??? ??? ?store, ?? ??? ??? ??? ?render:h=>h(App) ?? ??? ??? ?}).$mount('#app') ?? ? ?? ?4、vue中route、routes、router、$route、$router的区别?(3分) ?? ??? ?1)route:是定义在路由文件中的一个对象,包含路径和组件之间的对应关系 ?? ??? ?2)routes:在路由文件中的一个数组,存放很多个route ?? ??? ?3)$route:当前组件对应的url对象http://localhost:9999/#/home就是home.vue的$route ?? ??? ?4)router:在路由文件中定义的VueRouter类型的对象,称路由器,其中包含很多route ?? ??? ?5)$router:是全局Vue对象的一个属性,可以通过this.$router来获得到router ?? ? ?? ?5、什么是Vuex?(3分) ?? ??? ?1)Vuex是一个专为Vue.js应用程序开发的状态管理模式 ?? ??? ?2)Vuex可以存储各单文件组件共享的数据 ?? ??? ?3)Vuex有常用的5个属性 ?? ??? ??? ?state、getters、mutations、actions、modules ?? ??? ??? ? ?? ?6、vue双向数据绑定的原理?(3分) ?? ??? ?vue.js是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的 ?? ??? ?setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。 ?? ??? ?具体步骤: ?? ??? ?第一步:需要observe的数据对象进行递归遍历,包括子属性对象的属性,都加上setter和getter,这样的 ?? ??? ?话,给这个对象的某个值赋值,就会触发setter,那么就能监听到了数据变化。 ?? ??? ?第二步:compile解析模板指令,将模板中的变量替换成数据,然后初始化渲染页面视图,并将每个指令对 ?? ??? ?应的节点绑定更新函数,添加监听数据的订阅者,一旦数据有变动,收到通知,更新视图。 ?? ??? ?第三步:Watcher订阅者是Observer和Compile之间通信的桥梁,主要做的事情是:1、在自身实例化时往属 ?? ??? ?性订阅器(dep)里面添加自己2、自身必须有一个update()方法3、待属性变动dep.notice()通知时,能调用自身的 ?? ??? ?update()方法,并触发Compile中绑定的回调,则功成身退。 ?? ??? ?第四步:MVVM作为数据绑定的入口,整合Observer、Compile和Watcher三者,通过Observer来监听自己 ?? ??? ?的model数据变化,通过Compile来解析编译模板指令,最终利用Watcher搭起Observer和Compile之间的通信 ?? ??? ?桥梁,达到数据变化->视图更新;视图交互变化(input)->数据model变更的双向绑定效果。 ?? ??? ? ?? ?7、vue中computed、 filters、watch的区别?(3分) ?? ??? ?1)过滤器filters是对数据进行修饰,不依赖实例可以定义全局的过滤器 ?? ??? ?2)计算属性computed对数据进行逻辑运算,依赖实例this.data,当data中的数据发生变化时,立即触发computed计算属性,不可以去改变data(){}中的值 ?? ??? ?3)帧听器watch根据数据的变化而执行操作 ?? ??? ? ?? ?8、vue中子父组件如何传值?(3分) ?? ??? ?组件关系可分为父子组件通信、兄弟组件通信。 ?? ??? ?1)父组件向子组件: ?? ??? ??? ?通过props属性来实现 ?? ??? ?2)子组件向父组件: ?? ??? ??? ?子组件用$emit()来触发事件,父组件用$on()来监昕子组件的事件。 ?? ??? ??? ?父组件可以直接在子组件的自定义标签上使用v-on来监昕子组件触发的自定义事件。 ?? ??? ?3)兄弟之间的通信: ?? ??? ??? ?通过实例一个vue实例Bus作为媒介,要相互通信的兄弟组件之中都引入Bus,之后通过分别调用 ?? ??? ??? ?Bus事件触发和监听来实现组件之间的通信和参数传递。 ?? ?9、vue中的路由守卫有哪些,简单写出函数名称?(3分) ?? ??? ?1)全局路由前置守卫 ?? ??? ??? ?router.beforeEach(function(to,from,next){}) ?? ??? ?2)全局路由后置守卫 ?? ??? ??? ?router.afterEach(function(to,from){}) ?? ??? ?3)组件内部守卫 ?? ??? ??? ?beforeRouteEnter(to,from,next){} ?? ??? ??? ?beforeRouteUpdate(to,from,next){} ?? ??? ??? ?beforeRouteLeave(to,from,next){} ?? ??? ?4)路由独享守卫 ?? ??? ??? ?beforeEnter((to,from,next)=>{}) ?? ??? ??? ? ?? ?10、keep-alive的作用?(3分) ?? ??? ?<keep-alive></keep-alive>包裹动态组件时,会缓存不活动的组件实例,主要用于保留组件状态或避免重新渲染 ?? ??? ? 五、其它,共6题(14分) ?? ?1、小程序的双向绑定和vue哪里不一样?(2分) ?? ??? ?小程序this.data的属性是不可以同步到视图的,必须调用:this.setData({items:[1,2,3]}) ?? ??? ? ?? ?2、可以实现前后端交互技术有哪些,比如原生的AJAX,列举4种?(2分) ?? ??? ?1)原生ajax ?? ??? ?2)jQuery的$.ajax() ?? ??? ?3)axios ?? ??? ?4)fetch ?? ??? ?5)webSocket ?? ??? ? ?? ?3、less是什么,怎么使用?(2分) ?? ??? ?Less是一门CSS预处理语言,它扩充了CSS语言,增加了诸如变量、混合(mixin)、函数等功能,让CSS更易维护、方便制作主题、扩充。Less可以运行在Node或浏览器端 ?? ??? ?1)客户端 ?? ??? ??? ?<script src="less.js"type="text/javascript"></script> ?? ??? ??? ?<link rel="stylesheet/less" type="text/css" href="styles.less"> ?? ??? ?2)服务端 ?? ??? ??? ?Less在服务器端的使用主要是借助于Less的编译器,将Less源文件编译生成最终的CSS文件 ?? ??? ? ?? ?4、npm是什么,常用的命令有哪些,至少写出5个?(3分) ?? ??? ?npm是nodejs包资源管理器,由三个独立的部分组成:网站、注册表(registry)、命令行工具(CLI) ?? ??? ?常用的命令: ?? ??? ?npm init ?? ??? ?npm install? ?? ??? ?npm run ?? ??? ?npm start ?? ??? ?npm uninstall ?? ??? ?npm help ?? ??? ?npm ls ?? ??? ?npm config ?? ??? ? ?? ?5、Git是什么,写出提交本地代码到远程仓库的流程?(3分) ?? ??? ?1)Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 ?? ??? ?2)git init -y ?? ??? ?3)git add . ?? ??? ?4)git commit -m '首次提交' ?? ??? ?5)git remote add origin '远程仓库地址' ?? ??? ?6)git push -u master ?? ??? ? ?? ?6、PM2是什么,如何使用pm2启动一个Nodejs服务?(2分) ?? ??? ?1)pm2是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载. ?? ??? ?2)npm install -g pm2 ?? ??? ?3)pm2 start app.js ?? ?


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #Web技术模拟面试题A参考答案 #考试时间180分钟 #考试总分100分 #及格分数70分一HTML部分 #共5题10分 #1H5的语义化标签 #至少写出5个2分