这家公司大概2019年成立,目前a轮,是做身份云的,打电话的hr小姐姐很温柔(●'◡'●)
一面面试官也很nice,面试中有卡到的地方,能给指引一下,感恩
我们继续总结一下,从中学习吧,记录一下面试问题
1.自我介绍
2.对我的转语言比较好奇,认为java-node-java的转换过程中,你觉得如何,转语言
3.node 事件循环说一下
我理解,nodejs因为是单进程单线程的嘛,但是他却能短时间处理大量的请求的原因就是因为事件循环。事件循环机制其实就是单线程接受请求,将请求放到事件循环里去,事件循环里进行异步回调,当处理完之后请求完成在放回处理队列
Node.js 事件循环
Node.js 是单进程单线程应用程序,但是因为 V8 引擎提供的异步执行回调接口,通过这些接口可以处理大量的并发,所以性能非常高。
Node.js 几乎每一个 API 都是支持回调函数的。
Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。
Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,每个异步事件都生成一个事件观察者,如果有事件发生就调用该回调函数.
事件驱动程序
Node.js 使用事件驱动模型,当web server接收到请求,就把它关闭然后进行处理,然后去服务下一个web请求。
当这个请求完成,它被放回处理队列,当到达队列开头,这个结果被返回给用户。
这个模型非常高效可扩展性非常强,因为 webserver 一直接受请求而不等待任何读写操作。