最近找工作焦头烂额,面试了几家公司,把其中几家的问道的技术问题总结了下,和牛油们分享。
丰巢科技
1.Watch请简述
Watch的作用是监控一个值的变化,并调用因为变化需要执行的方法
2.vue在created和mounted这两个生命周期中请求数据有什么区别呢?
看实际情况,一般在created(或beforeRouter) 里面就可以,如 果涉及到需要页面加载完成之后的话就用mounted。 在created的时候,视图中的html并没有渲染出来,所以此时如 果直接去操作html的dom节点,一定找不到相关的元素而在mounted中,由于此时html已经渲染出来了,所以可以直 接操作dom节点,(此时document.getelementById即可生效 了) 。
3.调用setState之后发生了什么?
React在调用setstate后,react会将传入的参数对象和组件当前的状态 合并,触发调和过程, 在调和过程中,react会根据新的状态构建react元素树重新渲染整个UI界面,在得到元素树之后,react会自动计算新老节点的差异,根据差 异对界面进行最小化重新渲染
4.React项目用过什么脚手架?Mern?Yeoman?
Mern:MERN是脚手架的工具,它可以很容易地使用Mongo,Express, React and NodeJS生成同构JS应用。它最大限度地减少安装时间,并得到您使用的成熟技术来加速开发。
5.小程序如何实现响应式
Rpx
6.小程序跳转页面的方式
7.CommonjsES6模块区别?
common模块是拷贝,可以修改值,es6模块是引用,只读状态,不能修改值
commonjs模块是运行时加载,es6模块是编译时输出接口
8.网络中使用最多的图片格式有哪些
JPEG,GIF,PNG,最流行的是jpeg格式,可以把文件压缩到最小 在ps以jpeg格式存储时,提供11级压缩级别
9.Js基本数据类型有哪些
字符串String数值Number布尔boolean null undefined对象 数组
10.Css预处理sassless是什么?为什么使用他们
Sass和less都是css预处理器,是css上的一种抽象层,是一种特殊的 语法,最终会编译成css,less是一种动态样式语言,给css赋予了动态语言的特性,比如:变量,继承,嵌套。Less既可以在客户端运行,在 可以在服务端运行(需要借助node)
中软国际
1.Vue的核心是什么
Vue是一套构建用户界面的渐进式自底向上增量开发的MVVM框架,vue的核心只关注视图层, 核心思想: 数据驱动(视图的内容随着数据的改变而改变) 组件化(可以增加代码的复用性,可维护性,可测试性,提高开发效率, 方便重复使用,体现了高内聚低耦合)
2.fetchVSajaxVSaxios
传统Ajax指的是XMLHttpRequest(XHR), 最早出现的发送后端请 求技术,隶属于原始js中,核心使用XMLHttpRequest对象,多个请求 之间如果有先后关系的话,就会出现回调地狱。JQuery ajax是对原生XHR的封装axios是一个基于Promise,本质上也是对原生XHR的封装,只不过 它是Promise的实现版本,符合最新的ES规范,
fetch不是ajax的进一步封装,而是原生js,没有使用XMLHttpRequest对象。
3.小程序的优势
无需下载安装,直接使用,运行速度快,项目搭建迅速,短小精悍,
每个app源代码不超过2mb
4.Typescript是什么 请简述?
5.Ajax如何使用
一个完整的AJAX请求包括五个步骤:
创建XMLHTTPRequest对象 使用open方法创建http请求,并设置请求地址xhr.open(get/post,url,async,true(异步),false(同步))经常 使用前三个参数 设置发送的数据,用send发送请求 注册事件(给ajax设置事件) 获取响应并更新页面
6.Js中.call()与.apply()区别
apply:调用一个对象的一个方法,用另一个对象替换当前对象。
call:调用一个对象的一个方法,用另一个对象替换当前对象。
从定义中可以看出,call和apply都是调用一个对象的一个方法,用另一 个对象替换当前对象。而不同之处在于传递的参数,apply最多只能有两 个参数——新this对象和一个数组argArray,如果arg不是数组则会报 错
相同点:两个方法产生的作用是完全一样的。call, apply作用就是借用别 人的方法来调用,就像调用自己的一样.
不同点:方法传递的参数不同
7.请简述你对vue的理解
Vue是一套构建用户界面的渐进式的自底向上增量开发的MVVM框架, 核心是关注视图层,vue的核心是为了解决数据的绑定问题,为了开发大 型单页面应用和组件化,所以vue的核心思想是数据驱动和组件化,这里也说一下MVVM思想,MVVM思想是 模型 视图vm是v和m连 接的桥梁,当模型层数据修改时,VM层会检测到,并通知视图层进行相 应修改
8.React事件处理---修改this指向
方式1:通过bind方法进行原地绑定,从而改变this指向 方式2:通过创建箭头函数 方式3:在constructor中提前对事件进行绑定 方式4:将事件调用的写法改为箭头函数的形式
全部评论
(0) 回帖