怎么样在网站做产品推广,wordpress 引入js,开发小程序游戏需要多少钱,中国最顶尖的广告设计公司1. 介绍一下最近参与的项目,负责那些业务,在开发过程中遇到过问题吗#xff1f;最后是咋样处理的#xff1f;
之前负责过大小十几个项目#xff0c;负责过浙里办的整套上架流程#xff0c;负责过数据大屏统计#xff0c;后台管理系统文书生成表单生成等#xff0c;浙政钉…1. 介绍一下最近参与的项目,负责那些业务,在开发过程中遇到过问题吗最后是咋样处理的
之前负责过大小十几个项目负责过浙里办的整套上架流程负责过数据大屏统计后台管理系统文书生成表单生成等浙政钉应用内嵌开发搜索表单统一配置化移动端form配置。遇到的问题在一次html转pdf时中文转出乱码的问题最后是因为不支持中文格式只支持英文最后把.ttf字体引入才得以解决。
2. H5C3新特性有哪些
本地存储比如localStorage、sessionStorage, 语义化标签如header、footer、nav等, flex,reba,transition,媒体查询,shadow,border-radius,渐变linear-gradient
3. vue中生命周期的理解,父子组件渲染更新卸载时组件调用顺序
父beforeCreate-父created-父beforeMount-子beforeCreate-子created-子beforeMount-子mounted-父mounted
4. vue中数据的双向数据绑定原理
VUE2.0通过object.defineProperty来劫持对象属性的getter和setter操作,VUE3.0通过Proxy来劫持数据
5. vue中组件通讯方式
props,$emit,ref,Vuex,bus,LocalStorage/SessionStorage
6. vue中computed和watch的区别,使用场景
计算属性和监听 计算是多合一 例如购物车监听是一控制多 例如搜索框
7. vue组件中data为什么必须是一个函数
Vue组件可以同时存在多个实例如果直接使用对象形式的data选项实例将会共享同一个data对象会造成数据互相干扰的问题。设置为函数可以让每个实例都拥有自己独立的data对象。当组件被创建多次时每个实例都会调用该函数并返回一个新的data对象
8. 对keep-alive 的了解
当你在对组件的反复切换的时候去复用缓存的v-node,可以提高页面的渲染效率,include ,exclude
9. vueRouter 路由钩子函数,如何进行动态路由权限管理?
var asyncRouteMenu asyncRouetes.filter((item,index){ return item.meta.roles.includes(userRole) }) //将新路由添加到路由中, 如果不加组件component不能正确渲染 VueRouter.addRoutes(asyncRouteMenu); //为了正确渲染导航,将对应的新的路由添加到VueRouter中
10. 介绍一下vuex具体使用方法,在哪使用过
state,mutations,actions-dispatch
11. vuex辅助函数有哪些,分别在哪里使用
mapState, mapMutations, mapActions, mapGetters
12. 使用过mixins混入吗?有哪些缺点?
用过不利于阅读命名冲突
13. $nextTick了解吗实现原理是什么
可以在DOM更新完毕之后执行一个回调简单的理解是当数据更新了在dom中渲染后⾃动执⾏该函数
14. vue项目如何进行性能优化
1.加 CDN图片。js\css文件用cdn加载。 2.图片懒加载按需加载。压缩图片webpp格式的图片。组件懒加载组件按需引入页面滚动之后再加载首屏下面的数据 3.减少公共自定义组件。减少全局的混入 4.减少http请求。 5.前端、服务端开启gzip。 6.删除mock.js. 7.删除无效代码。 8.检测后端接口性能测试。 9.使用浏览器强缓存策略。 10.延迟调用一些方法减少js主进程比如埋点方法。fastclick,vconsole的加载 11.路由懒加载。 12.需要设置的样式很多时设置className,不要设置style;减少重绘和回流 13.避免在页面的主体布局中使用table,table要等其中的内容完全下载之后才会显示出来要比divcss慢 14.编码优化缓存对象成员值将对象成员值缓存到局部变量中会加快访问速度。局部变量比全局变量读取快、对象嵌套的越深读取越慢、原型链中的位置越深读取的越慢
15. vue中路由懒加载实现方式,组件懒加载实现方式
const HelloWorld import(需要加载的模块地址)
16. vue中动态渲染组件的方法 component :is“item.meta.icon” /
17. 介绍vue自定义指令
Vue.directive
18. 封装过vue公共组件吗封装组件的思路
一个组件无非就是我传入了什么和你抛出了什么
19. Vue2 和vue3的区别
不允许直接使用slot 正确格式为 v-slot 将v-if当作v-for大的一个判断语句不会相互冲突 数据双向绑定原理不同 生命周期函数钩子不同 diff算法不同 vue2 比较每一个节点而对于一些不参与更新的元素进行比较是有点消耗性能的。 vue3在初始化的时候会给每一个虚拟节点添加一个patchFlags是一种优化的标识。只会比较patchFlags发生变化的节点进行识图更新。而对于patchFlags没有变化的元素作静态标记在渲染的时候直接复用。 20. webpack如何理解,是否自己配置过,有哪些配置
.env文件
21. ES6新特性有哪些
let,const,promise,(){},模板字符串,结构赋值includes
22. 数组去重的方法有哪些
[…new Set(array)]filter()和indexOf
23. 判断对空对象方法
Object.keys()返回空数组JSON.stringify(data) “{}”for in报错
24. Call() bing() apply()的区别?
call(window,‘global’) apply(window,[‘global’]) bind(window,‘global’)
25. 说一下原型和原型链?
原型是一个对象是函数的一个属性prototype比如this 每一个protoType都有一个proto顺着proto来找对象的protoType链路就叫原型链
26. 作用域和作用域链是什么
就是在这个范围内变量是可以使用的超过这个范围变量就无法使用这个范围就是作用域 先局部全局这个查找过程形成的链条叫做作用域链
27. 箭头函数和普通函数的区别
箭头函数的this指向不能被改变(){} 一个表达式时 {} return 可以省略箭头函数没有原型
28. 说一下js 中this指向问题?
this永远指向调用它的对象默认指向window/全局对象。
29. 说一下闭包,有那些缺陷,用闭包处理过那些问题
函数防抖节流的时候会return一个函数出去
30. 说一下深拷贝浅拷贝,如何实现
深拷贝会另外创造一个一模一样的对象新对象跟原对象不共享内存修改新对象不会改到原对象
31. js中如何实现跨域,在工作中怎么解决跨域问题。
协议、域名、端口 jsonp 服务器设置Access-Control-Allow-Origin将可允许的访问请求
32. 说一下对promise的理解,如何实现一个promise?
是es6新增的一个构造函数 里面放的是一个异步操作解决了地狱回调的问题是一种链式调动的方式
33. 说一下防抖和截流,如何在工作中实现一个防抖截流 防抖:比如输入框的input事件每输一个文字就会触发一次,只执行最后一次得触发 节流游戏中的技能释放一个技能后会有技能CD,控制多久能触发一次 34. 介绍一下微信小程序登陆流程? 小程序通过wx.login()获取登录凭证code通过wx.request()将code,appid ,secret发送到开发者服务器返回服务器自定义登录信息 35. 微信小程序如何实现与第三方进行数据交互,例如h5 ios 安卓
36. 公众号登陆 公众号 判断有没有code有换取token,没有就获取授权 https://open.weixin.qq.com/connect/oauth2/authorize?appidwxaf05346ece6ae430redirect_uri${href}response_typecodescopesnsapi_userinfostate#wechat_redirect 判断有没有code有换取token,没有就获取授权 https://open.weixin.qq.com/connect/oauth2/authorize?appidwxaf05346ece6ae430redirect_uri${href}response_typecodescopesnsapi_userinfostate#wechat_redirect 弹出授权类型 scope 37. vue3.2相关
组合式api
reactive 只能是对象
ref 对象基本数据类型数组props 接收
script setup langts
defineProps{title?: stringlikes?: number
}()
/script
props 抛出
script setup langts
const emit defineEmits{(e: apos;changeapos;, id: number): void(e: apos;updateapos;, value: string): void
}()
/script计算属性没什么变化
const double computed(() count.value * 2)watch(() data.name, (newVal, oldVal) {console.log(apos;watch监听data.name的变化 newVal ------apos;, newVal);console.log(apos;watch监听data.name的变化 oldVal ------apos;, oldVal);
});view icon text 38. uni相关 页面的生命周期 1.onInit——监听页面初始化其参数同 onLoad 参数为上个页面传递的数据参数类型为 Object用于页面传参触发时机早于 onLoad 2.onLoad——监听页面加载其参数为上个页面传递的数据参数类型为 Object用于页面传参参考示例 3.onShow——监听页面显示。页面每次出现在屏幕上都触发包括从下级页面点返回露出当前页面 4.onReady——监听页面初次渲染完成。注意如果渲染速度快会在页面进入动画完成前触发 5.onHide——监听页面隐藏 6.onUnload——监听页面卸载 7.onResize——监听窗口尺寸变化 页面跳转 uni.navigateTo({url: “/路径?参数参数值”}) 只能打开非 tabBar 页面 uni.switchTab 只能打开 tabBar 页面 39. 在浏览器地址栏中输入地址后浏览器发生了什么
DNS查询-把域名转换为ip TCP连接-三次握手 发送HTTP请求 服务器处理HTTP请求 浏览器解析并渲染页面