面试准备题

1.如何串行执行100个Promise对象(reduce函数)

2.如何实现React无关系组件的通信(发布订阅,Event包)

3.正则表达式匹配

4.原生js封装一个错误弹窗组件

5.写一个函数,根据JSX语法生成对应的DOM

6.connect函数的原理是什么

7.高阶组件的缺点

8.redux的缺点,性能问题

9.for in 和 for of 的区别

for in对对象使用 for of对数组使用

10chrome的sort方法是什么排序:

V8 引擎 sort 函数只给出了两种排序 InsertionSort 和 QuickSort,数量小于10的数组使用 InsertionSort,比10大的数组则使用 QuickSort

CSS

1.position float display一起设置怎么样

2.flex实现左侧固定,右侧自适应

左侧声明div为300px,右侧声明flex-grow:1默认填满剩余宽度

3.CSS3动画(定义animation,transform移动,keyframe等)

4.不改变width,实现图片缩小到300px

<img src="/hello.jgp" style="width:400px;height:400px !important"/>

因为不能直接改变内联style的值,而且用!important声明,那么另外通过选择器访问并覆盖也不行,我们可以用max-width来改变

max-width:300px,再就是用CSS3的scale属性,transform:scale(0.75,0.75)

HTML

1.img标签下载的图片浏览器如何缓存,如何再次调用它

JSDOM

1.appendChild循环追加子节点无效?

在循环外定义了子元素:let button = document.createElement('BUTTON'),let parentDiv = ducument.quertSelectorAll('div');

循环内appendChild:for(let i =0;i<parentDiv.length;i++) {

    parentDiv[i].appendChile(btn)

}

这样无效,因为button这个元素作为一个DOM元素只能有一个父元素,这种情况最后只会被插入都最后一个div元素的子节点上,避免的方法是在循环内创建子元素button

2.vDOM一定比真实DOM效率高吗?不一定,React并没有保证vDOM一定比真实DOM效率高,在很简单的操作DOM的时候,肯定是操作真实的DOM效率高,因为最终vDOM还是要调用浏览器的documentAPI去操作DOM,但是在批量操作,涉及到很多DOM的变化的时候,vDOM可以给我们更加清晰的操作方式,React的diff算法可以去批量更新DOM

3.浏览器和node的event loop的区别:node有micro task,node11后不再有区别

4.理解babel的运行规则:https://www.jianshu.com/p/e9b94b2d52e2

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值