![7f4cba642c8ef15af912ba30155ce7c9.gif](https://img-blog.csdnimg.cn/img_convert/7f4cba642c8ef15af912ba30155ce7c9.gif)
大家好,我是你们的导师,经常看我朋友圈的同学应该知道,我每天会在微信上给大家免费提供以下服务!
1、长期为你提供最优质的学习资源!
2、给你解决技术问题!
3、每天在朋友圈里分享优质的技术文章!
4、每周1、3、5送纸质书籍免费送给大家,每年至少送书800本书!
5、为大家推荐靠谱的就业单位!
请注意!我上面说的5点全部都是免费的!全网你应该找不到第二家吧!
当然,大家在我私人微信上问我问题,仅限回答web前端、java相关的。
---------------------------
好了,接下来开始今天的技术分享!上次老师跟大家分享了Vue常见面试题的知识,今天跟大家分享下Node常见面试题的知识。
1 Node常见面试题 1、为什么用Nodejs,它有哪些缺点? 事件驱动,通过闭包很容易实现客户端的生命活期。 不用担心多线程,锁,并行计算的问题 V8引擎速度非常快 对于游戏来说,写一遍游戏逻辑代码,前端后端通用当然Nodejs也有一些缺点: nodejs更新很快,可能会出现版本兼容 nodejs还不算成熟,还没有大制作 nodejs不像其他的服务器,对于不同的链接,不支持进程和线程操作 2、什么是错误优先的回调函数? 错误优先(Error-first)的回调函数(Error-First Callback)用于同时返回错误和数据。 第一个参数返回错误,并且验证它是否出错; 其他参数返回数据。fs.readFile(filePath, function(err, data){
if (err) {
// 处理错误 return console.log(err); } console.log(data); });
3、如何避免回调地狱? 以下方式避免回调地狱 模块化: 将回调函数转换为独立的函数 使用流程控制库,例如[aync] 使用Promise 使用aync/await
4、什么是Promise? Promise可以帮助我们更好地处理异步操作。 下面的实例中,100ms后会打印result字符串。 catch用于错误处理。 多个Promise可以链接起来。
new Promise((resolve, reject) => {
setTimeout(() => {
reso