首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【前端面试题】—53道常见NodeJS基础面试题(附答案)

Nginx抗并发,处理请求的方式是异步非阻塞的,负载能力比 Apache高很多,而 Apache则是阻塞型的。...作为负載均衡服务器,支持7层负载均衡,是一个反向代理服务器。 社区活跃,各种高性能模块出品迅速。Apache的 rewrite比 Nginx强大,模块丰富。...EventEmitter 、Stream、FS、Net和全局对象等。 52、说说 MySQL和 MongoDB的区别。 (1) MySQL是传统的关系型数据库, MongoDB则是非关系型数据库。...(2) MongoDB以BSON结构进行存储,在存储海量数据方面有着很明显的优势。 (3)与传统关系型数据库相比, NoSQL有着非常显著的性能和扩展性优势。...53、谈谈栈和堆的区别。 区别如下: (1)栈( stack)区由编译器自动分配和释放,存放函数的参数值、局部变量的值等。

70630

DeepSeek开源周 Day05:从3FS盘点分布式文件存储系统

,由多个节点构成分布式集群,节点上的小的分布式文件系统组合成总的分布式文件系统,由主服务器对总的文件系统进行管理。...FastDFS 由淘宝的余庆先生所开发的一个开源分布式文件系统。它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。...FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS搭建一套高性能的文件服务器集群提供文件上传、下载等服务。...,但是它是存储在MongoDB的集合中。...3FS在25节点集群中实现了3.66 TiB/min的吞吐量,能够轻松应对这种负载。 针对大模型的意义:快速数据集加载意味着训练迭代之间的等待时间大幅减少。

