记一次面试记录
时间 2019-12-06
标签
记
一次
面试
记录
如下都是这次面试问题的我的理解,仅供参考,欢迎指正,共勉。
js中有哪些数据类型,它们在内存中得存在形式? 基本类型 存储在栈 空间里面:string/number/boolean/undefind/null 引用类型 存在堆 空间里面:object/array
移动端点击时有延时吗?延时多长时间?是什么缘由形成的?有什么改进方法? 移动端点击时有200~300ms的延时,是由于移动端会有一些默认行为,好比双击缩放、双击滚动等行为,尤为是双击缩放,是为桌面网站在移动端的浏览体验设计的,而在用户点击时,浏览器会优先判断用户是否要触发默认行为。 方案一:禁用缩放(会影响功能不建议)<meta name="viewport" content="user-scalable=no">
<meta name="viewport" content="initial-scale=1,maximum-scale=1"> 方案二:更改默认的视口宽度 它没有彻底禁用缩放,而只是禁用了浏览器默认的双击缩放行为,但用户仍然能够经过双指缩放操做来缩放页面。<meta name="viewport" content="width=device-width"> 方案三:使用FastClick等比较成熟的外部插件 FastClick 是 FT Labs 专门为解决移动端浏览器 300 毫秒点击延迟问题所开发的一个轻量级的库。 FastClick的实现原理是在检测到touchend事件的时候,会经过DOM自定义事件当即出发模拟一个click事件,并把浏览器在300ms以后的click事件阻止掉。
移动端点击一下页面触发的事件顺序? 事件的执行顺序会受触摸的力度和长短,还有是否移动有关。 通常执行顺序为: touchstart => touchmove => touchend => touchcancel(通常不会执行) => click
做用域链有了解吗? JavaScript的变量都是对象的属性,而该对象可能又是其它对象的属性,而全部的对象都是全局对象的属性,因此这些对象的关系能够看做是一条链, 链头就是变量所处的对象,链尾就是全局对象
闭包有了解吗?通常使用场景? 闭包是函数和声明该函数的词法环境的组合。 一般使用只有一个方法的对象的地方,均可以使用闭包。 详细解释起来太长,网上有不少种解释,均可以参考,这里是MDN 对闭包的专业解释。
设计模式当中的单例模式了解吗? 单例模式也称为单子模式或单体模式,规则是保证一个类仅有一个实例,并提供一个访问它的全局访问点。 《JavaScript高级程序设计》中也称之为对象字面量模式。 如下为代码示例://单例模式抽象,分离建立对象的函数和判断对象是否已经建立
var getSingle = function (fn) {
var result;
return function () {
return result || ( result = fn.apply(this, arguments) );
}
};
发起一个ajax请求的流程是怎样的。 一、建立XMLHttpRequestd对象实例 二、链接服务器 三、向服务器发送请求 四、接受服务器的返回
在浏览器中输入一段url地址会发生什么? 一、浏览器解析 二、查询缓存 三、DNS查询 四、创建连接 五、发送HTTP请求 六、服务器发送响应 七、客户端收到页面 八、解析HTML 九、构建渲染树 十、浏览器布局渲染
http与https的区别? 一、http 的URL 以http:// 开头,https以https:// 开头。 二、http 标准端口是80 ,https是443。 三、https 协议须要到ca申请证书,http不须要。 四、http 是超文本传输协议,信息是明文传输,https 则是具备安全性的ssl加密传输协议。 五、http 的链接很简单,是无状态的,https协议是由SSL+http协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全。
ES6中得箭头函数新特性是什么? 一、对 this 的关联 二、new 不可用 三、this 不可变 四、没有arguments对象 五、等等
其余
移动端有哪些性能方面的优化? 网络/资源/渲染/脚本 优化等
dns是什么?百科 - DNS
vue的生命周期都有哪些?
git有使用过吗?git的版本管理了解吗?
app用户输入帐号密码,先后端的验证流程是怎样的?
为何想换工做呢,离职的缘由是什么?
大概就这些吧,中间还有其余问题,记不太清了。vue