21个Node.js面试问题与解决方案( 二 )


异步函数并行运行吗?
否 。 当并行进程在其自己的进程或线程中运行时 , 异步函数将在下一个事件循环迭代中执行 。
Node.js是多线程的吗?
一个Node.js进程在单线程中运行 , 但我们可以使用 child_process 模块来并行运行多个进程 , 或者使用 Worker 来运行多个线程 。
什么是child_process模块?
child_process 模块使我们可以生成和派生子进程 。 这些是在自己的CPU中运行的独立进程 , 使我们可以访问系统命令 。
web worker和worker thread的区别是什么?
Web worker是在浏览器中实现的 , worker thread 是在Node.js中实现的 。 它们都解决了同一个问题 , 那就是提供并行处理 。 事实上 , Worker Thread API是基于Web Workers实现的 。
使用worker thread与child_process相比有什么优势?
child_process用自己的内存空间运行自己的进程 , 而worker thread则是一个进程中的线程 , 可以与主线程共享内存 , 这有助于避免来回昂贵的数据序列化 。
你将使用什么来通过HTTP与客户端建立双向实时连接?
我们可以使用WebSockets或者长轮询 , 有像soket.io和SignalR这样的库可以为我们简化这个过程 。 如果WebSockets在浏览器中不可用 , 它们甚至可以为客户端提供长时间的轮询功能 。
结束【21个Node.js面试问题与解决方案】我希望这些问题对你有用 , 你能回答所有的问题吗?如果你不能 , 别担心 , 除非你的目标是高级职位 , 否则你不需要知道所有的知识 。