北京某某某某科技前端开发面试

这是一场2020年12月11日的前端开发面试,涵盖了自我介绍、浏览器兼容性问题解决方案、盒模型、Promise、Async/Await、前端性能优化、线程与进程、HTTP与HTTPS区别、Event Loop、Webpack配置、图片优化策略以及Git和ES6新特性的讨论。面试还涉及Vue与React的区别和Vue的生命周期。
摘要由CSDN通过智能技术生成

面试时间: 2020年12月11日上午10.30点-11点
面试形式: 语音面试

  1. 自我介绍
    参考模板:
    你好,我是XX,毕业于XX大学。现就职于XX公司,有X年开发经验,公司主要使用技术栈为React+AntDesign+Redux进行开发

  2. 浏览器兼容性问题
    不同浏览器的标签默认内补丁padding和外补丁margin不同
    解决:使用css通配符,设置css内补丁和外补丁为0 *{margin:0, padding: 0}
    图片默认有间距
    解决:使用float为img布局
    块属性标签float后,又有横向的margin值,在IE6中显示会比设置的大
    解决:在float标签样式中加入display:inline

  3. 盒模型

对比 W3C的标准盒模型 IE的盒模型
width content部分的宽度 content+padding+border三个部分的宽度
box-sizing content-box(默认) border-box
  1. 双等和三等=的区别
对比 双等== 三等===
概念 相等 严格相等
类型转换 类型转换 类型不同则直接返回false
转换规则 原始类型的值:字符串和布尔值都会转换成数值;对象(数值和函数)与原始类型值比较,对象转换成原始类型的值,在进行比较;undefied和null与其他类型值比较,为false,相互比较为true 不同类型值,直接返回false;同一类的原始类型值(数字,字符串,布尔值),值相同返回true,否则false;同一类的复合类型值(对象,数组,函数),比较他们是否指向同一个对象;undefined和null与自身严格相等
  1. 实现一个promise
function myPromise(constructor){
   
	let self = this;
	self.status = 'pending' //定义状态改变前的初始状态
	self.value = undefined; //定义状态为resolved时的状态
	self.reason = undefined;//定义状态为rejected时的状态
	
	function resolve(value){
   
		//两个===pending,保证了状态的改变是不可逆的
		if(self.status === 'pending'){
   
			self.value = value;
			self.status = 'resolved';
		}
	}
	
	function reject(reason){
   
		//两个===pending,保证了状态的改变是不可逆的
		if(self.status === 'pending'){
   
			self.reason = reason;
			self.status = 'rejected';
		}
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值