这家公司大概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 一直接受请求而不等待任何读写 *** 作。(这也称之为非阻塞式IO或者事件驱动IO)
在事件驱动模型中,会生成一个主循环来监听事件,当检测到事件时触发回调函数。
整个事件驱动的流程就是这么实现的,非常简洁。有点类似于观察者模式,事件相当于一个主题(Subject),而所有注册到这个事件上的处理函数相当于观察者(Observer)。
4.用过promise嘛,哪些 *** 作是异步的? 不用promise用的是什么?
读文件、远程调用。用的async await .
async/await 是建立在 Promises上的,不能被使用在普通回调以及节点回调。async/await相对于promise来讲,写法更加优雅。async/await 和 Promises 很像,不阻塞。async/await 代码看起来像同步代码。其实吧,了解完了之后也没啥大区别,promise就说async await语法糖而已。
5.2个请求,2个路由,一个请求在await的时候nodejs另一个请求能正常执行另一个 *** 作嘛
可以
await的作用是什么?
用于等待一个异步方法执行完成
6.nodejs适合处理cpu密集还是io密集任务
适合io密集。我竟然回答了适合cpu密集,node肯定适合io密集啊,因为node的事件循环还有libuv都显然让他更适合io密集啊
7.考一些java问题吧
如何比较两个字符串相等
可以用equals,也可以用== 。equals就比较值,==不仅比较值还会比较是否是同一地址
8.java基本类型有哪些?
byte short int long float double char boolean
9.拆箱?装箱 int Interger区别
装箱:基本类型-》引用类型
拆箱:包装类型-》基本类型
10java的方法是引用传递,还是值传递
值传递,不改变原来的参数
11.public private protected区别
所有类、当前类、同一包下的类
12.依赖注入对比new的优势?循环依赖的问题遇到过嘛?依赖注入的方式
解耦。构造器、set、注解@Autowired
13.竖锯库怎么建立索引?索引越多越好?联合索引?
在where和经常查的字段建立,不要建立冗余索引,频繁更新字段不要建立
不是,因为需要维护索引
联合索引abc,实际建立了三个索引 a ab abc,最左匹配原则
14.竖锯库事务?2个事务不会互相干扰?隔离级别?
15.redis使用场景
缓存、分布式锁、计数器、对列
16.说下你有挑战的项目
17.单元测试?能覆盖到多少,数据库怎么解决的,api接口测试断言用过没
18.开发体验node和java更倾向那个
19.对我的建议?
数据库事务和索引、开发语言建议在深入下
总结:不知到还会不会有下次面试机会,但是无论如何我也会继续学习嘻嘻嘻
数据库事务和索引需要补补课,慢慢来,加油
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)