版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025四川九洲光电科技股份有限公司招聘软件工程师(前后端软件设计开发方向)测试笔试历年常考点试题专练附带答案详解(第1套)一、单项选择题下列各题只有一个正确答案,请选出最恰当的选项(共25题)1、在HTTP协议中,以下哪种方法通常用于向服务器提交表单数据?A.GETB.POSTC.PUTD.DELETE2、以下JavaScript代码执行后,控制台输出结果是什么?
```javascript
console.log(typeofnull);
```A."null"B."object"C."undefined"D."string"3、在关系型数据库中,用于保证数据完整性的“外键”约束主要作用是什么?A.确保字段唯一B.禁止字段为空C.维护两个表之间的引用一致性D.加快查询速度4、以下哪种设计模式确保一个类仅有一个实例,并提供一个全局访问点?A.工厂模式B.观察者模式C.单例模式D.策略模式5、在CSS中,设置元素的box-sizing为border-box会产生什么效果?A.元素宽度不包含内边距和边框B.元素宽度包含内容、内边距和边框C.元素高度自动调整为内容高度D.元素脱离文档流6、在JavaScript中,以下哪个方法可以用于将数组中的所有元素转换为由指定分隔符连接的字符串?A.join()B.concat()C.split()D.slice()7、在HTTP状态码中,表示“请求成功处理并返回数据”的是以下哪一项?A.200B.301C.404D.5008、在面向对象编程中,以下哪项特性支持“一个接口多种实现”?A.封装B.继承C.多态D.抽象9、在关系型数据库中,用于确保表中某列或列组合的值唯一的约束是?A.PRIMARYKEYB.FOREIGNKEYC.CHECKD.DEFAULT10、在Java中,以下哪个关键字用于定义一个不能被继承的类?A.staticB.finalC.abstractD.private11、在JavaScript中,以下哪个方法可以用于将数组中的所有元素转换为由指定分隔符连接的字符串?A.join()B.concat()C.split()D.toString()12、在HTTP协议中,以下哪个状态码表示“请求成功,且响应体中包含请求结果”?A.200B.201C.404D.50013、在Java中,以下哪个关键字用于定义不可被继承的类?A.staticB.finalC.abstractD.private14、在关系型数据库中,用于确保某一列或多列组合的值唯一性的约束是?A.PRIMARYKEYB.FOREIGNKEYC.UNIQUED.CHECK15、在Vue3中,用于定义响应式数据的主要API是?A.data()B.useStateC.reactiveD.watch16、在HTTP协议中,以下哪种请求方法用于向服务器提交数据并可能引起服务器状态变化?A.GETB.POSTC.HEADD.OPTIONS17、在关系型数据库中,用于确保字段值唯一且非空的约束是?A.UNIQUEB.NOTNULLC.PRIMARYKEYD.FOREIGNKEY18、以下哪种排序算法的平均时间复杂度为O(nlogn),且是稳定的?A.快速排序B.堆排序C.归并排序D.选择排序19、在JavaScript中,以下代码的输出结果是什么?
console.log(typeofnull);A."null"B."object"C."undefined"D."string"20、在Linux系统中,若要递归地查看某个目录下所有文件和子目录的权限信息,应使用以下哪个命令?A.ls-lB.ls-aC.ls-RD.ls-la21、在JavaScript中,以下哪个方法可以用于将数组元素转换为由指定分隔符连接的字符串?A.join()B.concat()C.split()D.slice()22、在HTTP协议中,状态码“404”表示的含义是?A.服务器内部错误B.请求成功C.请求的资源未找到D.请求被禁止23、在关系型数据库中,用于确保某列数据不重复且不能为空的约束是?A.FOREIGNKEYB.UNIQUEC.PRIMARYKEYD.CHECK24、以下哪种排序算法的平均时间复杂度为O(nlogn),且是稳定的?A.快速排序B.堆排序C.归并排序D.希尔排序25、在Java中,以下哪个关键字用于定义一个类不能被继承?A.staticB.finalC.abstractD.private二、多项选择题下列各题有多个正确答案,请选出所有正确选项(共15题)26、在Web前端开发中,以下关于JavaScript事件委托的说法正确的有哪些?A.事件委托利用了事件冒泡机制B.事件委托可以减少内存占用,提升性能C.事件委托只能用于click事件D.事件委托适用于动态添加的元素27、关于RESTfulAPI设计原则,以下说法正确的有哪些?A.使用HTTP方法语义化操作(如GET用于获取资源)B.URL中应包含动词,如/getUserC.应通过HTTP状态码表示请求结果状态D.资源应以名词形式表示28、在数据库事务处理中,ACID特性包含以下哪些内容?A.原子性(Atomicity)B.一致性(Consistency)C.隔离性(Isolation)D.持久性(Durability)29、以下关于Vue3中CompositionAPI的描述,正确的是哪些?A.使用setup()函数组织逻辑B.可以更好地复用和组织代码逻辑C.无法与OptionsAPI共存D.reactive()用于创建响应式对象30、在Linux系统中,以下命令可用于查看进程信息的有哪些?A.psB.topC.killD.pstree31、关于HTTP状态码,下列说法中,哪些是正确的?A.状态码301表示请求的资源已被永久移动到新位置B.状态码302表示服务器因负载过高而临时拒绝服务C.状态码404表示所请求的资源在服务器上不存在D.状态码500表示客户端发送的请求存在语法错误32、数据库事务的ACID特性包含以下哪些内容?A.原子性(Atomicity)B.一致性(Consistency)C.可用性(Availability)D.隔离性(Isolation)33、关于Java中HashMap的底层实现,以下描述正确的是?A.JDK8之前,HashMap底层采用“数组+链表”结构B.当链表长度超过阈值(默认为8)且数组长度≥64时,链表会转为红黑树C.HashMap允许键为null,但值不允许为nullD.HashMap是线程安全的类34、设计RESTful风格的API时,应遵循的原则包括?A.URI应使用名词复数形式表示资源集合B.使用HTTP动词(GET/POST/PUT/DELETE)表达操作意图C.每次请求须携带会话状态信息以维持用户上下文D.利用HTTP状态码准确反映请求处理结果35、下列关于软件测试的说法,哪些是正确的?A.α测试通常在开发环境由内部用户进行B.β测试是在真实用户环境中由外部用户进行C.回归测试是为了验证修改后是否引入新的缺陷D.集成测试主要关注单个模块的内部逻辑正确性36、在Web前端开发中,关于CSS盒模型的描述,以下哪些是正确的?A.标准盒模型中,元素的总宽度等于width+padding+border+marginB.可以通过设置box-sizing:border-box使元素宽度包含padding和borderC.margin不包含在元素的总宽度计算中D.padding会撑大content区域的实际尺寸37、关于HTTP协议,以下说法正确的是?A.HTTP/1.1默认支持持久连接B.HTTP状态码304表示资源未修改,可使用缓存C.HTTPS是在HTTP之下加了一层SSL/TLS协议D.HTTP/2强制要求使用加密传输38、在JavaScript中,以下关于事件循环(EventLoop)的说法正确的是?A.setTimeout(fn,0)会立即执行fnB.Promise的then回调属于微任务C.微任务总是在当前宏任务结束后、下一个宏任务开始前执行D.requestAnimationFrame属于宏任务39、关于数据库事务的ACID特性,以下描述正确的是?A.原子性(Atomicity)指事务中的操作要么全部成功,要么全部失败B.一致性(Consistency)由数据库系统自动保证,与应用逻辑无关C.隔离性(Isolation)防止多个并发事务相互干扰D.持久性(Durability)意味着事务提交后,结果永久保存40、在后端开发中,关于RESTfulAPI设计,以下哪些做法符合规范?A.使用HTTP动词表达操作类型,如GET用于查询,POST用于创建B.URL应包含动词,如/api/getUserC.状态码应准确反映请求结果,如201表示资源创建成功D.资源路径应使用名词复数形式,如/users三、判断题判断下列说法是否正确(共10题)41、在JavaScript中,使用const声明的变量一旦赋值后,其值就无法被修改。A.正确B.错误42、HTTP协议默认使用80端口,HTTPS协议默认使用443端口。A.正确B.错误43、在关系型数据库中,主键(PrimaryKey)可以包含NULL值。A.正确B.错误44、React中的useStateHook返回的更新函数是同步执行的。A.正确B.错误45、在Git中,执行gitreset--hardHEAD命令会丢弃工作区和暂存区的所有修改。A.正确B.错误46、在JavaScript中,使用const声明的变量一旦赋值后,其值不能被重新赋值。A.正确B.错误47、HTTP协议是无状态的,这意味着服务器不会保留客户端的任何请求信息。A.正确B.错误48、在Java中,接口可以包含具体方法的实现。A.正确B.错误49、CSS的盒模型中,元素的总宽度等于内容宽度加上padding、border和margin的总和。A.正确B.错误50、在关系型数据库中,主键可以为空(NULL)。A.正确B.错误
参考答案及解析1.【参考答案】B【解析】POST方法主要用于向服务器提交数据,例如表单内容,其数据包含在请求体中,安全性高于GET。GET用于请求资源,参数暴露在URL中;PUT用于更新资源;DELETE用于删除资源[[1]]。2.【参考答案】B【解析】在JavaScript中,typeofnull返回"object",这是语言最初实现时的一个历史遗留Bug,至今未修复。尽管null表示“无值”,但其类型被错误地标记为object[[1]]。3.【参考答案】C【解析】外键(ForeignKey)用于建立和加强两个表之间的链接,确保一个表中的数据必须在另一个表中存在对应记录,从而维护引用完整性,防止“孤儿”记录的出现。4.【参考答案】C【解析】单例模式的核心是限制类的实例化次数为一次,并提供全局访问该实例的方法,常用于配置管理、日志记录等场景,避免资源重复创建[[3]]。5.【参考答案】B【解析】当box-sizing:border-box时,元素的width和height包含padding和border,使得布局计算更直观,避免因内边距或边框导致总尺寸超出预期[[2]]。6.【参考答案】A【解析】join()方法用于将数组的所有元素连接成一个字符串,可指定分隔符,默认为逗号。concat()用于合并数组,split()是字符串方法,用于将字符串分割为数组,slice()用于提取数组片段。7.【参考答案】A【解析】HTTP状态码200表示请求成功,服务器已成功处理并返回请求的数据。301表示永久重定向,404表示资源未找到,500表示服务器内部错误。8.【参考答案】C【解析】多态是面向对象的重要特性之一,允许不同类的对象对同一消息作出响应,即同一操作作用于不同对象,可以有不同的解释和执行结果,体现“一个接口,多种实现”。9.【参考答案】A【解析】PRIMARYKEY(主键)用于唯一标识表中的每一行,其值必须唯一且非空。虽然UNIQUE约束也能保证唯一性,但在选项中主键是最典型且强制唯一非空的约束。10.【参考答案】B【解析】使用final修饰的类不能被继承,方法不能被重写。static用于定义静态成员,abstract用于定义抽象类或方法,private是访问控制符,限制成员的可见性。11.【参考答案】A【解析】join()方法用于将数组的所有元素连接成一个字符串,并可通过参数指定分隔符。concat()用于合并数组,split()是字符串方法,用于分割字符串为数组,toString()虽可将数组转为字符串,但默认使用逗号分隔,无法自定义分隔符。12.【参考答案】A【解析】200状态码表示“OK”,即请求成功,服务器成功返回了请求的资源。201表示“Created”,通常用于POST成功创建资源;404表示“NotFound”;500表示“InternalServerError”。13.【参考答案】B【解析】使用final修饰的类不能被继承,即不能有子类。static用于修饰静态成员;abstract用于定义抽象类,可被继承;private是访问控制符,不能修饰类(除内部类外)。14.【参考答案】C【解析】UNIQUE约束确保列或列组合中的值是唯一的,允许NULL值(取决于数据库实现)。PRIMARYKEY也保证唯一性,但不允许NULL且一个表只能有一个;FOREIGNKEY用于引用其他表的主键;CHECK用于限制列值的范围。15.【参考答案】C【解析】Vue3的CompositionAPI中,reactive()用于创建一个响应式的对象。data()是OptionsAPI中的选项;useState是React的Hook;watch用于监听响应式数据的变化,不是定义响应式数据的API。16.【参考答案】B【解析】POST方法用于向服务器提交数据,通常用于表单提交或上传文件,会引起服务器状态的改变。GET用于获取资源,HEAD仅返回响应头,OPTIONS用于查询服务器支持的HTTP方法。17.【参考答案】C【解析】PRIMARYKEY(主键)不仅要求字段值唯一(UNIQUE),还要求不能为NULL(NOTNULL)。UNIQUE允许空值(但仅一个),FOREIGNKEY用于引用其他表的主键,不保证自身唯一非空。18.【参考答案】C【解析】归并排序的平均和最坏时间复杂度均为O(nlogn),且是稳定排序(相同元素的相对位置不变)。快速排序和堆排序不稳定,选择排序时间复杂度为O(n²)。19.【参考答案】B【解析】这是JavaScript的一个历史遗留问题。typeofnull返回"object",尽管null是原始类型。这是语言设计初期的bug,但为保持兼容性一直保留至今。20.【参考答案】C【解析】ls-R可递归列出指定目录及其所有子目录的内容。-l显示详细信息(含权限),但不递归;-a显示隐藏文件;-la是-l和-a的组合,仍不递归。若需递归且带权限,应使用ls-lR。21.【参考答案】A【解析】join()方法用于将数组的所有元素连接成一个字符串,并可通过参数指定分隔符,默认为逗号。concat()用于合并数组,split()是字符串方法用于分割字符串为数组,slice()用于提取数组片段,不改变原数组。因此正确答案为A。22.【参考答案】C【解析】HTTP状态码404表示客户端请求的资源在服务器上未找到。200表示成功,500表示服务器内部错误,403表示禁止访问。因此选C。23.【参考答案】C【解析】PRIMARYKEY(主键)约束要求字段值唯一且非空,用于唯一标识一条记录。UNIQUE也保证唯一性但允许空值(部分数据库允许多个NULL),FOREIGNKEY用于外键引用,CHECK用于限定取值范围。因此正确答案是C。24.【参考答案】C【解析】归并排序的时间复杂度为O(nlogn),且是稳定排序(相等元素的相对位置不变)。快速排序和堆排序不稳定,希尔排序虽改进了插入排序但也不稳定。因此选C。25.【参考答案】B【解析】final关键字用于类时,表示该类不能被继承。static用于静态成员,abstract用于定义抽象类,private是访问控制符,不能修饰类(除内部类)。因此正确答案是B。26.【参考答案】ABD【解析】事件委托通过将事件监听器绑定在父元素上,利用事件冒泡机制处理子元素事件,从而减少监听器数量,节省内存。它不仅限于click事件,也适用于其他冒泡事件(如keydown、input等),特别适合处理动态生成的DOM元素。选项C错误,因其限制了事件类型。27.【参考答案】ACD【解析】RESTful风格强调使用标准HTTP方法(GET、POST、PUT、DELETE)对应资源操作,URL应为名词(如/users),而非动词。HTTP状态码(如200、404、500)用于传达请求结果。选项B违反REST规范,应避免在URL中使用动词。28.【参考答案】ABCD【解析】ACID是数据库事务的四大核心特性:原子性指事务操作不可分割;一致性确保事务前后数据符合业务规则;隔离性防止并发事务互相干扰;持久性保证事务提交后结果永久保存。四项均为正确描述。29.【参考答案】ABD【解析】Vue3的CompositionAPI通过setup()函数提供更灵活的逻辑组织方式,支持逻辑复用(如自定义hooks),且可与OptionsAPI在同一组件中共存。reactive()确实用于创建响应式对象。选项C错误。30.【参考答案】ABD【解析】ps用于静态查看进程快照,top提供动态实时进程监控,pstree以树状结构显示进程父子关系。kill用于终止进程,不用于查看信息,故C不选。三项ABD均为查看进程的有效命令。31.【参考答案】AC【解析】301表示永久重定向,服务器已将请求资源永久迁移至新URI[[10]];302是临时重定向,并非服务拒绝[[13]];404明确表示资源未找到[[11]];500是服务器内部错误,属于服务端问题,而语法错误通常对应400状态码[[17]]。32.【参考答案】ABD【解析】ACID特指原子性、一致性、隔离性、持久性(Durability)四项[[20]]。可用性(Availability)是CAP理论中的概念,不属于事务的ACID特性[[24]]。持久性虽未在选项中列出,但A、B、D均为正确项。33.【参考答案】AB【解析】JDK8中HashMap引入红黑树优化,当链表长度≥8且数组长度≥64时树化[[33]];其底层初始为数组+链表[[31]];HashMap允许键和值均为null[[30]];但其本身非线程安全,多线程应使用ConcurrentHashMap[[30]]。34.【参考答案】ABD【解析】RESTful强调无状态(Stateless),即服务端不保存客户端上下文,每次请求须自包含全部必要信息[[40]];资源URI宜用名词(如/users)[[41]];操作语义由HTTP方法映射(GET查、POST增、PUT改、DELETE删)[[42]];状态码(如200、201、400、404)用于反馈结果[[41]]。35.【参考答案】ABC【解析】α测试是开发方组织的内部测试,环境受控;β测试由真实用户在实际使用场景中完成[[3]];回归测试用于确认代码变更未破坏原有功能[[4]];而集成测试关注模块间接口与交互,单元测试才针对单模块内部逻辑[[3]]。36.【参考答案】ABC【解析】标准盒模型下,元素总宽高=内容宽高+padding+border+margin;设置box-sizing:border-box后,指定的width即包含padding和border;margin始终不计入元素尺寸,仅影响布局间距。padding在标准模型中会增加总宽度,但不会“撑大content区域”,而是围绕content存在。37.【参考答案】ABC【解析】HTTP/1.1默认启用持久连接(Connection:keep-alive);304为“NotModified”,用于协商缓存;HTTPS=HTTP+SSL/TLS;HTTP/2虽推荐加密,但规范未强制要求(尽管主流浏览器仅支持加密的HTTP/2)[[2]]。38.【参考答案】BC【解析】setTimeout即使设为0,也需等待当前执行栈和微任务队列清空后才执行;Promise.then是典型微任务;微任务在每个宏任务结束后立即执行;requestAnimationFrame既非标准宏任务也非微任务,由浏览器在渲染前调度。39.【参考答案】ACD【解析】原子性确保操作不可分割;一致性需由原子性、隔离性及应用逻辑共同保障,并非数据库单独负责;隔离性避免并发冲突;持久性指数据一旦提交即写入非易失存储,不会丢失。40.【参考答案】ACD【解析】RESTful强调使用HTTP方法语义(GET/POST/PUT/DELETE);URL应为名词(如/users),避免动词;201Created用于成功创建资源;资源路径通常用复数,体现集合语义。41.【参考答案】B【解析】const声明的变量不能重新赋值,但若其值为对象或数组等引用类型,其内部属性或元素仍可被修改。例如,constobj={a:1};obj.a=2是合法的。因此该说法错误。42.【参考答案】A【解析】HTTP的标准默认端口确实是80,而HTTPS(HTTPoverSSL/TLS)的标准默认端口为443。这是网络通信中的基础常识,正确无误。43.【参考答案】B【解析】主键用于唯一标识表中的每一行记录,必须满足非空(NOTNULL)和唯一性(UNIQUE)两个条件。因此主键字段不允许为NULL,该说法错误。44.【参考答案】B【解析】useState返回的更新函数(如setCount)在React中默认是异步的,会进行批量处理以优化性能。在某些上下文(如useEffect中)可能表现为同步,但总体行为是异步的,因此该说法错误。45.【参考答案】A【解析】gitreset--hardHEAD会将工作目录和暂存区重置为最近一次提交(HEAD)的状态,所有未提交的修改(包括已add和未add的)都会被永久删除,因此该说法正确。46.【参考答案】A【解析】const声明的是常量,其值在初始化后不能通过赋值操作改变。但注意,若const变量是引用类型(如对象或数组),其内部属性仍可修改,只是不能重新指向另一个对象。47.【参考答案】A【解析】HTTP协议本身是无状态的,即每个请求之间相互独立。若需维持状态(如登录信息),需借助Cookie、Session或Token等机制实现状态管理。48.【参考答案】A【解析】自Java8起,接口允许使用default和static关键字定义带有具体实现的方法。这增强了接口的灵活性,同时保持向后兼容性。49.【参考答案】A【解析】在标准盒模型中,元素的总占据宽度=width(内容区)+左右padding+左右border+左右margin。若使用box-sizing:border-box,则width包含padding和border。50.【参考答案】B【解析】主键用于唯一标识表中的一条记录,因此其值必须唯一且非空(NOTNULL)。若允许为空,则无法保证唯一性和完整性约束。
2025四川九洲光电科技股份有限公司招聘软件工程师(前后端软件设计开发方向)测试笔试历年常考点试题专练附带答案详解(第2套)一、单项选择题下列各题只有一个正确答案,请选出最恰当的选项(共25题)1、在JavaScript中,关于事件冒泡和事件捕获,以下描述正确的是?A.事件捕获阶段发生在事件冒泡阶段之后B.addEventListener的第三个参数为true时表示在捕获阶段处理事件C.所有浏览器都默认使用事件捕获机制D.事件冒泡是指事件从子元素向document方向传播,但不包括目标元素2、在Java中,下列关于线程安全的集合类描述正确的是?A.ArrayList是线程安全的B.HashMap在多线程环境下可直接安全使用C.ConcurrentHashMap通过分段锁实现高并发下的线程安全D.Vector的性能优于ArrayList,因此推荐在所有场景下使用3、HTTP状态码401和403的区别是?A.401表示服务器拒绝请求,403表示请求格式错误B.401表示未授权(缺少有效身份认证),403表示禁止访问(权限不足)C.401表示资源不存在,403表示服务器内部错误D.401和403均可通过重试解决4、在SQL中,以下关于索引的说法错误的是?A.索引可以加快查询速度B.索引会占用额外的存储空间C.对经常更新的字段建立索引总是有益的D.唯一索引可以确保字段值的唯一性5、在Vue3中,使用CompositionAPI时,响应式数据应通过哪个函数创建?A.data()B.reactive()或ref()C.useState()D.createSignal()6、在JavaScript的事件循环机制中,以下哪种任务属于微任务(Microtask)?A.setTimeout回调B.setInterval回调C.用户交互事件(如click)D.Promise.then的回调7、HTTP状态码301和302的主要区别在于?A.301用于GET请求,302用于POST请求B.301表示临时重定向,302表示永久重定向C.301表示永久重定向,302表示临时重定向D.301由客户端发起,302由服务端发起8、在SQL中,使用LEFTJOIN连接两张表时,查询结果会包含哪部分数据?A.仅包含两个表中联结字段相等的记录B.包含左表的所有记录,以及右表中与之匹配的记录;若右表无匹配,则对应字段为NULLC.包含右表的所有记录,以及左表中与之匹配的记录;若左表无匹配,则对应字段为NULLD.包含两个表的所有记录,无论是否匹配9、在Java8及以后版本中,HashMap在什么情况下会将链表转换为红黑树?A.当链表长度达到6且数组长度大于等于32时B.当链表长度达到8且数组长度大于等于64时C.当HashMap中元素总数超过阈值时D.当发生哈希冲突时10、以下关于TCP协议的描述,哪一项是正确的?A.TCP是无连接的,提供不可靠的数据传输服务B.TCP通过三次握手建立连接,四次挥手断开连接C.TCP头部默认长度为20字节,不可扩展D.TCP报文段不包含序列号和确认号字段11、在JavaScript中,以下哪个方法可以用于向数组末尾添加一个或多个元素并返回新数组的长度?A.push()B.pop()C.shift()D.unshift()12、在HTTP协议中,以下哪个状态码表示“请求成功,服务器返回了请求的数据”?A.200B.301C.404D.50013、在Java中,以下哪个关键字用于定义一个类不能被继承?A.staticB.finalC.abstractD.private14、在关系型数据库中,以下哪个SQL语句用于从表中删除数据但不删除表结构?A.DROPB.DELETEC.REMOVED.CLEAR15、在React中,以下哪个生命周期方法在组件挂载到DOM后立即执行?A.componentDidMountB.componentWillMountC.componentDidUpdateD.componentWillUnmount16、在JavaScript中,以下关于Promise对象的说法正确的是?A.Promise的状态一旦变为rejected,还可以再次变为fulfilledB.Promise.all()只要有一个Promise失败就会立即返回失败结果C.Promise.resolve()只能接收一个已resolved的Promise作为参数D.async函数的返回值一定不是Promise对象17、以下关于HTTP状态码的描述中,正确的是?A.304表示服务器内部错误B.403表示请求的资源未被找到C.500表示服务器内部错误D.201表示请求已被接受但尚未处理18、在关系型数据库中,关于事务的ACID特性,以下说法不正确的是?A.原子性指事务中的所有操作要么全部成功,要么全部失败B.一致性指事务执行前后数据库必须保持一致性状态C.隔离性指多个事务并行执行时互不影响D.持久性指事务一旦提交,其结果就不会因系统故障而丢失19、在Java中,关于String、StringBuilder和StringBuffer的说法,正确的是?A.String是可变的,StringBuilder是不可变的B.StringBuffer是线程安全的,StringBuilder不是C.三者都使用equals()方法进行内容比较D.StringBuilder的性能低于StringBuffer20、在Linux系统中,以下哪个命令可用于查找当前目录及其子目录下所有扩展名为“.log”的文件?A.grep".log".B.ls*.logC.find.-name"*.log"D.locate"*.log"21、在HTTP协议中,以下哪种状态码表示“请求成功,且响应体中包含所请求资源的内容”?A.200B.201C.304D.40422、在JavaScript中,以下哪种数据类型是原始类型(PrimitiveType)?A.ArrayB.ObjectC.FunctionD.Symbol23、以下关于TCP和UDP协议的描述中,正确的是?A.TCP是无连接的,UDP是面向连接的B.UDP提供可靠的数据传输服务C.TCP具有流量控制和拥塞控制机制D.UDP的传输效率低于TCP24、在关系型数据库中,用于保证“表中某一列的值唯一且非空”的约束是?A.FOREIGNKEYB.UNIQUEC.PRIMARYKEYD.CHECK25、在HTML5中,用于定义页面独立内容(如一篇博客文章或新闻)的语义化标签是?A.<div>B.<section>C.<article>D.<aside>二、多项选择题下列各题有多个正确答案,请选出所有正确选项(共15题)26、在前后端分离的Web应用中,以下哪些是实现跨域资源共享(CORS)的有效方式?A.在后端响应头中设置`Access-Control-Allow-Origin`B.前端使用JSONP进行数据请求C.使用代理服务器转发请求D.将前端与后端部署在同一域名下27、关于JavaScript中的事件循环(EventLoop),以下描述正确的是?A.微任务(如Promise.then)优先于宏任务(如setTimeout)执行B.事件循环机制只存在于浏览器环境中C.调用栈为空时才会处理任务队列中的回调D.requestAnimationFrame回调属于微任务28、在RESTfulAPI设计中,以下哪些HTTP方法与操作语义匹配正确?A.GET用于获取资源B.POST用于创建资源C.PUT用于部分更新资源D.DELETE用于删除资源29、以下哪些措施可以有效防范XSS(跨站脚本攻击)?A.对用户输入进行HTML实体编码B.使用Content-Security-Policy(CSP)响应头C.在Cookie中设置HttpOnly标志D.对所有用户上传的文件进行病毒扫描30、关于数据库事务的ACID特性,以下说法正确的是?A.原子性(Atomicity)指事务中的操作要么全部成功,要么全部失败B.一致性(Consistency)由数据库系统自动保证,与应用程序无关C.隔离性(Isolation)确保并发事务互不干扰D.持久性(Durability)指事务提交后,结果永久保存31、在软件开发生命周期(SDLC)中,以下哪些阶段属于典型模型的核心组成部分?A.需求分析B.系统设计C.编码实现D.用户培训32、以下哪些技术或特性属于前端工程化实践范畴?A.模块打包(如Webpack)B.组件化开发C.数据库索引优化D.自动化测试(如Jest、Cypress)33、在微服务架构中,以下哪些是常见的通信方式?A.HTTP/RESTB.消息队列(如RabbitMQ.Kafka)C.共享数据库D.gRPC34、关于JavaScript中的事件循环(EventLoop),以下描述正确的是?A.宏任务(macro-task)包括setTimeout、setInterval和I/O操作B.微任务(micro-task)包括Promise.then和MutationObserverC.每次事件循环只执行一个宏任务,但会清空所有微任务队列D.事件循环机制存在于所有JavaScript运行环境中35、在Web开发中,以下哪些技术通常用于前端开发?A.ReactB.Node.jsC.Vue.jsD.MySQL36、关于RESTfulAPI设计原则,以下说法正确的是?A.使用HTTP方法表达操作语义B.URL应包含动词以明确行为C.状态应保存在服务器端会话中D.资源应通过名词标识37、以下哪些是JavaScript中实现异步编程的常用方式?A.回调函数B.PromiseC.async/awaitD.闭包38、在数据库事务中,ACID特性包括以下哪些?A.原子性B.一致性C.隔离性D.持久性39、以下哪些HTTP状态码表示客户端错误?A.400B.404C.500D.50240、在Web前端开发中,关于CSS的盒模型,以下描述正确的有?A.标准盒模型中,元素的总宽度等于内容宽度(content)加上padding、border和marginB.IE怪异盒模型中,设置的width包含了content、padding和borderC.可以通过设置`box-sizing:border-box`来使用IE怪异盒模型D.`margin`不属于盒模型的组成部分三、判断题判断下列说法是否正确(共10题)41、在JavaScript中,使用const声明的变量一旦赋值后,其值不能被重新赋值。A.正确B.错误42、HTTP协议默认使用80端口,HTTPS协议默认使用443端口。A.正确B.错误43、在关系型数据库中,主键可以为空(NULL)。A.正确B.错误44、React组件必须以大写字母开头。A.正确B.错误45、Java中的String类是不可变的(immutable)。A.正确B.错误46、在JavaScript中,使用const声明的变量一旦赋值后,其值就不能再被修改。A.正确B.错误47、HTTP协议是无状态的,意味着服务器不会保存客户端的任何请求状态。A.正确B.错误48、在Java中,String类是可变的,可以通过调用其方法直接修改字符串内容。A.正确B.错误49、数据库事务的ACID特性中,“一致性(Consistency)”是指事务执行前后数据库必须保持数据完整性约束。A.正确B.错误50、在HTML中,<script>标签只能放在<body>标签内部,不能放在<head>中。A.正确B.错误
参考答案及解析1.【参考答案】B【解析】addEventListener的第三个参数useCapture若为true,则事件在捕获阶段触发;若为false(默认),则在冒泡阶段触发。事件捕获是从document向下到目标元素,冒泡是从目标元素向上到document,两者都包含目标元素。并非所有浏览器默认使用捕获机制,标准行为是冒泡[[4]]。2.【参考答案】C【解析】ConcurrentHashMap在JDK1.8后采用CAS+synchronized优化了并发性能,是线程安全的高效Map实现。ArrayList和HashMap均非线程安全;Vector虽线程安全但因全局同步性能较差,不推荐盲目使用[[2]]。3.【参考答案】B【解析】401Unauthorized表示请求未提供有效身份凭证(如未登录),而403Forbidden表示已认证但无权访问该资源。两者均与权限相关,但阶段不同:401在认证前,403在认证后[[2]]。4.【参考答案】C【解析】虽然索引能加速查询,但对频繁更新的字段建立索引会导致插入、更新、删除操作变慢,因为每次数据变更都需要维护索引结构,可能得不偿失。因此并非“总是有益”[[2]]。5.【参考答案】B【解析】Vue3的CompositionAPI中,reactive()用于创建对象类型的响应式数据,ref()用于创建基本类型或需要“.value”访问的响应式变量。data()属于OptionsAPI,useState()和createSignal()分别属于React和SolidJS[[4]]。6.【参考答案】D【解析】在JavaScript中,任务分为宏任务(Macrotask)和微任务(Microtask)。宏任务包括setTimeout、setInterval、I/O事件、用户交互事件等;而微任务包括Promise.then/catch/finally的回调、MutationObserver以及queueMicrotask的回调等。事件循环规则是:执行完一个宏任务后,会立即清空当前微任务队列中的所有任务,再执行下一个宏任务[[12]]。因此,Promise.then的回调属于微任务。7.【参考答案】C【解析】HTTP状态码301(MovedPermanently)表示请求的资源已被永久移动至新URL,客户端和搜索引擎应更新书签或索引;而302(Found)表示资源仅临时位于另一个URL,客户端后续请求仍应使用原URL。搜索引擎对301的处理更“彻底”,会传递权重,而302不会[[21]]。两者在用户感知上都是跳转,但语义和长期影响不同。8.【参考答案】B【解析】LEFTJOIN(左连接)以左表为主表,返回左表的全部记录。对于右表,仅返回与左表联结条件匹配的记录;若某行在左表中无对应匹配行,则右表对应字段填充为NULL值[[32]]。INNERJOIN才只返回匹配记录,而RIGHTJOIN以右表为主表。9.【参考答案】B【解析】Java8对HashMap进行了优化,引入红黑树以提升极端哈希冲突下的性能。当某个桶(bucket)中的链表长度达到8(TREEIFY_THRESHOLD),并且哈希表的数组长度达到64(MIN_TREEIFY_CAPACITY)时,该链表才会被转换为红黑树;若数组长度不足64,则优先进行扩容[[45]]。此举旨在平衡空间与时间效率。10.【参考答案】B【解析】TCP(传输控制协议)是面向连接、可靠的传输层协议。其连接建立采用“三次握手”(SYN、SYN-ACK、ACK),确保双方收发能力正常;连接终止采用“四次挥手”,以保证双方数据均完整传输完毕[[1]]。TCP头部基本长度为20字节,但可通过选项字段扩展;序列号(SequenceNumber)和确认号(AcknowledgmentNumber)是其核心字段,用于实现可靠传输与流量控制。11.【参考答案】A【解析】push()方法用于向数组末尾添加一个或多个元素,并返回新数组的长度;pop()删除最后一个元素;shift()删除第一个元素;unshift()向数组开头添加元素。因此,正确答案是A。12.【参考答案】A【解析】200表示请求成功;301表示永久重定向;404表示资源未找到;500表示服务器内部错误。因此,正确答案是A。13.【参考答案】B【解析】final关键字用于类时表示该类不能被继承;static用于静态成员;abstract表示抽象类;private是访问控制符,不能用于类定义。因此,正确答案是B。14.【参考答案】B【解析】DELETE用于删除表中的数据行但保留表结构;DROP会删除整个表;SQL中没有REMOVE和CLEAR这两个关键字。因此,正确答案是B。15.【参考答案】A【解析】componentDidMount在组件挂载完成后调用,适合发起网络请求或操作DOM;componentWillMount已废弃;componentDidUpdate在更新后调用;componentWillUnmount在卸载前调用。因此,正确答案是A。16.【参考答案】B【解析】Promise对象有三种状态:pending、fulfilled和rejected,状态一旦改变就不可逆,因此A错误。Promise.all()在任意一个Promise被rejected时即返回rejected状态,B正确。Promise.resolve()可接收任意值,包括非Promise对象,并将其包装为resolved状态的Promise,C错误。async函数总是返回一个Promise对象,D错误。17.【参考答案】C【解析】304状态码表示资源未修改,用于缓存机制;403表示禁止访问(权限不足),资源存在但不可访问;500表示服务器内部错误,C正确;201表示请求成功且服务器创建了新资源,通常用于POST请求成功,D错误。18.【参考答案】C【解析】隔离性并非指事务“互不影响”,而是指并发事务的执行结果应等同于某种串行执行的结果,即避免脏读、不可重复读等问题。不同隔离级别允许不同程度的交互,C表述不准确;A、B、D均为ACID的正确描述。19.【参考答案】B【解析】String是不可变类,StringBuilder和StringBuffer是可变的,A错误。StringBuffer的方法使用synchronized修饰,是线程安全的;StringBuilder不保证线程安全,性能更高,B正确。String重写了equals(),但StringBuilder和StringBuffer继承Object的equals(),比较的是引用,C错误。D说法错误,StringBuilder性能通常优于StringBuffer。20.【参考答案】C【解析】find命令可递归搜索目录,-name"*.log"匹配所有.log文件,C正确。grep用于文本内容匹配,A错误;ls*.log仅列出当前目录下.log文件,不递归子目录,B错误;locate依赖数据库且默认不实时更新,且通配符用法需注意,D不准确。21.【参考答案】A【解析】HTTP状态码200OK表示请求已成功处理,响应体中包含所请求的资源内容。201表示资源已创建,通常用于POST请求;304表示资源未修改,用于缓存验证;404表示请求的资源未找到。22.【参考答案】D【解析】JavaScript的原始类型包括:string、number、bigint、boolean、undefined、null和Symbol。Array、Object和Function都属于引用类型(对象类型),而Symbol是ES6引入的原始类型,用于创建唯一标识符。23.【参考答案】C【解析】TCP是面向连接、可靠的传输协议,具备流量控制、拥塞控制和错误重传机制;UDP是无连接、不可靠但传输效率更高的协议,常用于实时性要求高的场景如视频通话。因此选项C正确。24.【参考答案】C【解析】PRIMARYKEY(主键)约束要求字段值唯一且不能为空;UNIQUE约束也要求唯一,但允许为空(可有多个NULL);FOREIGNKEY用于建立表间引用关系;CHECK用于限制字段值的范围。因此选项C准确。25.【参考答案】C【解析】<article>标签用于表示文档、页面或应用中独立且可独立分发的内容,如论坛帖子、博客文章或新闻报道;<section>表示主题相关的区块;<aside>表示侧边内容;<div>是无语义的通用容器。因此选项C最合适。26.【参考答案】A、C、D【解析】CORS是一种基于HTTP头的机制,后端通过设置`Access-Control-Allow-Origin`允许特定源访问资源(A正确)。代理服务器可将请求转发至目标后端,绕过浏览器同源策略(C正确)。同域部署自然不存在跨域问题(D正确)。JSONP仅适用于GET请求且非CORS机制(B错误)。27.【参考答案】A、C【解析】事件循环中,每次宏任务执行完毕后,会清空当前所有微任务队列,因此微任务优先级更高(A正确)。事件循环也存在于Node.js等非浏览器环境(B错误)。只有调用栈清空后才会从任务队列取回调执行(C正确)。requestAnimationFrame属于宏任务的一种(D错误)。28.【参考答案】A、B、D【解析】GET表示安全的资源获取(A正确);POST通常用于创建新资源(B正确);DELETE用于删除资源(D正确)。PUT应用于完整替换资源,部分更新应使用PATCH(C错误)。29.【参考答案】A、B、C【解析】HTML实体编码可防止脚本注入(A正确);CSP限制可执行脚本来源(B正确);HttpOnly阻止JavaScript访问Cookie,缓解会话劫持(C正确)。病毒扫描针对恶意软件,与XSS防护无直接关系(D错误)。30.【参考答案】A、C、D【解析】原子性确保事务不可分割(A正确);一致性需由原子性、隔离性和应用逻辑共同保障,并非仅靠数据库(B错误);隔离性规范并发行为(C正确);持久性保证数据不因系统崩溃丢失(D正确)[[3]][[7]]。31.【参考答案】A、B、C【解析】软件开发生命周期通常包括需求分析、系统设计、编码实现、测试、部署与维护等阶段。用户培训虽在项目落地中常见,但不属于SDLC的核心阶段,而是实施支持活动[[1]]。32.【参考答案】A、B、D【解析】前端工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽机电职业技术学院《电路原理》2025-2026学年期末试卷
- 国企岗位综合知识试题及答案
- 蚌埠经济技术职业学院《金融会计》2025-2026学年期末试卷
- 徐州工程学院《网络营销》2025-2026学年期末试卷
- 冲印师安全演练模拟考核试卷含答案
- 商务管理公司工作总结报告
- 工艺美术品设计师岗前理论综合实践考核试卷含答案
- 贸易数据申报师测试验证评优考核试卷含答案
- 保险保全员安全演练评优考核试卷含答案
- 第18课《在长江源头各拉丹冬》课件 统编版语文八年级下册
- 2026四川九洲投资控股集团有限公司招聘战略规划岗1人备考题库含答案详解
- 数学探索直线平行的条件(第1课时)课件 2025-2026学年北师大版数学七年级下册
- 生成式人工智能在小学科学课堂中的应用对学生参与度提升策略探讨教学研究课题报告
- 我国流域生态补偿主体制度:现状、问题与优化路径
- GB/T 15171-2025包装件密封性能试验方法
- 2026年沈阳职业技术学院单招职业倾向性考试题库参考答案详解
- 重金属环境安全隐患排查评估整治技术指南(试行)
- DB14∕T 3429-2025 全域土地综合整治项目可行性研究报告编制规范
- 2026年许昌电气职业学院单招职业适应性考试题库新版
- 涉氨制冷企业安全管理培训
- 3、4号锅炉引风机更换叶轮施工方案
评论
0/150
提交评论