关于进一步加强网站建设东莞商场
- 作者: 五速梦信息网
- 时间: 2026年03月21日 11:07
当前位置: 首页 > news >正文
关于进一步加强网站建设,东莞商场,大连工商网站查询企业信息,重庆游戏公司为什么要初始化css#xff1f; 避免浏览器差异#xff0c;解决兼容问题 网格布局 display: grid; grid-template-columns: 1fr 1fr 1fr less的优点 可以兼容#xff0c;可以嵌套#xff0c;循环#xff0c;运算#xff0c;定义变量和继承样式#xff08;extend#xff… 为什么要初始化css 避免浏览器差异解决兼容问题 网格布局 display: grid; grid-template-columns: 1fr 1fr 1fr less的优点 可以兼容可以嵌套循环运算定义变量和继承样式extend computed和watch的区别computed和methods的区别 computed和watch computed是计算缓存需要return第一次加载就监听 watch触发一次就执行一次回调不需要return可以设置immediatetrue computed和methods computed是响应式调用值引用的属性发生变化时才会计算 methods不是响应式调用函数每次被调用都要执行 vue列表中key的作用以及能用index下标来标记吗 用来识别一个独立的元素识别dom元素更准更快优化diff算法高效更新虚拟dom区分同名元素 不能用i和index因为不管数组顺序如何颠倒index顺序都是0123…从而可能会导致dom旧节点复用错误做很多额外的工作或出现bug 谈谈对promise的理解 解决异步编程回调地狱传统解决异步编程的方式是通过回调函数而回调嵌套过多会导致回调地狱callbackhell的一种解决方案可以通过Promise的方式以同步的方式表达出来从而解决代码臃肿和可读性差的问题。 程序有三种状态pending等待、resolved成功、rejected失败。 Promise 的实例可以看做是一个状态展示器我们可以将拥有状态及改变状态的业务通过Promise来实现然后再结合async function进一步提升程序的可读性及易维护性 像前端很多库都是基于Promise封装的比如axiosantd等所以理解并且能使用它是一名合格前端所必备的技能 一般Promise我都用来接受ajax请求结果之后的回调以及图片的预加载Promise.all http请求方式 getpostputdeleteheadoptionstraceconnect。可以说常用的只有前四个其它的了解不多 常见http状态码 200成功 301临时跳转 302永久性的重定向 304请求成功但是是从缓存中读取的节省资源 403请求的权限不够或者该ip被封掉了 404找不到请求的资源最常见 500程序本身错误也就是后端的问题可以对他说热烈的马 js是单线程吗 是的单线程是指Js引擎执行Js时只分了一个线程给他执行也就是执行js时是单线程的。 异步方法 回调函数事件监听发布订阅双向绑定用到Promiseasync/awaitajax定时器延时器then,catch,finally 闭包使用场景 比如说回调函数还有按钮的节流频繁点击的时候只要在规定的事件内检测到设置的flag还是没改变则直接返回啥也不做或设置按钮状态为disabled也可以 销毁生命周期一般做哪些业务 消除定时器解绑事件清除无用的变量常量等以免造成内存溢出 vue中nextTick 在vue中并不是数据一更新DOM就立即更新页面立即渲染而是当一个事件循环结束后DOM才会完成更新页面才会成功渲染 如通过一个for循环改变一个数据即使这个for循环100次DOM也只会在第100次时才更新而不是循环100次DOM就更新100次。 使用场景初始化绑定或操作Dom获取元素宽高等 vue自定义指令 Vue 自定义指令有全局注册和局部注册两种方式。 先来看看注册全局指令的方式通过 Vue.directive( id, [definition] )方式注册全局指令。然后在入口文件中进行 Vue.use()调用 局部自定义指令是定义在组件内部的只能在当前组件中使用,directives后是一个对象,对象里面key是指令名字,值是一个对象,这个对象里面有钩子函数update更新bind只调用一次inserted插入父元素时参数是el,binding,vnode,钩子函数里面书写逻辑 常用例子系统权限显示按钮级自定义一个权限数组判断用户角色在不在这个数组内在的话则显示不在的话则移除该dom使用的时候给v-自定义指令赋值判断即可 vue3和vue2的区别 双向绑定原理不同vue2是object.defineProperty()对数据对象的settergetter进行数据劫持并且结合发布订阅模式完成双向绑定vue3是通过proxy代理来处理数据好处是可以监听整个对象和数组不用闭包for..in等内容来提高效率 生命周期不同vue2生命周期为创建前后挂载前后更新前后销毁前后vue3则没有创建前后用setup替代生命周期前面多个on且销毁生命周期前后由原来的destroyed改为onbeforeUnmounted和onUnmounted vue3可以拥有多个根节点vue2不行 vue2选项式vue3组合式不用划分不同的属性去写代码比如datamethods等直接书写即可比较整洁和方便 定义数据vue3多了两个钩子函数ref和reactive 父子传值不同vue2是props和\(emit vue3是defineProps和defineEmits 父子传值详细代码可以看这位博主的博客写的挺详细 点击这里 16、hooks的理解 名为钩子函数的一种写法就是将文件的一些单独功能的js代码进行抽离出来放到单独的js文件中或者说是一些可以复用的公共方法/功能 17.如果用户跳过登陆页面直接在地址栏输入地址跳转路由是如何进行拦截的 一般的js网络请求库都会有拦截器interceptor可以针对所有的请求和响应进行预处理。如果用户正常登陆前端会把session id或者是一个token保存在cookie中。之后的每一次ajax请求都会附上这个id或者token。之后后端针对前端的每一次需要验证用户登陆状态和是否有权限调用这个接口请求都会利用这个id进行检验。假如没有通过就会返回http 401。所以你需要在针对响应response的预处理中进行判断如果是401就重定向到登陆页。 18.canvas有哪些方法和属性 getContext() 返回一个对象提供了用于在画布上绘图的方法和属性 beginPath() 起始一条路径或重置当前路径 closePath() 创建从当前点回到起始点的路径 lineTo() 添加一个新点然后在画布中创建从该点到最后指定点的线条 rect() 创建矩形 arc() 创建弧/曲线 moveTo() 把路径移动到画布中的指定点不创建线条 stroke() 绘制已定义的路径 19.vue中什么是单向数据流 指数据总是从父组件传递到子组件子组件无权更改否则会报错首先如果更改了那么其它依赖于该父组件的子组件也会出错其次就是如果子组件更改了父组件的数据的话那么父组件就不知道是哪个子组件更改了数据从而出bug正确的做法就是通知父组件要更改数据然后父组件更改完数据之后再传递给子组件 20.组件的作用域 我们在定义组件时作用域是组件本身在调用组件时作用域是父组件 21.权限判断 大概有两种一种是登陆后获取用户权限信息然后筛选有权限进入的路由通过addRoutes动态添加路由用到router.beforeEach()另一种是初始化挂载全部路由在路由上标记出所需的权限最后在路由跳转beforeRouteLeave之前验证用户有没有该权限 22.setup的执行时机 在beforeCreate之前执行一次 23.是否能操作dom 获取 getElementById() 通过id获取dom节点 getElementByTagName() 通过标签名获取dom节点 getElementByClassName() 通过类名获取dom节点 querySelector() 通过css选择器获取第一个符合的dom节点 querySelectorAll() 通过css选择器获取所有符合的dom节点结果是一个伪数组 操作 el.getAttribute() 获取el的属性 el.setAttribute() 设置el的属性 el.removeAttribute() 删除el的属性 元素节点上有一个dataset里面包含了所有的H5自定义属性 el.dataset.属性名 获取H5自定义属性值 el.dataset.属性名 “值” 设值 delete el.dataset.属性名 删除 el.innerHTML 元素的可读写属性里面的HTML代码可以被解析 el.innerText 元素的文本内容里面的HTML代码打印出来是字符串 el.value 用于操作表单元素的内容 24.ref和reactive的区别 从定义数据方面 ref通常用来定义基本类型数据 reactive用来定义对象或者数组类型数据 ref也可以用来定义对象或者数组类型的数据内部会通过reactive转为代理对象 从原理方面 ref通过Object.defineProperty()的get和set实现数据代理。 reactive使用Proxy实现数据代理并且通过Reflect操作源对象内部的数据。 从使用方面 ref操作数据需要.valuetemplate模板中不需要。 reactive都不需要.value 25.axios和ajax的区别 axios是通过Promise实现对ajax技术的一种封装就像jquery对ajax的封装一样。ajax技术实现了局部数据的刷新axios实现了对ajax的封装 axios是ajaxajax不止axiosaxios有的ajax都有ajax有的axios不一 定有。 26.vuex是什么 vuex是一个专为vue.js实现状态管理的一个库采用集中式存储管理应用的所有组件的状态使这种状态以一种可预测化的方式发生变化并且有五大模块 state用来存储数据状态 可以通过this.\)store.state.属性名来获取数据 getter通过现有数据计算出新的数据类似于vue中的计算属性 mutations方法库用来改变数据不能有异步操作因为不能实时监听跟踪数据状态不知道什么时候返回数据 actions提交mutation可以包含异步操作this.\(store.commit(mutation,实参第二个参数) modules对vuex进行分模块化 27.父子组件之间的通信有哪些 props\)emit; \(parent,\)children; provide,inject; eventBus; Vuex; V-model; \(ref实例传值 28.哪个属性和值可以使元素同时具有块级元素和行内元素属性 display:inline-block 29.放在html里的哪一部分js代码会在页面加载的时候被执行 body 30.[1,2,3].map(parseInt)返回结果为 1,NaN,NaN 31.js内置常用对象有哪些 NaN,Undefined,Null,parseInt,parseFloat,Object,Function,Boolean,Symbol,Error, Number,Math,Date,String,RegExp,Array,Map,Set,JSON,Promise,Proxy,Arguments等 32.canvas和SVG有什么区别 canvas是用js动态绘制生成的比较适合图像密集的游戏制作和地图制作 SVG是使用xml文档来描绘比较适合用来做动态交互 33.position的之relative和absolute的定位原点是什么 relative相对于自身正常位置进行定位absolute相对于最近的非静态父级元素的左上角进行定位 34.跨域是什么如何解决跨域 浏览器的安全行为协议域名端口号一致才能请求数据基于同源策略 JsonPScript的src属性proxyNginxcors 35.对可视化的理解 将数据转换成图像在屏幕上动态的显示出来达到更直观的效果 36.echarts有哪些配置项及作用 title标题 tooltip{}提示框 yAxis[]y轴 xAxis:[]x轴 legend:{}图例 grid{}内绘网格 toolbox{}工具 serise[]数据 calculable:true可计算特性 ...更详细的可看我上一篇文章很详细算了估计你们懒直接给你们 链接 吧 37.发布订阅模式是怎么实现的 订阅发布模式定义了一种一对多的依赖关系让多个订阅者对象同时监听某一个主题对象。这个主题对象在自身状态变化时会通知所有订阅者对象使它们能够自动更新自己的状态基于的原理就是维护一个对象每次对这个对象进行遍历和更新。 实现一个简单的发布订阅模式可以 定义一个变量存储这些事件 定义一个监听方法用于把事件添加到事件变量中 定义一个删除方法用于把是事件从变量中移除 定义一个触发方法用于调用变量中的事件 38.居中有哪些方法 1.text-align:center结合line-height 2.margin:auto,块级元素 3.flex布局: display:flex; justify-content:center; align-items:center; 4.定位 父元素:position:relative; 子元素: position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); 5.定位 父元素:position:relative 子元素: position:absolute; left:50%; top:50%; margin-left:-(自身宽度的一半) margin-top:-(自身高度的一半) 6.父元素:position:relative 子元素: position:absolute; left:0; right:0; top:0; bottom:0; margin:auto 39.数组有哪些方法 shift在前面删除一个元素 unshift在前面增加一个元素 pop在后面删除一个元素 push在后面增加一个元素 every所有的都为true时才返回true some有一个为true就返回true map遍历返回一个长度与它自身长度相等的数组不返回值的话就为undefined forEach遍历没有返回值 filter过滤 reduce可替换所有的数组方法第一个参数为回调函数。回调函数中有四个参数第一个为以前的值第二个值为当前值第三个值为当前下标第四个值为原数组第二个参数为初始值 concat连接 splice删除添加替换 slice截取 join trim reverse fill find indexof lastIndexof startsWith ToLowerCase ToUpperCase 40.怎么对数组进行去重 1.双循环去重把数组遍历寻找是否在新数组中有没有对应的项没有的话加进新数组有的话return最后把新数组返回即可 2.indexof方法判断数组的每一项能不能在新数组里查到只要返回-1的话就加进新数组遍历结束之后返回新数组 3.indexof方法2判断元素第一次出现的位置和元素现在的下标位置是否相同如果不是的话就是重复元素则return是的话就加进新数组并且返回 4.相邻元素去重先排序再循环如果相等则跳过直至遍历结束 5.利用对象属性去重遍历赋值如果对象没有这个属性则设置值为1如果有该属性则值1所以最后对象里面值为1的就是不重复的值 6.set与解构去重这个很简单[...new Set(arr)即为结果 7.Array.from与set去重Array.from(new Set(arr))即为结果 41.怎么实现滚动加载 需要用到Dom的三个属性值 scrollTop : 滚动条在Y轴上的滚动距离。 clientHeight: 内容可视区域的高度。 scrollHeight : 内容可视区域的高度加上溢出滚动的距离。 最后判断scrollTopclientHeight scrollHeight为true的话就发送请求并且增加size并判断是不是最后一批数据是的话则以后都不加载 42.css中的动画效果 keyframes 规定动画效果 animation-name 绑定到某个元素 animation-duration 设置延迟时间默认为0s /* 动画代码 */ keyframes example {from {background-color: red;}to {background-color: yellow;} }/* 向此元素应用动画效果 */ div {width: 100px;height: 100px;background-color: red;animation-name: example;animation-duration: 4s; } animation-delay 规定动画开始的延迟时间如果是负值的话则表示已经播放多少秒一样 animation-iteration-count 指定动画将运行多少次值为infinite的时候将永动 animation-direction 指定动画将以正常还是反转的方式播放 animation-timing-function 规定动画的速度曲线 animation-fill-mode 指定动画的填充模式大概意思就是保留哪个关键帧的样式 animation 动画简写属性例如下面的代码可以有简写形式 div {animation-name: example;animation-duration: 5s;animation-timing-function: linear;animation-delay: 2s;animation-iteration-count: infinite;animation-direction: alternate; } div {animation: example 5s linear 2s infinite alternate; } 43.条件编译 条件编译写法说明#ifdef APP-PLUS需条件编译的代码#endif仅出现在app平台下的代码#ifndef H5需条件编译的代码#endif除了H5平台都可以出现的代码#ifdef H5 || MP-WEIXIN 需条件编译的代码#endif仅在H5平台和微信小程序出现的代码 44.uniapp中怎么实现传参如果有一条有一百个属性的对象你要怎么传 拼接在url地址后或者用storage存储用encodeURIComponent编码decodeUriComponent解码 45.onload和onshow区别 onload在页面加载时调用只加载一次可以通过options来获取参数 onshow在页面显示时调用可以重复调用 46.vuex的module属性如果不添加namespaced会发生什么 如果在不同模块中定义了相同的名字调用的时候就会报错 47.promise和async await的优缺点 promise解决了回调地狱问题一旦新建就会立即执行一般情况下是无法中途取消的async和await可以用写同步代码的方式写异步代码但是容易造成堵塞因为要等结果返回之后才能执行下一步 48.websocket是干嘛的 获取实时数据可以实现后端推送数据 49.前端有哪些优化 加载优化减少http请求数 1. 合并图片精灵图雪碧图 2. 合并压缩css样式表和js脚本文件 3. 去掉不必要的请求 4. 首屏加载 5. 充分利用缓存 6. 预加载 7. 异步加载第三方资源 图片优化 1. 图片使用PNG格式 2. 进行图片的懒加载 3. 避免src属性为空不然会重新加载页面影响性能 4.不要使用DataURLDataURL图像没有使用图像压缩算法文件会变大并且要解码后再渲染加载慢耗时长 使用CDN 开启Gzip 样式表放头部用link引入js脚本放尾部异步加载减少文件对页面加载的阻塞 减少不必要的cookie 脚本优化 复杂动画使用定位让其脱离文档流避免循环Dom元素使用transform:translate代替position left right...减少回流和重绘 尽量使用事件委托 尽量使用id选择器因为选择最快具有唯一性 前端代码的优化 减少dom节点 尽量使用 css3动画合理使用requestAnimationFrame代替setTimeOut 高频事件例如scrollmouseleaveinput输入按钮点击等事件应设置防抖节流 文件命名统一且有意义规范的放进同类型文件夹中 SEO优化 标题不要太长写关键字或主题相关内容即可 描述是整个页面的说明作用和重要性仅次于标题描述最好能得吸引人一点带上自己公司的品牌词和电话并包括目标关键词 关键词对关键词进行优化能够让用户在搜索关键词的时候能够准确的定位到自己要搜索的内容和网站能够让网站被更多有需要的人看到。 网站代码网站代码尽量精简 50.封装过哪些组件和函数 菜单工人列表日历弹出框遮罩层轮播图放大镜旋转魔方等 基于axios封装的ajax时间函数加密解密正则验证去重函数等 51.怎么封装axios函数步骤有哪些调用了哪个方法 首先先调用axios的一个create方法实现通用配置 然后定义不需要登录的请求比如登录获取验证码注册等等 再进行请求的拦截 实现多个服务器代理循环代理服务器地址如果需要进行其它服务器的代理那么修改baseURL参数 判断地址是否在不需登录的请求地址中 在vuex中获取token与后端协商标志为什么如果没有则证明没有登录就抛出错误并且返回如果有则加在请求头上最后实现token续期非不要token请求才续期 最后拦截完之后就封装一个ajax请求调用request方法并且使用promise原型上的.then.catch方法接收结果以下是完整代码 /*** description 实现异步请求封装*/ import { LOGIN_API, PHONE_CODE_URL, SHOW_LIST_URL } from /config/urls.conf import store from /store import router from /router import axios from axios import { LOGIN_FLAG } from /config/common.conf import { deCodeApi, enCodeApi } from /util// 实现通用配置 const Axios axios.create({baseURL: /dingxiang,timeout: 5000 })// 实现了请求拦截--请求前和请求后 // 定义不需要登录的请求 const noLoginUrls [SHOW_LIST_URL,PHONE_CODE_URL,LOGIN_API ]// 实现多个服务器代理 const service {/wanxiang: [SHOW_LIST_URL],/qita: [/fdlksjflkds/fdhslkjfdskjfs,/fdlsjflkds/fjdlsjfds] }Axios.interceptors.request.use(function(config) {// 循环代理服务器地址如果需要进行其它服务器的代理那么修改baseURL参数for (let key in service) {if (service[key].includes(config.url)) {config.baseURL keybreak}}// 判断是否这个请求需要进行拦截为什么要拦截// 因为有些请求需要token数据也就是这个请求在请求之前用户一定是登陆过if (noLoginUrls.includes(config.url)) {return config}// 先获取token然后加上token数据let token store.getters[common/token]if (!token) {// 用户没有token数据那么这个请求就不能发起所以这里直接返回错误信息return Promise.reject({code: 8080, message: 用户登录的token数据不存在或则已失效})}// 在请求头上带上token数据config.headers[X-Token] tokenreturn config })// 实现token续期 Axios.interceptors.response.use(response {if (response.data.code 400 response.data.message token票据已过期请重新登录) {router.push(/login)} else {// 续期token时间 -- 一定是非不要token请求发送结果if (!noLoginUrls.includes(response.config.url)) {let cache sessionStorage.getItem(LOGIN_FLAG)try {cache deCodeApi(cache).split(----)sessionStorage.setItem(LOGIN_FLAG, enCodeApi(cache[0] ---- Date.now()))} catch {}}}return response })/*** 为了支持async await 写法还有就是减少代码量* param {{url: String, method: GET | POST | DELETE | PUT, data?: any, params?: any}} req 请求对象*/ function ajax(req) {return new Promise(resolve {Axios.request({url: req.url,method: req.method || GET,data: req.data || {},params: req.params || {}}).then(({data}) {resolve(data)}).catch(e {resolve(e)})}) }export default ajax 52.浏览器的兼容问题有哪些怎么解决 1.不同浏览器的外补丁和内补丁不一样 解决方法在通配符里加margin0padding:0; *{margin:0;padding:0; } 2.IE6双边距问题在 IE6中设置了float , 同时又设置margin , 就会出现边距问题 解决方案设置display:inline; 3.当标签的高度设置小于10px在IE6、IE7中会超出自己设置的高度 解决方案超出高度的标签设置overflow:hidden,或者设置line-height的值小于你的设置高度 4.图片默认有间距 解决方案使用float 为img 布局,用margin也可以解决但是有兼容问题 5.IE9以下浏览器不能使用opacity 解决方案 opacity: 0.5;filter: alpha(opacity 50);filter: progid:DXImageTransform.Microsoft.Alpha(style 0, opacity 50); 6.边距重叠问题当相邻两个元素都设置了margin 边距时margin 将取最大值舍弃最小值 解决方案为了不让边重叠可以给子元素增加一个父级元素并设置父级元素为overflow:hidden 7.cursor:hand 显示手型在safari 上不支持 解决方案统一使用 cursor:pointer 8.两个块级元素父元素设置了overflow:auto子元素设置了position:relative ;且高度大于父元素在IE6、IE7会被隐藏而不是溢出 解决方案父级元素设置position:relative 53.HTML5有哪些新特性 1.Canvas绘图基于js适用于图像密集的游戏制作 2.表单元素增强了一些表单属性比如dateplaceholderrequired等 3.语义化标签headernavfooterarticleaside 4.媒体元素audiovideo 5.地理定位getCurrentPosition()来获取用户位置 6.拖放API当draggable为true时可拖放 7.SVG绘图基于xml描述绘制适用于地图开发 54.css3有哪些新特性 1.选择器,::after 2.CSS3边框与圆角,border-radius,box-shadow 3.CSS3背景与渐变,background,background:linear-gradient为线性径向渐变是radial-gradient 4.CSS3过渡,transition 5.CSS3变换,transform,rotate,translate,scale, 6.CSS3动画,animation-delay;direction,duration 55.ES6有哪些新特性 symbolletconst解构赋值map和set扩展运算符(...)assignincludesstartsWithfromfindfindIndexfill箭头函数classimportexportpromise 58.lodash库除了cloneDeep()还用过哪些 chunk(array, [size1]) “数组切割” cloneDeep(value) “深拷贝” compact(array) “过滤假值” remove(array, [predicate_.identity]) “移除数组对象中指定元素” unionWith([arrays], [comparator]) “数组对象合并去重” map(collection, [iteratee_.identity]) “过滤” uniqBy(array, [iteratee_.identity]) “数组对象去重” pullAll(array, values) “移除数组指定元素” pullAllWith(array, values, [comparator]) “移除数组对象指定元素” 59.弹性盒知道哪些属性 flex-flow:flex-direction和flex-wrap的简写 justify-content align-items flex:flex-grow,flex-shrink,flex-basis align-self 60.有哪些布局方式 浮动布局 定位布局 弹性布局 栅格布局 响应式布局 61.Vscode常用插件有哪些 Vue 3 Snippets Vetur Npm Intellisense Live Server JavaScript (ES6) code snippets HTML CSS Support Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code Beautify 你用的有啥就写啥 62.测试连接工具除了postman和swaggerUi还有吗 YApi 63.git常用命令 git add. git commit -mdescribe git push git rebase 64.elementUi常用哪些组件 button checkbox input table form TimePicker DatePicker loading select toast message 65.防抖节流的应用 input延缓输入按钮防止频繁点击轮播图频繁切换窗口拖动页面滚动等 66.vuex与pinia的区别 pinia比vuex少一个mutations模块 pinia适合中小型应用vuex适合大型应用 pinia没有modules模块每一个都是由defineStore生成的 67.vuex中不开启命名空间会怎样 会报错因为如果两个模块里属性的名字一样则不知道设置或读取的是哪一个模块的内容 68.做过gis相关项目吗 做过但不多做过百度地图和高德地图相关地图绘制应用慎答问这个就表示有项目需要你写这个实在不会就说不会但可以去学后续再决定去不去 69.可视化库用过哪些 echartshighChartsd3.jsthree.js 70.echarts怎么实现按需加载 utils里chart.js // 引入 echarts 核心模块核心模块提供了 echarts 使用必须要的接口。 import * as echarts from echarts/core; import { BarChart, LineChart,PieChart } from echarts/charts; // 引入提示框标题直角坐标系数据集内置数据转换器组件组件后缀都为 Component import {TitleComponent,TooltipComponent,GridComponent,DatasetComponent,TransformComponent,LegendComponent,DataZoomComponent } from echarts/components; // 标签自动布局全局过渡动画等特性 import { LabelLayout, UniversalTransition } from echarts/features; echarts/features; // 引入 Canvas 渲染器注意引入 CanvasRenderer 或者 SVGRenderer 是必须的一步 import { CanvasRenderer } from echarts/renderers;// 注册必须的组件 echarts.use([TitleComponent,TooltipComponent,GridComponent,DatasetComponent,TransformComponent,BarChart,LabelLayout,UniversalTransition,CanvasRenderer,LineChart,PieChart,LegendComponent,DataZoomComponent ]); export default echarts; main.js import echarts from /utils/chart.js // 引入echarts Vue.prototype.\)echarts echarts // 引入组件 71.前端的网络安全问题有哪些 xss攻击就是在input框里写攻击代码解决方法对input输入框做一些拦截判断等 sql注入使用了字符串拼接方式构造sql语句并且对于用户输入检查不充分,导致sql语句将用户提交的非法数据当作语句的一部分来执行从而造成了sql注入同样也要对用户输入内容做拦截判断 72.以开发者的角度介绍一下你熟悉的项目 可以说有哪些功能是否有不同的权限导致登入系统时显示不同的功能不同的模块业务逻辑是什么封装了哪些组件哪些函数项目周期是多久项目组成人员是怎么分配的整个项目的开发流程等等 73.遇到了哪些问题怎么解决的 菜单自动生成组件状态刷新丢失echarts图不显示 递归持久化延时器 74.项目开发流程是怎么样的 首先项目经理开会分配任务然后之后你跟项目经理对接任务跟ui对接原型图跟后端商量用什么形式传递接口比如Swagger UI等做完初稿给用户看是否满意不满意的话再返回修改最多修改3次最后在开个评审大会评审产品是否合格是否有bug是否可以上线最后剩下的交付就是运维和项目经理去弄了完了就等着领奖金 75.期望薪资是多少 假如你想实际工资是8k你就要说期望是9k假如你想要9k你就说期望薪资是10k一般都会给你压价如果压得太狠了就问hr有什么福利待遇年终奖多久调薪等压太狠了直接下一家 76.还有什么问题吗 目前公司技术栈是哪些代码开发管理平台是哪个git还是svn进公司是直接写项目还是给一点时间熟悉一下环境要自己带电脑还是公司配备实习是80薪还是全薪实习多久年终奖怎么发的多久调薪出差或者驻场吗不是内网开发吧还有其它什么补贴吗还有其它想问啥就问啥问的不要太sb了就行 未完待续…
相关文章
-
关于建筑工程的网站中国建筑app下载官网
关于建筑工程的网站中国建筑app下载官网
- 技术栈
- 2026年03月21日
-
关于建网站新闻嵌入式软件开发公司
关于建网站新闻嵌入式软件开发公司
- 技术栈
- 2026年03月21日
-
关于建设校园网站申请报告空间域名免费申请
关于建设校园网站申请报告空间域名免费申请
- 技术栈
- 2026年03月21日
-
关于旅游的网站建设目的wordpress换字体颜色
关于旅游的网站建设目的wordpress换字体颜色
- 技术栈
- 2026年03月21日
-
关于门户网站建设工作情况汇报泉州专门制作网站
关于门户网站建设工作情况汇报泉州专门制作网站
- 技术栈
- 2026年03月21日
-
关于汽车的网站网站建设开发合同
关于汽车的网站网站建设开发合同
- 技术栈
- 2026年03月21日
