前端面试笔试总结二

86 阅读2分钟

1.怎么封装一个组件

首先考虑组件的复用性,比如使用vue做一个项目,考虑到每一个页面都有可能用到分页器,可以单独把分页器封装成一个组件,可以进行手写,也可以引入其他的组件,比如Element-UI,后者属于二次封装,然后需要注意数据的单向流问题和事件监听,全部封装好之后进行引入.

再比如vue3的hooks函数,可以单独把一些业务复杂的或者某个单独的功能模块封装起来,里面写上data methods和computed等,之后再进行引入

2.css动画和js动画的差异

1.css动画比较简单,添加一些属性就可以,js需要写上脚本来进行控制,比较复杂点

2.js控制动画能力比较强一些,css动画稍微弱一点

3.js动画可以添加一个监听事件,而css动画不可以

4.js是单线程的,js动画有可能造成掉帧问题

5.css会有兼容性问题,js动画基本不会

6.css动画优化比较简单,方向是固定的

3.get和post通讯的差异

get请求和post请求都是属于http请求,也是简单请求

1.get请求一般是获取服务器资源,post请求一般是对服务器资源进行一些操作

2.get请求没有请求体,post请求有请求体

4.node事件循环和js事件循环的差异

node事件循环有以下:

1.V8对js脚本进行解析

2.调用node的API

3.执行node的API,形成不同的线程,如此事件循环

4.V8将解析结果返回给用户

5.哪个框架比较好

目前只用过vue,优点如下: 1.渐进式框架,可以在任意项目轻易引入

2.轻量式框架,大小只有几十kb左右

3.双向数据绑定,操作数据更加方便

4.数据 结构和视图相分离

5.提出组件化的概念,提高代码的复用性

6.你认为最难的技术点是什么

generator和promise

以上答案自认为写得很一般,如有大神,可以留点足迹