51610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MongoDB部署检查列表建议

    预分割和手动平衡使插入负载能够在分片之间分布,从而提高初始负载的性能。 驱动 利用连接池。大多数MongoDB驱动程序支持连接池。...调整连接池大小以适合您的用例,从典型并发数据库请求数的110-115%开始。 请确保您的应用程序在副本集选择期间处理短暂的写入和读取错误。 请确保应用程序处理失败的请求,并在适用的情况下重试。...操作检查列表 文件系統 复制 分片 日志:WiredTiger存储引擎 硬件 部署到云硬件 操作系统配置 备份 监控 负载均衡 以下清单和开发清单列表一同提供了一些建议,帮助您避免生产环境下MongoDB...- 使用CNAMEs将配置服务器标识到集群,以便可以在不停机的情况下重命名和重新编号配置服务器。 日志:WiredTiger存储引擎 - 确保所有实例都使用日志。...对于WiredTiger存储引擎,无论存储介质类型(旋转磁盘、固态硬盘等)如何,请将文件预读设置在8到32之间,除非测试显示在较高的文件预读值中有可测量、可重复和可靠的好处。

    1.2K30

    MongoDB-分片片键

    MongoDB-分片片键 1.分片 分片是什么?分片就是将数据存储在多个机器上。当数据集超过单台服务器的容量,服务器的内存,磁盘IO都会有问题,即超过单台服务器的性能瓶颈。...水平扩展分片,将数据分发到多个服务器,每个服务器是一个单独的数据库,各个服务器加起来组成一个逻辑数据库,把写压力和操作分流到不同服务器,提高容量和吞吐量。..." : " foo.fs.chunks ", "ok" : 1 } (3) 组合片键 数据库中没有比较合适的片键供选择,或者是打算使用的片键基数太小(即变化少如星期只有7天可变化),可以选另一个字段使用组合片键...数据存储在指定的分片服务器上,可以为分片添加tag标签,然后指定相应的tag,比如让10.*.*....无非从两个方面考虑,数据的查询和写入,最好的效果就是数据查询时能命中更少的分片,数据写入时能够随机的写入每个分片,关键在于如何权衡性能和负载。

    1.4K10

    素材库组成原理

    素材数据库组成原理 组成原理 本素材库由类型系统和标签系统组成,依赖fileSystem和mongodb这2个存储介质,同时需要nodejs和web进运算行处理与展示集成。...多级分类对应数据表中的class字段,也对应文件夹的路径: 建筑/民房 交通工具/地面载具/货车 组合索引 文件 文件系统FS中的文件可以自定义许多属性,这里给他们分3类: 可靠属性:始终不变的字段...因此素材库只能依赖FS的可靠属性,充其量再存储一下创建日期,其余的功能都放在mongodb数据库中实现 图像增强算法 根据经验,素材库中占大头的部分一定是图片文件,尤其是一张4K以上的高清图基本上是10m...单个模型的体积要足够小,3D模型中的PBR材质里尽量不要存在贴图,同时利用Draco压缩几何信息。...缩略图和素材一一对应,但素材可以没有缩略图,缩略图的命名格式是在素材文件名前加点号,即“隐藏文件”。缩略图文件不参与mongodb的索引。

    1.6K20

    从线程池到负载均衡:高并发场景下的系统优化实战

    引言随着互联网应用的快速发展,高并发场景下的性能问题日益突出。如何有效优化并发性能并实现负载均衡,成为开发者面临的重要挑战。...本文将从并发性能优化和负载均衡两个方面入手,结合实际案例和代码示例,提供系统的解决方案。并发性能优化在高并发场景下,性能优化的核心在于合理利用系统资源,减少竞争和阻塞。...负载均衡:使用 Nginx 配置加权轮询负载均衡,将请求分发到多台订单处理服务器。优化效果订单处理接口的响应时间从 500ms 降低到 100ms。系统吞吐量提升 3 倍。...例如,轮询适合服务器性能相近的场景,加权轮询适合服务器性能差异较大的场景,最少连接适合长连接场景。Q: 如何监控负载均衡效果?...A: 使用监控工具(如 Prometheus、Grafana)实时监控服务器的负载和响应时间,动态调整负载均衡策略。总结通过线程池优化、任务分解和异步编程,可以有效提升系统的并发性能。

    15300

    NodeJs进阶开发、性能优化指南

    额外一点,在上面可以看到我们在注释的地方也使用了一个stream流的形式进行了返回,如果我们返回的是文件,第一种的同步读取其实相对更耗时,如果是个大的文件,会在内存空间先去存储,拿到全部的文件之后才会一次返回...在某些情况下,负载满了可能也会是NodeJs的计算性能达到了瓶颈,可能是某一处的代码所导致的,我们如何去找到NodeJs的性能瓶颈呢,这一点我们接下来说说。...掌握这两点,我们在编码过程中要尽量思考某些计算是否可以提前,尽量做到在服务启动阶段去进行处理,把在服务阶段的计算提前到启动阶段就可以做到不错的提升效果。...,此次泄漏就是cache变量所导致的,对齐进行修复即可,在我们知道如何修复和检测内存泄漏之后,我们就应该明白,减少内存的使用是提高性能的一大助力,那么我们如何减少内存的使用呢?.../index.js') } 就这样简单的代码就可以让我们的请求分发到不同的子进程里面去,这一点类似于负载均衡,非常简单,同时我们在启用多线程和没启动的前后分别压测,可以发现启用后的qps是前者的2.5

    85810

    大数据应用导论 Chapter03 | 大数据的存储与管理

    1.2、分布式文件系统(GFS和HDFS) 谷歌开发的分布式文件系统(GFS): 通过网络实现文件在多台机器上的分布式存储 Hadoop分布式文件系统(HDFS): 针对GFS的开源实现 提供在廉价服务器集群中进行大规模分布式文件存储的能力...分为社区版(免费)和企业版(收费) 2、MySQL的python接口创建 **MySQL的Python接口创建方法 1、导入Pymysql Pymsql是在Python3中用于连接MySQL服务器的一个库...数据存储为一个文档,数据结构由键值对(key、value)组成。 在高负载的情况下,添加更多的节点,可以保证服务器性能。...文档类似于关系型数据库中的行,但不必为二维表结构,存储更为灵活方便。 ? 3、MongoDB的Python接口 Pymongo是在Python3中用于连接MongoDB服务器的一个库。...3、负载均衡 数据复制时,需要balancer命令配置Threshold平衡Datanode的磁盘利用率。 先统计所有Datanode磁盘利用的平均值。

    2.1K21

    Hadoop学习笔记(二)之HDFS

    更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』 1.3 优点 1) 可以处理超大文件(MB 到 TB 级别) 2) 对于服务器要求不高,Hadoop 集群可部署在廉价的机器上节约项目成本...更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』 1.5 设计目标 1) 集群中管理数量庞大的服务器,如何做到错误检测,快速、自动恢复是核心目标。.../data 下的所有文件 hadoop fs -ls -R /data 2) 在 HDFS 中创建文件夹 hadoop fs -mkdir 文件夹名称 如果想嵌套(级联)的创建目录,可以使用 -p...3.4 负载均衡 1) 如果某个 DataNode 上空闲空间低于临界点,按照负载均衡策略,系统会自动将数据转移到其他空闲的 DataNode 上。...更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』 3) HDFS 会调整存储分布以均衡 IO 性能,平衡 IO 负载,平均数据,平衡集群。

    84910

    NodeJs进阶指南指性能优化

    额外一点,在上面可以看到我们在注释的地方也使用了一个stream流的形式进行了返回,如果我们返回的是文件,第一种的同步读取其实相对更耗时,如果是个大的文件,会在内存空间先去存储,拿到全部的文件之后才会一次返回...在某些情况下,负载满了可能也会是NodeJs的计算性能达到了瓶颈,可能是某一处的代码所导致的,我们如何去找到NodeJs的性能瓶颈呢,这一点我们接下来说说。...cache变量所导致的,对齐进行修复即可,在我们知道如何修复和检测内存泄漏之后,我们就应该明白,减少内存的使用是提高性能的一大助力,那么我们如何减少内存的使用呢?.../index.js') } 就这样简单的代码就可以让我们的请求分发到不同的子进程里面去,这一点类似于负载均衡,非常简单,同时我们在启用多线程和没启动的前后分别压测,可以发现启用后的qps是前者的2.5倍拥有很大的一个提升了...,我们用原生的node来创建一个服务,不做异常处理的情况下,如果是框架可能很多框架已经帮你做过这部分东西了,所以我们自己来实现看看吧: const fs = require('fs') const http

    99620

    分布式小文件系统fastdfs与weedfs的对比

    小编小文件存储用的一直是Mongodb,Tair和FastDFS风评一直很不错,最近1年Net界用的比较多的基本上都是FastDFS或者Mongodb(分布式图片服务器集群)。...我也是今天才看到seaweedfs,小编挺看好的,Net和Go的项目混搭在中大型Net技术主线公司是越来越常见了~~~~ 最近拿一台双核1G的kvm vps搭建了一个图片的服务器,前面用百度云加速扛着,...在两个系统中都有一个负责管理存储节点或者存储卷的服务,weedfs中叫master,而fastdfs中叫做tracker。...下面是在文档中对各自的master的解释 FastDFS 服务端有两个角色:跟踪器( tracker )和存储节点( storage )。跟踪器主要做调度工作,在访问上起负载均衡的作用。...而fastdfs回产生海量的文件的元数据,大到一定程序了操作系统的缓存或者内存就无法进行全部存储了,这样就造成了在硬盘上进行随机读写来查找文件了,两个效率和速度以及对系统和硬盘造成的负载显而易见了。

    6.3K70

    《深入浅出Node.js》-理解Buffer

    字符串转 Buffer 字符串可以通过 Buffer 构造函数转换为 Buffer 对象,存储的只能说一种编码类型。encoding 参数不传递时,默认按照 UTF-8 编码进行转码和存储。...,所以 Buffer 对象中可以存在多种编码转化后的内容,需要注意的是,每种编码所用的字节长度不同,反转 Buffer 回字符串时需要谨慎处理。...下面我们来分析乱码是怎么来的。 乱码是如何产生的 上面传的参数 highWaterMark 的作用是限制 Buffer 对象的长度为 11。...Buffer 性能 Buffer 在文件 I/O 和网络 I/O 中运用广泛,在应用中,通常操作字符串,但一旦在网络中传输,都需要转换为 Buffer,以二进制数据进行传输。...() 的工作方式是在内存中准备一段 Buffer,然后在 fs.read() 读取时逐步从磁盘中将字节复制到 Buffer,完成一次读取后,从这个 Buffer 中通过 slice() 方法取出部分数据作为一个小

    1.2K20

    谈谈集群NAS在VDI存储中的应用

    S君小故事:存储选型难在何处?S君是一家公司的存储工程师,每当业务部门提出新的存储设备需求时,他就要配合系统架构师共同确定产品方案。这可不只是数据库放在SAN、共享文件放NAS那么简单。...此外,许多用户原有物理机环境,因此新购NAS能否良好兼容非虚拟化服务器有时也是用户关注的因素。...对于Oracle等OLTP应用,传统集中式存储可能比超融合架构有些优势,如果是后端使用SAN阵列的统一存储产品,更加适合这种混合工作负载。...而对于集群NAS,其支持的NAS控制单元数量超过2个,对客户端访问提供单一命名空间,性能可随节点数量线形扩展,在互备的基础上还要支持更高级的负载均衡。...如上图,在业界标准的SPECsfs NFS性能测试中,戴尔FS8600根据设备数量的配置不同,在2控、4控和8控的情况下,分别测得131,684、254,412和494,244每秒文件操作数(OPS)

    2.5K60

    干货 | 携程客服机器人ASR引擎的负载均衡实践

    近年来,通信技术、人工智能技术和智能终端等都在不断革新,我们也一直在思考如何去做更智能化、自动化的呼叫中心,为未来海量的客户需求提供稳定和优质的服务。...针对这么多的集群和ASR产品,设计出一个调度策略和负载均衡方案来合理有效地利用ASR资源就变得极为重要了。 三、方案探索 目标已经理清,接下来深入分析调用ASR涉及的技术点,看看如何实现目标。...发起的INVITE中,没有主被叫号码信息,只有FS和OpenSIPs的IP和端口信息。...集群下的成员可支持的并发数完全一样,无差别,那么建议使用dispatcher模块来试想负载均衡,可以做到均匀的将请求分配给每一台服务器。...数据库初始化 说明: 1)下方配置了百度、阿里两个MRCP Server集群,并且每个集群都部署在了两个IDC(IDC_A和IDC_B) 2)OpenSIPs根据dialplan拨号方案来为阿里和百度选择负载均衡的方式

    62112

    Koa2+MongoDB+JWT实战--Restful API最佳实践

    :除非被清除,否则永久保存 工作原理 客户端带着用户名和密码去访问/login 接口,服务器端收到后校验用户名和密码,校验正确就会在服务器端存储一个 sessionId 和 session 的映射关系。...劣势 cookie+session 在跨域场景表现并不好(不可跨域,domain 变量,需要复杂处理跨域) 如果是分布式部署,需要做多机共享 Session 机制(成本增加) 基于 cookie 的机制很容易被...rest : { stack, ...rest } }) ); 错误会默认抛出堆栈信息stack,在生产环境中,没必要返回给用户,在开发环境显示即可。...简单的说,Mongoose就是对node环境中MongoDB数据库操作的封装,一个对象模型(ODM)工具,将数据库中的数据转换为JavaScript对象以供我们在应用中使用。...在这里主要是以用户模块的crud为例来展示下如何在 koa 中践行RESTful API最佳实践。

    9.3K42

    nodeJS操纵数据库

    在我们终端的任何一个目录下,都可以访问,配置在系统 环境变量里面的可执行文件 如何将一个软件的可执行文件配置在我们的系统环境变量中?...,还可以传递参数(GET) querystring 处理浏览器通过GET/POST发送过来的参数 path 查找文件的路径 fs 在服务器端读取文件用的...,就用GET,因为GET有缓存效率高 如果是要向服务器提交数据,就用POST fs&path path 作用:获取路径 path.join(__dirname,'你要读取的文件夹下面的文件名称即可')...重点 1、如何去接收GET/POST传递过来的参数 2、如何通过Express进行分门别类的处理路由 3、静态资源的处理 使用 1、Hello World 案例 步骤: 1、导入包 2、创建一个...,他有自己的存储规则,让我们保存数据和查询 数据更加方便 存储文件的介质 localStorage 文本文件 大型数据或是海量数据的时候必须要用到数据库 数据库的分类 客户端: iOS/Android

    2.5K41

    Java开发工程师理解的三种架构模型

    不一定,关键在于你在你的系统中如何实作你的3/N层结构。...另外,在该架构模型中引入了AOP框架进行Aspect焦点的集中 编程(比如处理日志记录、权限管理等方面),使得Aspect代码不会掺杂在正常的业务逻辑代码中,使得代码的的清晰性、可维护性进一步增强。...这时,地域分布式架构将允许我们在不停止任何服务的情况下,动态的添加FS服务器,新添加的FS服务器会自动注册到AS。 ?...AS可以监控每个FS的负载(如CPU消耗、内存消耗),再有客户端请求到来时,AS会将请求交给负载最低的FS处理,这就实现了FS的负载均衡。...比如支持,FS的动态添加/移除;FS的负载均衡;AS与FS、AS与IRAS之间的通信;跨区域的服务请求等等。

    1.3K70

    从0到1,构建完整的前端异常监控系统

    js异常的特点是,出现不会导致JS引擎崩溃,最多只会终止当前执行的任务。 回归正题,我们该如何在程序异常发生时捕捉并进行对应的处理呢?在Javascript中,我们通常有以下两种异常捕获机制。...,Vue 2.2.0以上的版本中增加了一个errorHandle,使用Vue.config.errorHandler这样的Vue全局配置,可以在Vue指定组件的渲染和观察期间未捕获错误的处理函数。.../xiao9873341… 看了一下许多平台对错误日志的分析和可视化都使用了ELK,ELK在服务器运维界应该是运用的非常成熟了,很多成熟的大型项目都使用ELK来作为前端日志监控、分析的工具。...,用户浏览器信息,自定义错误类型统计,引入图表可视化展示,更加直观地追踪 image.png 待完善的点 应该做错误类型区分,如业务错误与接口错误等 过多的日志在业务服务器堆积,造成业务服务器的存储空间不够的情况...如类似mouseover事件中的报错应该考虑防抖般的处理 后记 至此,我们总结了几种异常捕获的做法,并完成了对前端程序异常的上报功能,这对开发和测试人员都有较大的意义,用一句或说便是,要对产品保持敬畏之心

    97310

    从0到1,构建完整的前端异常监控系统

    js异常的特点是,出现不会导致JS引擎崩溃,最多只会终止当前执行的任务。 回归正题,我们该如何在程序异常发生时捕捉并进行对应的处理呢?在Javascript中,我们通常有以下两种异常捕获机制。...,Vue 2.2.0以上的版本中增加了一个errorHandle,使用Vue.config.errorHandler这样的Vue全局配置,可以在Vue指定组件的渲染和观察期间未捕获错误的处理函数。...image.png 数据存储 日志可视化 ELK前端日志分析 www.cnblogs.com/xiao9873341… 看了一下许多平台对错误日志的分析和可视化都使用了ELK,ELK在服务器运维界应该是运用的非常成熟了...image.png 待完善的点 应该做错误类型区分,如业务错误与接口错误等 过多的日志在业务服务器堆积,造成业务服务器的存储空间不够的情况,在迁到mongodb后在考虑不要日志⬆️ 上报频率做限制。...如类似mouseover事件中的报错应该考虑防抖般的处理 后记 至此,我们总结了几种异常捕获的做法,并完成了对前端程序异常的上报功能,这对开发和测试人员都有较大的意义,用一句或说便是,要对产品保持敬畏之心

    68920

    前端异常埋点系统初探

    js异常的特点是,出现不会导致JS引擎崩溃,最多只会终止当前执行的任务。 回归正题,我们该如何在程序异常发生时捕捉并进行对应的处理呢?在Javascript中,我们通常有以下两种异常捕获机制。...,Vue 2.2.0以上的版本中增加了一个errorHandle,使用Vue.config.errorHandler这样的Vue全局配置,可以在Vue指定组件的渲染和观察期间未捕获错误的处理函数。.../xiao9873341… 看了一下许多平台对错误日志的分析和可视化都使用了ELK,ELK在服务器运维界应该是运用的非常成熟了,很多成熟的大型项目都使用ELK来作为前端日志监控、分析的工具。...,用户浏览器信息,自定义错误类型统计,引入图表可视化展示,更加直观地追踪 image.png 待完善的点 应该做错误类型区分,如业务错误与接口错误等 过多的日志在业务服务器堆积,造成业务服务器的存储空间不够的情况...如类似mouseover事件中的报错应该考虑防抖般的处理 后记 至此,我们总结了几种异常捕获的做法,并完成了对前端程序异常的上报功能,这对开发和测试人员都有较大的意义,用一句或说便是,要对产品保持敬畏之心

    66130
    领券