自我介绍一下
1、JS 事件循环
js是一门单线程语言,单线程意味着同一时间只能处理一件事,但js有同步和异步的概念。同步任务会直接在在线程上排队执行,而异步任务则会被放入到任务队列排队等待,当任务队列通知主线程某个异步任务可以执行时才执行,异步任务又分为宏任务和微任务,宏任务包括script setTimeout, setInterval, I/O
等,微任务包括process.nextTick, Promises, Object.observe
等,宏任务中间插入微任务,依次排队执行,循环往复。
2、koa 和 egg区别
egg
基于 koa
进行强化,koa
没有controller
,service
,router
,egg
加入了这些,这样更便于工程化。
3、nodejs中间件
中间件是一种功能封装的方式,中间件的原理与generitor
类似。
4、generitor
是一个可以交出控制权的函数(函数?暂且称为函数吧),也就是说该函数可以由开发者来控制。
5、generitor和promise 区别
1、generitor
是可中断的,promise
不可中断
2、promise
状态一旦改变则无法更改
6、vue双向绑定原理
2.0通过遍历data()
函数返回的对象 并用Object.defineProperty
把属性转化为getter/setter
3.0通过遍历data()
函数返回的对象 并用带有getter/setter
的函数将它们转换为proxy
7、git 如何解决冲突
我弱弱回答。。拉下来手动解决😂😂
8、webpack手写loader
我直接不会。。。😅😅
9、说说项目中你遇到的问题。
巴拉巴拉巴拉。。。本来都已经结束了,然后我很神经的问了面试官一个问题,公司用ts
多吗。ts
和一些框架整合的时候有没有什么比较坑的点。。然后导致面试官多送了我两问。
10、cookie 和session 区别 及如何设置
1、cookie
数据存放在客户的浏览器(客户端)上,session
数据放在服务器上,但是服务端的session
的实现对客户端的cookie
有依赖关系的。
2、cookie
不安全很容易被别人盗用。
3、访问量大时session
会导致服务器性能下降,这是应考虑使用cookie
11、跨域解决方案
1、jsonp
2、postMessage
3、cors
4、设置响应头Access-Control-Allow-Origin
12、JWT工作原理
JWT(JSON WEB TOKEN)
由3部分组成 header
、payload
、signature
。用户登录时验证用户通过则将生成的token
返回给客户端,客户端拿到后将其存储在本地,每次访问时在请求头中携带token
即可。
13、TCP 和 UDP 区别
1、TCP是可靠的通信协议UDP不可靠
2、TCP传输的数据是完整的、有序的、无差错的,UDP则不是
3、TCP是面向的是字节流,UDP是面向的是报文
14、可视化拖拽布局说说原生实现思想
巴拉巴拉巴拉。。。