版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025四川九洲光电科技股份有限公司招聘软件工程师(前后端软件设计开发方向)等岗位拟录用人员笔试历年备考题库附带答案详解(第1套)一、单项选择题下列各题只有一个正确答案,请选出最恰当的选项(共30题)1、在面向对象编程中,以下哪一项最能描述“封装”的核心目的?A.允许子类继承父类的属性和方法以实现代码复用B.通过多态性实现不同对象对同一消息的不同响应C.将数据和操作数据的方法绑定在一起,并隐藏内部实现细节D.定义接口以规范不同类的行为2、在SQL查询语句中,用于对分组后的结果集进行筛选的关键字是?A.WHEREB.ORDERBYC.HAVINGD.GROUPBY3、在JavaScript中,闭包是指?A.一个函数被另一个函数调用时创建的临时作用域B.一个函数能够访问并记住其词法作用域,即使该函数在其词法作用域之外执行C.JavaScript中用于声明全局变量的关键字D.一种用于优化循环性能的编程技巧4、关于HTTP协议中GET和POST请求方法的区别,以下哪项描述是正确的?A.GET请求的数据通过请求体(RequestBody)传输,POST请求的数据通过URL传输B.GET请求可以被浏览器缓存,而POST请求通常不会被缓存C.GET请求没有长度限制,而POST请求有长度限制D.GET请求比POST请求更安全,因为数据不暴露在URL中5、在Java或C#等面向对象语言中,实现“多态”的主要机制是?A.将数据和方法封装在类中B.子类重写父类的方法,通过父类引用调用子类的实现C.使用静态方法来提供统一的接口D.通过继承创建新的类,但不允许修改父类功能6、在面向对象编程中,以下哪一项最能体现“封装”的核心思想?A.通过继承,子类可以复用父类的属性和方法。B.将数据和操作数据的方法绑定在一起,并隐藏对象的内部实现细节。C.允许同一个接口表示不同的底层类型,实现运行时的多态性。D.使用抽象类定义一组必须被子类实现的方法。7、在SQL查询语句中,用于对分组后的结果进行筛选的子句是?A.WHEREB.ORDERBYC.GROUPBYD.HAVING8、关于HTTP协议中的GET和POST请求方法,下列描述正确的是?A.GET请求的数据被放置在请求体(Body)中,POST请求的数据则附加在URL后。B.GET请求可以被浏览器缓存,而POST请求默认不会被缓存。C.GET请求对提交数据的长度没有限制,而POST请求有长度限制。D.POST请求比GET请求更安全,因为它不涉及任何数据传输。9、在数据库中,为一个经常用于查询条件的列创建索引,其主要目的是?A.减少数据库占用的磁盘空间。B.提高数据插入、更新和删除的速度。C.加快数据查询检索的速度。D.保证该列数据的唯一性。10、在Java中,以下哪个关键字用于定义一个类不能被其他类继承?A.staticB.finalC.abstractD.private11、在SpringBoot应用中,`@SpringBootApplication`注解是一个核心注解,它实际上是多个注解的组合。以下哪个注解**不是**其组合的一部分?A.`@Configuration`B.`@EnableAutoConfiguration`C.`@ComponentScan`D.`@EnableTransactionManagement`12、在Vue3中,使用CompositionAPI创建响应式数据时,`reactive()`和`ref()`是两个核心函数。关于它们的使用,下列说法正确的是?A.`reactive()`可以直接用于声明基本数据类型(如number、string)的响应式变量B.`ref()`内部通过`reactive()`来实现对对象类型的响应式包装C.在模板中访问`ref`定义的变量时,必须手动调用`.value`D.`reactive()`返回的对象是浅层响应式的,对嵌套属性的修改不会触发视图更新13、当客户端向服务器发起请求后,服务器返回了HTTP状态码401(Unauthorized)和403(Forbidden)。以下关于这两个状态码区别的描述,错误的是?A.401表示请求缺少有效的身份认证凭证,客户端应尝试提供凭证B.403表示服务器已成功认证用户身份,但该用户没有执行此操作的权限C.遇到401时,服务器通常会在响应头中包含`WWW-Authenticate`字段D.403错误可通过让用户重新登录(重新认证)来解决14、数据库事务的ACID特性是保证数据可靠性的基石。其中,“一致性(Consistency)”特性指的是?A.事务中的所有操作要么全部成功,要么全部失败回滚B.事务的执行不能被其他事务干扰,并发执行的结果与串行执行结果一致C.事务执行前后,数据库必须从一个一致性状态转换到另一个一致性状态D.一旦事务提交,其对数据库的修改就是永久性的15、在前后端分离的架构中,为防止跨站请求伪造(CSRF)攻击,以下哪种方案最常被采用?A.在每次请求的HTTP头中携带一个由服务端生成的、与用户会话绑定的Token(如`X-CSRF-Token`),服务端进行校验B.对所有用户输入进行严格的HTML转义,防止脚本注入C.使用HTTPS协议加密传输数据D.在服务端设置`HttpOnly`属性来保护Cookie16、在面向对象编程中,以下哪项最准确地描述了“封装”的概念?A.允许子类继承父类的属性和方法,以实现代码复用[[30]]。B.将数据和操作数据的方法绑定在一起,并隐藏对象的内部实现细节[[34]]。C.允许不同类的对象对同一消息做出不同的响应,体现多态性[[36]]。D.定义一个接口,规定子类必须实现特定的方法,以实现统一规范。17、在关系型数据库中,关于聚集索引与非聚集索引,下列说法正确的是?A.聚集索引和非聚集索引的叶子节点都直接包含完整的数据行[[26]]。B.一个表只能有一个聚集索引,但可以有多个非聚集索引[[25]]。C.非聚集索引的物理存储顺序与索引键的逻辑顺序一致[[27]]。D.创建聚集索引会降低数据插入和更新的性能,但对查询性能无影响[[22]]。18、当一个HTTP请求返回的状态码为500时,这通常表示什么?A.请求的资源在服务器上未找到。B.服务器理解请求,但拒绝执行。C.服务器遇到了意外情况,无法完成请求[[15]]。D.请求语法错误,服务器无法理解。19、在使用Git进行版本控制时,`gitpull`命令默认执行的操作是什么?A.仅从远程仓库获取最新提交,但不合并到当前分支[[45]]。B.将本地分支的更改推送到远程仓库[[44]]。C.从远程仓库获取最新提交,并自动执行`gitmerge`将其合并到当前分支[[41]]。D.将当前分支的提交历史重写,使其基于远程分支的最新提交[[39]]。20、在RESTfulAPI设计中,用于获取资源的HTTP方法是?A.POSTB.PUTC.DELETED.GET21、在SpringBoot框架中开发RESTfulAPI时,下列哪个注解用于将HTTP请求体中的JSON数据自动绑定到控制器方法的参数对象上?A.@RequestParamB.@PathVariableC.@RequestBodyD.@ResponseBody22、在Vue.js2.x的组件生命周期中,以下哪个钩子函数在实例完成数据观测(dataobserver)、属性和方法的运算,以及watch/event事件回调的配置之后,但在挂载开始之前被调用?此时可以访问data和methods,但无法访问DOM元素。A.beforeCreateB.createdC.beforeMountD.mounted23、数据库事务的ACID特性中,“一致性(Consistency)”指的是什么?A.事务中的所有操作要么全部成功,要么全部回滚B.事务必须使数据库从一个一致性状态变换到另一个一致性状态C.一个事务的执行不能被其他事务干扰D.事务一旦提交,其结果就是永久性的24、在HTTP/1.1协议中,状态码302(Found)和301(MovedPermanently)的核心区别是什么?A.302表示临时重定向,客户端后续请求应继续使用原URL;301表示永久重定向,客户端应更新书签并使用新URLB.302表示请求的资源已被永久移动;301表示资源临时不可用C.302是服务器内部错误;301是客户端请求语法错误D.302表示请求成功,但结果在消息体中;301表示请求已接受但未处理25、在MySQL的InnoDB存储引擎中,默认的事务隔离级别是什么?该级别主要解决了哪些并发问题?A.READUNCOMMITTED,解决了脏读B.READCOMMITTED,解决了脏读和不可重复读C.REPEATABLEREAD,解决了脏读、不可重复读,并能在很大程度上防止幻读D.SERIALIZABLE,解决了所有并发问题26、在SpringBoot应用中,用于标识主启动类的核心注解是哪一个?A.`@RestController`B.`@ComponentScan`C.`@SpringBootApplication`D.`@EnableAutoConfiguration`27、HTTP状态码401(Unauthorized)与403(Forbidden)的核心区别在于?A.401表示请求语法错误,403表示资源不存在B.401表示身份验证失败,403表示身份已验证但权限不足C.401表示服务器内部错误,403表示请求方法不被允许D.401表示重定向,403表示缓存未命中28、数据库事务的ACID特性中,“原子性”(Atomicity)指的是?A.事务执行前后,数据库必须保持一致性状态B.事务中的所有操作必须作为一个不可分割的整体,要么全部成功,要么全部回滚C.事务的执行结果必须永久保存到数据库中D.多个事务并发执行时,彼此互不干扰29、在JavaScript的事件循环机制中,以下关于宏任务(MacroTask)与微任务(MicroTask)执行顺序的描述,正确的是?A.每次事件循环只执行一个微任务,然后执行一个宏任务B.所有宏任务执行完毕后,才开始执行微任务队列C.执行完一个宏任务后,会清空当前微任务队列中的所有任务,再进入下一轮循环D.微任务与宏任务按入队顺序交替执行30、在前端开发中,CSS选择器“`.container>p`”的含义是?A.选择所有class为`container`的元素内部的所有`<p>`标签B.选择所有class为`container`的元素的直接子元素中的`<p>`标签C.选择所有class为`container`的`<p>`标签D.选择所有紧邻在class为`container`元素之后的`<p>`标签二、多项选择题下列各题有多个正确答案,请选出所有正确选项(共15题)31、在关系型数据库设计中,关于范式的描述,以下哪些是正确的?A.第一范式(1NF)要求表的每一列都是不可分割的基本数据项B.第二范式(2NF)要求在满足1NF的基础上,非主属性完全依赖于候选键C.第三范式(3NF)允许非主属性之间存在传递依赖D.满足BCNF的表一定满足第三范式32、以下关于HTTP协议的说法,哪些是正确的?A.HTTP/1.1默认使用持久连接(Keep-Alive)B.HTTPS在HTTP基础上增加了SSL/TLS加密层C.HTTP状态码403表示请求资源未找到D.POST请求的参数可以出现在URL中33、在JavaScript中,以下关于事件循环(EventLoop)机制的描述正确的是?A.setTimeout回调属于宏任务(MacroTask)B.Promise.then回调属于微任务(MicroTask)C.微任务总是在当前宏任务执行完后立即执行D.requestAnimationFrame属于微任务34、在Java中,关于线程安全的描述,以下哪些是正确的?A.synchronized关键字可以修饰方法或代码块B.volatile能保证变量的可见性和原子性C.ConcurrentHashMap是线程安全的哈希表实现D.多个线程同时读一个不可变对象是线程安全的35、关于前端性能优化,以下措施有效的是?A.使用CDN加速静态资源加载B.将CSS放在<head>中,JavaScript放在<body>底部C.对图片使用懒加载(LazyLoading)D.频繁操作DOM时使用document.write36、以下数据结构中,哪些适合用于实现“最近最少使用”(LRU)缓存?A.哈希表B.双向链表C.普通数组D.栈37、在SpringBoot中,关于自动配置(Auto-configuration)的说法正确的是?A.通过@EnableAutoConfiguration注解启用B.自动配置基于classpath中的依赖和已定义的BeanC.可通过perties禁用特定自动配置类D.自动配置优先级高于用户自定义的配置38、关于TCP协议的特性,以下正确的是?A.TCP提供可靠、有序、基于字节流的传输服务B.TCP通过三次握手建立连接,四次挥手断开连接C.TCP头部包含源端口、目的端口、序列号、确认号等字段D.TCP适用于实时音视频传输场景39、在Vue3中,关于CompositionAPI的描述正确的是?A.setup()函数是CompositionAPI的入口B.reactive()用于创建响应式对象,ref()用于创建响应式基本类型C.watchEffect会立即执行一次并自动追踪依赖D.在模板中使用ref定义的变量无需.value解包40、关于面向对象编程的三大基本特征,下列哪些选项是正确的?A.封装B.继承C.多态D.抽象41、关于TCP和UDP协议,以下说法正确的是?A.TCP提供可靠的数据传输,UDP不保证可靠性B.TCP是面向连接的,UDP是无连接的C.UDP的头部开销比TCP小D.视频直播场景通常优先选用TCP以确保画面清晰E.TCP支持流量控制和拥塞控制,UDP不支持42、在JavaScript中,以下关于事件循环(EventLoop)和异步任务的说法,正确的是?A.setTimeout(fn,0)会立即执行fnB.Promise.then()属于微任务(microtask)C.script脚本整体执行属于宏任务(macrotask)D.微任务队列在每次宏任务执行完毕后、下一次UI渲染前清空E.await只能用于async函数内部,其后代码会被放入宏任务队列43、以下属于Vue3响应式系统核心变化或特性的有?A.使用Object.defineProperty实现数据劫持B.引入Proxy替代Object.definePropertyC.组合式API(CompositionAPI)与选项式API(OptionsAPI)并存D.v-model指令在组件上默认绑定prop为value,事件为inputE.Teleport和Suspense是Vue3新增的内置组件44、关于HTTP/1.1与HTTP/2的主要区别,以下正确的是?A.HTTP/2强制要求使用HTTPSB.HTTP/2采用二进制帧而非文本格式传输C.HTTP/2引入了头部压缩(HPACK)D.HTTP/1.1支持服务器推送(ServerPush)E.HTTP/2支持多路复用(Multiplexing)45、下列关于面向对象编程三大特性的描述,哪些是正确的?A.封装是指将数据和操作数据的方法绑定在一起,并隐藏内部实现细节。B.继承允许子类复用父类的属性和方法,但不能添加新的属性或方法。C.多态是指同一个接口可以被不同的对象以不同的方式实现。D.封装、继承和多态共同提升了代码的可扩展性和可维护性。三、判断题判断下列说法是否正确(共10题)46、JavaScript中的`let`声明的变量具有块级作用域,而`var`声明的变量只有函数级作用域。A.正确B.错误47、在JavaScript中,闭包(Closure)是指一个函数能够访问其词法作用域之外的变量。A.正确B.错误48、HTTP状态码304表示“NotModified”,用于指示客户端可以使用其本地缓存的资源版本。A.正确B.错误49、在SQL中,`INNERJOIN`会返回左表或右表中所有记录,即使在另一表中没有匹配项。A.正确B.错误50、RESTfulAPI设计规范中,建议使用HTTP动词(如GET、POST、PUT、DELETE)来表达对资源的操作语义。A.正确B.错误51、HTTP的GET请求是幂等的,而POST请求是非幂等的。A.正确B.错误52、在React中,`useEffect`钩子的依赖数组传入空数组`[]`时,其回调函数仅在组件首次挂载时执行一次。A.正确B.错误53、数据库事务的ACID特性中的“C”指的是“Concurrency”(并发性)。A.正确B.错误54、在CSS中,`display:none`与`visibility:hidden`均可隐藏元素,且都不会占据文档流中的物理空间。A.正确B.错误55、在面向对象编程中,接口(Interface)可以包含具体方法的实现代码。A.正确B.错误
参考答案及解析1.【参考答案】C【解析】封装是面向对象编程的三大特性之一,其核心在于将对象的属性(数据)和行为(方法)包装在一个类中,对外部隐藏内部实现的细节,仅通过定义好的接口进行交互,从而提高安全性、模块化程度和代码的可维护性[[10]]。这与继承(B选项)和多态(B选项)是不同的概念。2.【参考答案】C【解析】HAVING子句用于在GROUPBY分组之后,对各组应用条件进行筛选,它通常与聚合函数(如COUNT,SUM)一起使用[[21]]。WHERE子句则是在分组前对单行记录进行筛选,不能直接使用聚合函数[[24]]。GROUPBY用于分组,ORDERBY用于排序。3.【参考答案】B【解析】闭包是指一个函数能够访问其词法作用域(创建时所在的作用域)中的变量,即使这个函数是在其词法作用域之外被调用[[30]]。这意味着函数“记住”了它被创建时的环境,是JavaScript中实现数据封装和私有变量的重要机制[[31]]。4.【参考答案】B【解析】GET请求的参数附加在URL后面,因此会被浏览器缓存和保存在历史记录中,安全性较低[[45]]。POST请求的数据放在请求体中,一般不会被浏览器缓存,相对更安全[[42]]。同时,GET请求因URL长度限制,传输数据量较小,而POST请求理论上没有长度限制[[42]]。5.【参考答案】B【解析】多态是指允许不同类的对象对同一消息做出响应的能力,其核心实现方式是通过继承和方法重写(Override)。程序在运行时,根据对象的实际类型来决定调用哪个具体实现的方法,例如通过父类类型的引用变量调用子类重写的方法[[12]]。这是实现代码灵活性和可扩展性的关键。6.【参考答案】B【解析】封装是面向对象编程的三大特性之一,其核心在于将对象的属性和方法组合在一起,并通过访问控制(如private)隐藏内部实现细节,仅对外提供公共接口[[14]]。这有助于提高代码的安全性和可维护性。继承是代码复用,多态是接口的多种实现,抽象是定义规范,均非封装的本质[[9]]。7.【参考答案】D【解析】WHERE子句用于在分组前过滤原始行,而HAVING子句用于在GROUPBY分组之后,对每个分组(即聚合结果)进行筛选[[20]]。HAVING通常与聚合函数(如COUNT,SUM)配合使用,作用对象是组,而非单条记录[[22]]。8.【参考答案】B【解析】GET请求将参数附加在URL后,数据可见且有长度限制,易被缓存和收藏[[30]]。POST请求将数据放在请求体中,相对更安全,不易被缓存[[35]]。选项A、C颠倒了二者区别,D错误,POST同样传输数据,只是方式不同。9.【参考答案】C【解析】创建索引的主要目的是显著提高数据查询的速度,特别是在大型数据表中进行筛选和排序时[[42]]。索引通过建立快速查找路径,减少数据库扫描的数据量[[39]]。虽然索引有时能保证唯一性(唯一索引),但这并非其主要目的,且索引会降低数据修改(增删改)的效率[[40]]。10.【参考答案】B【解析】在Java中,使用`final`关键字修饰的类不能被继承,这可以防止类的扩展,确保其行为不被改变[[15]]。`abstract`关键字用于定义抽象类,该类必须被继承;`static`用于修饰静态成员;`private`用于限制访问权限,不用于控制继承。11.【参考答案】D【解析】`@SpringBootApplication`是一个复合注解,其源码中明确包含了`@Configuration`、`@EnableAutoConfiguration`和`@ComponentScan`三个注解,用于开启自动配置、组件扫描和声明配置类。而`@EnableTransactionManagement`用于启用基于注解的事务管理,需显式添加,并非该复合注解的组成部分[[11]]。12.【参考答案】B【解析】`ref()`内部对于对象类型会调用`reactive()`进行转换,以实现深层响应式;对于基本类型则通过一个包含`.value`属性的对象来实现响应式。选项A错误,`reactive()`仅适用于对象/数组;C错误,Vue模板会自动解包`ref`,无需`.value`;D错误,`reactive()`默认是深层响应式[[23]][[25]]。13.【参考答案】D【解析】401的核心是“未认证”,重新提供正确的凭证(如登录)通常可解决;而403的核心是“已认证但未授权”,即用户身份已被确认,但其权限等级不足以访问该资源,此时重新登录也无法解决问题,需要提升权限[[33]][[35]]。14.【参考答案】C【解析】ACID中,A(Atomicity)指原子性,即选项A;I(Isolation)指隔离性,对应选项B;D(Durability)指持久性,对应选项D。C(Consistency)指一致性,强调事务执行必须遵守数据库的约束(如主键、外键、唯一性等),确保数据始终处于有效状态[[42]][[46]]。15.【参考答案】A【解析】CSRF攻击的核心是利用用户已认证的会话(如Cookie)来伪造请求。防御的关键是在每个“写”操作请求中,要求客户端提供一个攻击者无法获取的额外凭证(如CSRFToken),该Token通常存储在页面的meta标签或通过API获取,并在请求头或表单中提交,由服务端校验[[1]]。B是防御XSS的措施;C保障传输安全;D防止XSS窃取Cookie,但对CSRF无效。16.【参考答案】B【解析】封装是面向对象编程的三大特性之一,其核心在于将数据(属性)和操作数据的方法(函数)组合在一个类中[[37]],并对外部隐藏对象的内部实现细节,只通过定义好的接口进行交互[[34]]。这有助于降低系统的复杂性,提高模块的独立性和安全性,防止外部代码随意访问或修改对象的内部状态。17.【参考答案】B【解析】聚集索引决定了表中数据行的物理存储顺序,因此一个表只能存在一个聚集索引[[27]]。非聚集索引拥有独立的结构,其叶子节点包含索引键值和指向实际数据行的指针,而非完整数据[[23]]。一个表可以有多个非聚集索引[[25]]。虽然聚集索引能加速查询,但因需维持物理顺序,会降低写入性能[[24]]。18.【参考答案】C【解析】HTTP状态码500代表“内部服务器错误”(InternalServerError)[[17]]。这表明服务器在处理请求时遇到了一个未预料到的状况,导致其无法完成请求[[16]]。这是一个通用的服务器端错误,通常意味着应用程序代码存在Bug或服务器配置出现问题,而非客户端请求本身有误[[15]]。19.【参考答案】C【解析】`gitpull`命令本质上是`gitfetch`和`gitmerge`两个命令的组合[[40]]。默认情况下,它首先从远程仓库获取(fetch)最新的提交信息,然后自动将这些更改合并(merge)到当前所在的本地分支[[43]]。如果配置了`pull.rebase`选项,则会使用`rebase`而非`merge`[[40]]。20.【参考答案】D【解析】RESTfulAPI遵循HTTP协议的标准方法来操作资源。GET方法用于从服务器请求获取指定资源的信息,是安全且幂等的,不会对服务器上的资源状态产生副作用[[11]]。POST用于创建新资源,PUT用于更新整个资源,DELETE用于删除资源。因此,获取资源的标准方法是GET。21.【参考答案】C【解析】@RequestBody注解用于指示方法参数应绑定到HTTP请求的body部分,并通过HttpMessageConverter(如Jackson)将JSON格式的数据反序列化为Java对象。@RequestParam用于绑定URL中的查询参数(?key=value),@PathVariable用于绑定URL路径中的占位符(/{id}),而@ResponseBody则用于将方法的返回值序列化到HTTP响应体中[[11]]。22.【参考答案】B【解析】created钩子在实例创建完成后立即调用。此时,实例已完成以下配置:数据观测(dataobserver)、属性和方法的运算、watch/event事件回调。然而,挂载阶段尚未开始,$el属性尚不可用,因此无法访问DOM。beforeCreate在实例初始化之后、数据观测之前调用;beforeMount在挂载开始之前,模板已编译但未渲染到DOM;mounted则在DOM挂载完成后调用[[21]]。23.【参考答案】B【解析】“一致性”指事务的执行必须保证数据库从一个正确的、满足所有约束(如主键、外键、唯一性等)的状态,转换到另一个同样正确的状态。它依赖于原子性、隔离性和持久性来共同实现。A项描述的是原子性(Atomicity),C项是隔离性(Isolation),D项是持久性(Durability)[[30]]。24.【参考答案】A【解析】301(MovedPermanently)表示请求的资源已被永久性地分配了新的URI,客户端(如浏览器)在后续请求中应主动使用新的URI。302(Found),历史上曾被称为“MovedTemporarily”,表示资源只是临时位于另一个URI下,客户端后续请求仍应使用原始URI[[40]]。25.【参考答案】C【解析】InnoDB的默认隔离级别是REPEATABLEREAD(可重复读)。在此级别下,事务开始时会创建一个一致性视图,确保在同一个事务内多次读取同一范围的数据结果一致,从而解决了脏读和不可重复读问题。InnoDB通过多版本并发控制(MVCC)和间隙锁(GapLock)的组合,在此级别下也能有效防止幻读[[34]]。26.【参考答案】C【解析】`@SpringBootApplication`是SpringBoot应用的主启动类注解,它是一个组合注解,内部集成了`@Configuration`(声明配置类)、`@EnableAutoConfiguration`(启用自动配置)和`@ComponentScan`(组件扫描)三个核心功能。仅使用其中某一个(如D选项)无法完整替代其作用,而`@RestController`是用于定义控制器层的注解。因此,正确答案为C[[12]][[18]]。27.【参考答案】B【解析】401(Unauthorized)的核心含义是“未授权”,即客户端未提供身份凭证或凭证无效,服务器要求其进行身份验证;而403(Forbidden)表示服务器已识别用户身份,但该用户无权访问所请求的资源。简言之,401是**认证(Authentication)**问题,403是**授权(Authorization)**问题[[22]][[28]]。28.【参考答案】B【解析】原子性(Atomicity)是ACID的首要特性,强调事务是一个逻辑工作单元,其内部的操作不可再分。若其中任一操作失败,整个事务必须回滚至初始状态;只有全部操作成功,才能提交。这确保了数据操作的完整性与可靠性,例如转账操作中“扣款”与“入账”必须同时成功或失败[[32]][[39]]。29.【参考答案】C【解析】JavaScript的事件循环机制遵循“宏任务→微任务→渲染→下一宏任务”的流程。具体为:每次循环先执行一个宏任务(如`setTimeout`回调、I/O事件);该宏任务执行过程中产生的微任务(如`Promise.then`、`MutationObserver`)会被加入微任务队列;当前宏任务结束后,**立即执行并清空整个微任务队列**,之后才进入下一个宏任务[[44]][[47]]。30.【参考答案】B【解析】该选择器使用了**子代选择器**(`>`),表示匹配`.container`元素的**直接子元素**(即第一层嵌套),且该子元素必须是`<p>`标签。区别于后代选择器(空格),后者会匹配所有嵌套层级的后代元素。例如,`<divclass="container"><div><p></p></div></div>`中的`<p>`不会被选中[[3]]。31.【参考答案】ABD【解析】1NF要求字段原子性;2NF消除部分函数依赖;3NF要求消除传递依赖,即非主属性不能传递依赖于主键;BCNF是3NF的强化,因此满足BCNF必然满足3NF。C选项错误,3NF不允许传递依赖[[12]]。32.【参考答案】AB【解析】HTTP/1.1默认启用持久连接以提升性能;HTTPS确实在HTTP下层加入SSL/TLS实现加密;403表示“禁止访问”,404才是“未找到”;POST参数通常在请求体中,但技术上URL也可带参(不推荐),但D表述易误导,按标准规范不视为正确做法。故选AB[[12]]。33.【参考答案】ABC【解析】事件循环中,宏任务(如setTimeout、I/O)和微任务(如Promise.then、MutationObserver)分属不同队列。每次宏任务执行完毕后,会清空所有微任务队列。requestAnimationFrame属于特殊调度任务,既非宏任务也非微任务,浏览器在重绘前调用。故D错误[[3]]。34.【参考答案】ACD【解析】synchronized可修饰方法或代码块实现互斥;volatile仅保证可见性和禁止指令重排序,不保证复合操作的原子性(如i++);ConcurrentHashMap通过分段锁等机制实现高并发安全;不可变对象(如String)无状态变更,天然线程安全。B错误[[4]]。35.【参考答案】ABC【解析】CDN减少延迟;CSS放头部避免FOUC,JS放底部防止阻塞渲染;图片懒加载减少首屏请求数;document.write会阻塞页面解析且在现代开发中已被弃用,应使用DOMAPI操作。D错误[[3]]。36.【参考答案】AB【解析】LRU需快速查找(O(1))和快速移动元素至头部/尾部。哈希表提供O(1)查找,双向链表支持O(1)删除和插入(需记录节点),两者结合是标准实现。数组删除中间元素需移动,栈仅支持后进先出,均不适合[[17]]。37.【参考答案】ABC【解析】@SpringBootApplication包含@EnableAutoConfiguration;自动配置通过条件注解(如@ConditionalOnClass)判断是否生效;可通过exclude属性或配置文件关闭;用户自定义Bean会覆盖自动配置,即用户配置优先级更高。D错误[[1]]。38.【参考答案】ABC【解析】TCP是面向连接、可靠传输协议,三次握手防历史连接,四次挥手因双向关闭;头部关键字段包含端口、序号、ACK等;但因其重传机制导致高延迟,实时音视频多用UDP。D错误[[12]]。39.【参考答案】ABCD【解析】Vue3的CompositionAPI以setup为核心;reactive包裹对象,ref包裹任意类型(在JS中访问需.value);watchEffect自动收集依赖并立即运行;模板中Vue自动解包ref,无需写.value。以上均为CompositionAPI核心特性[[1]]。40.【参考答案】A,B,C,D【解析】面向对象编程的四大基本特征通常指封装、继承、多态和抽象。封装将数据和操作数据的方法绑定在一起,隐藏内部实现;继承允许子类复用父类的属性和方法;多态允许不同类的对象对同一消息做出响应;抽象则通过定义接口或抽象类来隐藏复杂细节,仅暴露必要功能。这些特征共同提升了代码的可重用性、可维护性和灵活性[[13]]。
2.【题干】在SQL中,以下哪些语句属于数据操作语言(DML)?
【选项】A.SELECTB.INSERTC.UPDATED.CREATETABLE
【参考答案】A,B,C
【解析】数据操作语言(DML)用于查询和修改数据库中的数据,主要包括SELECT(查询)、INSERT(插入)、UPDATE(更新)和DELETE(删除)。CREATETABLE属于数据定义语言(DDL),用于定义或修改数据库结构,如创建表、索引等[[12]]。
3.【题干】关于HTTP协议,下列哪些说法是正确的?
【选项】A.HTTP是无状态协议B.GET请求可用于提交敏感数据C.POST请求通常用于提交表单数据D.HTTP状态码404表示服务器内部错误
【参考答案】A,C
【解析】HTTP是无状态协议,服务器不保留客户端请求的上下文信息[[23]]。GET请求将参数附加在URL后,不适合提交敏感数据,因可能被记录或缓存。POST请求将数据放在请求体中,常用于提交表单[[23]]。HTTP状态码404表示“未找到”资源,500才表示服务器内部错误。
4.【题干】RESTfulAPI设计遵循哪些原则?
【选项】A.使用HTTP方法(GET,POST,PUT,DELETE)表示操作类型B.使用URI表示资源C.使用状态码表示请求结果D.必须使用JSON格式传输数据
【参考答案】A,B,C
【解析】RESTfulAPI的核心原则包括:使用标准HTTP方法操作资源(A),用URI唯一标识资源(B),并利用HTTP状态码(如200,404,500)返回操作结果(C)。虽然JSON是常用的数据格式,但并非强制要求,XML等格式也可使用[[24]]。
5.【题干】关于数据库事务的ACID特性,下列描述正确的有哪些?
【选项】A.原子性(Atomicity)指事务中的所有操作要么全部成功,要么全部失败B.一致性(Consistency)确保事务将数据库从一个合法状态转换到另一个合法状态C.隔离性(Isolation)指并发事务之间互不干扰D.持久性(Durability)指事务一旦提交,其结果永久保存
【参考答案】A,B,C,D
【解析】ACID是数据库事务的四个核心特性:原子性保证事务的不可分割性;一致性确保事务执行前后数据库满足预定义的完整性约束;隔离性保证并发事务的执行互不影响;持久性确保已提交事务的结果即使系统故障也不会丢失[[19]]。
6.【题干】下列哪些是常见的软件设计模式?
【选项】A.单例模式B.工厂模式C.快速排序算法D.MVC模式
【参考答案】A,B,D
【解析】单例模式确保一个类只有一个实例并提供全局访问点;工厂模式提供创建对象的接口,由子类决定实例化哪个类;MVC(模型-视图-控制器)是一种分离关注点的架构模式。快速排序算法是一种排序算法,属于算法范畴,而非设计模式[[25]]。
7.【题干】在前端开发中,关于CSS盒模型,下列哪些属性属于盒模型的组成部分?
【选项】A.marginB.paddingC.borderD.width
【参考答案】A,B,C,D
【解析】CSS盒模型由内容(content)、内边距(padding)、边框(border)和外边距(margin)组成。width(或height)属性通常定义的是内容区域的宽度,是盒模型计算的基础。因此,margin、padding、border和width都与盒模型的尺寸计算密切相关。
8.【题干】关于JavaScript中的闭包,下列哪些说法是正确的?
【选项】A.闭包可以访问其外层函数的作用域B.闭包可能导致内存泄漏C.闭包是函数和其词法环境的组合D.闭包只能在函数内部定义
【参考答案】A,B,C
【解析】闭包是函数与其声明时所处词法环境的组合,因此可以访问外层函数的变量(A)。不当使用闭包(如引用大对象且不释放)可能导致内存泄漏(B)。闭包的本质是函数+环境,定义在函数内部是常见形式,但闭包本身是运行时产生的现象,其定义不局限于语法层面。
9.【题干】在HTTP协议中,以下哪些状态码属于客户端错误(4xx)?
【选项】A.400BadRequestB.401UnauthorizedC.403ForbiddenD.500InternalServerError
【参考答案】A,B,C
【解析】4xx状态码表示客户端错误。400表示请求语法错误;401表示未授权,需要身份验证;403表示服务器拒绝请求,即使有权限也不允许。500是服务器端错误,属于5xx类别[[23]]。
10.【题干】关于数据库索引,下列哪些说法是正确的?
【选项】A.索引能显著加快数据查询速度B.索引会占用额外的存储空间C.在频繁更新的列上创建索引能提升整体性能D.索引可以加速ORDERBY和GROUPBY操作
【参考答案】A,B,D
【解析】索引通过建立数据的有序结构,极大提升查询效率(A),但需要额外的磁盘空间存储索引结构(B)。频繁更新的列(如更新操作多于查询)会导致索引频繁重建,反而降低性能(C错误)。索引有助于排序(ORDERBY)和分组(GROUPBY)操作,因为数据已有序[[6]]。41.【参考答案】A,B,C,E【解析】TCP通过三次握手建立连接、确认应答、重传机制等保证可靠性,并具备流量与拥塞控制;UDP无连接、无确认机制,头部仅8字节(TCP为20字节起),开销小,适用于实时性要求高、可容忍少量丢包的场景(如视频直播、语音通话)。D错误,直播通常用UDP以降低延迟,而非优先TCP[[11]][[12]]。42.【参考答案】B,C,D【解析】setTimeout(fn,0)会将fn加入宏任务队列,需等待当前任务栈及微任务执行完才可能执行,非“立即”(A错)。Promise.then()、async/await的后续步骤属于微任务(B对,E错)。script标签的代码作为一个宏任务执行(C对)。事件循环规则是:执行一个宏任务→清空所有微任务→(可能)渲染→下一个宏任务(D对)[[1]][[5]]。43.【参考答案】B,C,E【解析】Vue2使用Object.defineProperty(A错),Vue3改用Proxy,支持监听动态增删属性和数组索引修改(B对)。CompositionAPI(如setup、ref、reactive)是Vue3重要特性,与OptionsAPI共存(C对)。Vue3中组件v-model默认prop为modelValue,事件为update:modelValue(D错)。Teleport(传送门)和Suspense(异步组件占位)是Vue3新增内置组件(E对)[[20]][[24]]。44.【参考答案】B,C,E【解析】HTTP/2规范虽不强制HTTPS,但主流浏览器仅支持基于TLS的HTTP/2(A表述“强制”不严谨,通常视为事实要求,但非协议本身强制,故不选)。HTTP/2使用二进制分帧层提升解析效率(B对),HPACK压缩头部减少冗余(C对)。服务器推送是HTTP/2特性(D错)。多路复用允许同一连接并发传输多个请求/响应,解决HTTP/1.1队头阻塞(E对)[[19]]。45.【参考答案】A,C,D【解析】封装通过信息隐藏保护了对象的内部状态[[10]],多态允许不同对象对同一消息做出不同响应[[17]],两者与继承共同构成面向对象的核心,增强了代码的复用性和灵活性[[12]]。继承不仅允许复用,子类还可以扩展父类的功能,因此B选项错误。
2.【题干】关于数据库索引的作用,以下哪些说法是正确的?
【选项】
A.索引能显著提高数据查询的速度。
B.索引可以加快数据插入、更新和删除操作的速度。
C.经常出现在WHERE子句中的字段适合建立索引。
D.为每个字段都建立索引能最大化数据库性能。
【参考答案】A,C
【解析】索引通过创建有序的数据结构(如B树)加速查询[[7]],尤其对WHERE条件中的字段效果显著[[7]]。但索引会占用存储空间,并降低数据修改(增删改)的效率,因此并非越多越好,D错误。B选项说法相反。
3.【题干】在RESTfulAPI设计中,以下哪些原则是被广泛遵循的?
【选项】
A.使用HTTP动词(GET,POST,PUT,DELETE)表示操作类型。
B.使用名词复数形式表示资源,如`/users`。
C.在URL中使用动词来描述操作,如`/getUserById`。
D.API应保持无状态,客户端的每次请求都包含所有必要信息。
【参考答案】A,B,D
【解析】RESTfulAPI遵循统一接口原则,使用HTTP动词表示操作[[20]],资源名使用名词复数[[28]],并强调无状态性[[23]]。C选项违反了REST原则,URL应使用名词表示资源,操作由HTTP动词体现。
4.【题干】关于快速排序算法,下列哪些描述是准确的?
【选项】
A.平均时间复杂度为O(nlogn)。
B.最坏情况下的时间复杂度为O(n²)。
C.它是一种稳定的排序算法。
D.它是一种原地排序算法,空间复杂度通常为O(logn)。
【参考答案】A,B,D
【解析】快速排序平均时间复杂度为O(nlogn)[[31]],最坏情况(如已排序数组)为O(n²)[[31]]。它不是稳定排序,相同元素的相对位置可能改变。虽然需要递归栈空间,但通常认为是原地排序,空间复杂度为O(logn)[[34]]。
5.【题干】关于TCP三次握手过程,下列哪些步骤是正确的?
【选项】
A.客户端向服务器发送SYN报文,请求建立连接。
B.服务器收到SYN后,回复SYN-ACK报文,表示同意连接。
C.客户端收到SYN-ACK后,再发送ACK报文确认。
D.服务器在收到客户端的ACK后立即开始传输数据。
【参考答案】A,B,C
【解析】TCP三次握手是建立可靠连接的标准流程:客户端发SYN(A),服务器回应SYN-ACK(B),客户端再发ACK确认(C)。握手完成后,双方才进入数据传输状态,D选项忽略了握手完成的最终确认。
6.【题干】下列哪些是数据库事务ACID特性的组成部分?
【选项】
A.原子性(Atomicity)
B.一致性(Consistency)
C.隔离性(Isolation)
D.持久性(Durability)
【参考答案】A,B,C,D
【解析】ACID是数据库事务正确执行的四个基本要素:原子性(事务要么全做要么全不做)、一致性(事务前后数据库状态一致)、隔离性(并发事务互不干扰)、持久性(事务提交后结果永久保存)[[21]]。
7.【题干】关于二分查找算法,下列哪些说法是正确的?
【选项】
A.其时间复杂度为O(logn)。
B.它要求待查找的数据集必须是有序的。
C.它的空间复杂度为O(1)。
D.它比线性查找在任何情况下都更快。
【参考答案】A,B,C
【解析】二分查找通过每次排除一半数据实现O(logn)的时间复杂度[[35]],其前提条件是数据有序[[35]],且通常使用迭代实现,空间复杂度为O(1)[[30]]。D错误,因为对于小数据集或无序数据,线性查找可能更优或无法使用。
8.【题干】下列哪些是前端开发中常见的响应式设计技术?
【选项】
A.使用CSS媒体查询(MediaQueries)。
B.使用弹性布局(Flexbox)。
C.使用网格布局(CSSGrid)。
D.使用固定像素宽度的容器。
【参考答案】A,B,C
【解析】响应式设计旨在使网站适应不同屏幕尺寸。媒体查询根据设备特性应用不同样式[[25]],Flexbox和Grid提供灵活的布局能力,是现代响应式设计的核心技术。固定像素宽度会阻碍自适应,D错误。
9.【题干】在软件开发中,下列哪些措施有助于提高代码的可维护性?
【选项】
A.编写清晰、有良好命名的变量和函数。
B.遵循统一的编码规范和风格。
C.在代码中大量使用全局变量以方便访问。
D.为关键功能编写单元测试。
【参考答案】A,B,D
【解析】良好的命名和编码规范提升了代码的可读性[[12]],单元测试能确保修改后功能的正确性,是维护的基础。大量使用全局变量会增加模块间的耦合,降低可维护性,C错误。
10.【题干】关于HTTP协议,下列哪些状态码的描述是正确的?
【选项】
A.200OK表示请求成功。
B.404NotFound表示服务器找不到请求的资源。
C.500InternalServerError表示客户端请求有语法错误。
D.302Found表示请求的资源临时重定向到另一个URI。
【参考答案】A,B,D
【解析】200表示成功[[20]],404表示资源未找到,302表示临时重定向[[20]]。500错误是服务器端内部错误,而非客户端请求语法错误(那是400BadRequest),C选项描述错误。46.【参考答案】A【解析】`let`关键字引入了块级作用域,意味着变量仅在声明它的代码块(如if语句或for循环)内有效,这与`var`的函数级作用域不同,后者在函数内任何位置都可访问。这是ES6的重要特性,有助于避免变量提升带来的问题[[12]]。
2.【题干】在CSS中,`margin:10px20px;`这样的写法表示上下边距为10px,左右边距为20px。
【选项】A.正确B.错误
【参考答案】A
【解析】CSS的`margin`属性遵循顺时针顺序:上、右、下、左。当只提供两个值时,第一个值应用于上下边距,第二个值应用于左右边距。因此,`margin:10px20px;`等同于`margin:10px20px10px20px;`[[15]]。
3.【题干】HTTP协议是无状态的,这意味着服务器不会保存客户端的任何信息。
【选项】A.正确B.错误
【参考答案】A
【解析】HTTP协议本身是无状态的,服务器在处理完一个请求后,不会保留任何关于该客户端的信息。会话状态(如登录状态)通常需要通过Cookie、Session或Token等机制在客户端和服务器之间手动维护[[23]]。
4.【题干】RESTfulAPI设计中,应使用POST方法来获取资源信息。
【选项】A.正确B.错误
【参考答案】B
【解析】RESTfulAPI中,GET方法用于获取(读取)资源,POST方法用于创建(提交)新资源。使用POST来获取信息违背了HTTP方法的语义规范,正确的做法是使用GET[[23]]。
5.【题干】在SQL中,`WHERE`子句用于在分组后过滤记录,而`HAVING`子句用于在分组前过滤记录。
【选项】A.正确B.错误
【参考答案】B
【解析】此说法正好相反。`WHERE`子句在数据分组(GROUPBY)之前筛选行,而`HAVING`子句则用于在分组后,对聚合结果(如SUM,COUNT)进行过滤。`HAVING`通常与`GROUPBY`配合使用[[26]]。
6.【题干】前端页面加载时,浏览器会优先解析并执行外部JavaScript文件,然后再继续解析HTML。
【选项】A.正确B.错误
【参考答案】A
【解析】默认情况下,当浏览器遇到`<script>`标签时,会暂停HTML文档的解析,下载并执行该JavaScript文件,完成后才继续解析后续的HTML内容。这是为了确保脚本执行时DOM结构的完整性[[10]]。
7.【题干】数据库事务的ACID特性中的“A”代表原子性(Atomicity),确保事务中的所有操作要么全部成功,要么全部失败。
【选项】A.正确B.错误
【参考答案】A
【解析】原子性是事务的首要特性,它保证了事务是一个不可分割的工作单元。如果事务中的任何一个操作失败,整个事务都将被回滚,数据库状态将恢复到事务开始前,确保数据的一致性[[28]]。
8.【题干】在JavaScript中,`null`和`undefined`是同一个值。
【选项】A.正确B.错误
【参考答案】B
【解析】`null`和`undefined`虽然在松散相等(==)比较时结果为true,但它们是不同的值。`undefined`表示变量已声明但未赋值,而`null`是一个表示“无”或“空”的对象值,通常由开发者显式赋值[[11]]。
9.【题干】使用CSS的`position:absolute;`属性时,元素会脱离正常文档流,其定位是相对于最近的已定位(非static)祖先元素。
【选项】A.正确B.错误
【参考答案】A
【解析】绝对定位的元素会脱离正常的文档流,不再占据空间。它的位置是相对于其最近的具有`position`属性值为`relative`、`absolute`、`fixed`或`sticky`的祖先元素进行定位的。如果没有这样的祖先,则相对于初始包含块(通常是视口)[[15]]。
10.【题干】在后端开发中,使用数据库连接池的主要目的是为了减少频繁创建和销毁数据库连接的开销。
【选项】A.正确B.错误
【参考答案】A
【解析】创建和销毁数据库连接是昂贵的操作。连接池在应用启动时预先创建一组数据库连接并进行管理,当应用需要时从池中获取,使用完毕后归还,而非销毁,从而显著提高了应用的性能和响应速度[[24]]。47.【参考答案】A【解析】闭包是指一个函数能够访问其词法作用域(定义时的作用域)中的变量,即使该函数在词法作用域之外被调用。本质上是函数与其周围状态(词法环境)的组合,使其能够“记住”并访问定义时的变量[[17]]。48.【参考答案】A【解析】304状态码是在客户端发送带条件的请求(如`If-Modified-Since`或`If-None-Match`)后,服务器验证发现资源未修改时返回的。它无响应体,仅告知客户端使用缓存,可有效节省带宽[[20]]。49.【参考答案】B【解析】`INNERJOIN`只返回两个表中**联结字段相等**的匹配行;若某行在任一表中无匹配,则不会出现在结果集中。而`LEFTJOIN`会保留左表所有记录,`RIGHTJOIN`保留右表所有记录[[35]]。50.【参考答案】A【解析】RESTful设计强调统一接口,其中核心原则之一是使用标准HTTP方法表达操作:GET(查询)、POST(创建)、PUT/PATCH(更新)、DELETE(删除),以实现语义清晰、可预测的API[[42]]。51.【参考答案】A【解析】幂等性指多次执行同一请求应产生相同副作用。GET仅用于获取数据,无副作用,故幂等;POST通常用于提交数据并创建新资源,多次调用会创建多个资源,因此非幂等[[51]]。52.【参考答案】A【解析】当`useEffect`的依赖项为`[]`时,React认为其无外部依赖变化,因此回调只在组件挂载后执行一次,相当于class组件的`componentDidMount`,常用于初始化操作[[58]]。53.【参考答案】B【解析】ACID中“C”代表**Consistency(一致性)**,指事务执行前后,数据库必须从一个一致性状态转移到另一个一致性状态,满足所有完整性约束;并发控制由“I”(Isolation,隔离性)保障[[70]]。54.【参考答案】B【解析】`display:none`会使元素彻底从文档流中移除,不占据空间;而`visibility:hidden`仅隐藏元素内容,其仍占据原有布局空间,影响其他元素排布[[1]]。55.【参考答案】B【解析】在Java等强类型语言中,接口仅定义方法签名(抽象方法),不包含实现;实现由类完成。虽然后期版本(如Java8+)支持默认方法(`default`),但传统定义及多数场景下接口不包含具体实现逻辑[[4]]。
2025四川九洲光电科技股份有限公司招聘软件工程师(前后端软件设计开发方向)等岗位拟录用人员笔试历年备考题库附带答案详解(第2套)一、单项选择题下列各题只有一个正确答案,请选出最恰当的选项(共30题)1、在RESTfulAPI设计中,用于创建新资源的HTTP方法是?A.GETB.PUTC.POSTD.DELETE2、Java面向对象编程的三大特性是?A.抽象、封装、继承B.封装、继承、多态C.继承、多态、重载D.封装、多态、重写3、关于数据库索引,以下说法正确的是?A.索引能提高所有查询操作的速度B.索引不会影响数据插入和删除的性能C.使用函数或运算符操作索引列可能导致索引失效D.联合索引的查询必须使用所有索引字段4、在Java中,ArrayList与LinkedList的主要区别在于?A.ArrayList是线程安全的,LinkedList不是B.ArrayList基于链表,LinkedList基于数组C.ArrayList查询效率高,插入删除效率低;LinkedList插入删除效率高,查询效率低D.ArrayList和LinkedList都支持快速随机访问5、在Java集合框架中,Vector与ArrayList的主要区别是?A.Vector支持泛型,ArrayList不支持B.Vector是线程安全的,ArrayList不是C.Vector基于链表,ArrayList基于数组D.Vector的默认容量比ArrayList大6、在Web开发中,以下哪个HTTP状态码表示“请求的资源未被修改”,通常用于缓存验证?A.200B.304C.404D.5007、在JavaScript中,以下哪种数据类型是“原始类型”(PrimitiveType)?A.ArrayB.FunctionC.ObjectD.Symbol8、在Java中,以下关于线程的说法正确的是?A.调用Thread类的run()方法可以直接启动一个新线程B.start()方法会调用run()方法,并在新线程中执行C.一个线程执行完后可以再次调用start()重新运行D.线程的优先级由用户完全控制,系统不会干预9、在CSS中,以下哪个选择器的优先级最高?A..containerpB.#headerC.p[lang="en"]D.div>p10、在数据库事务的ACID特性中,“隔离性”(Isolation)主要解决的问题是?A.确保事务一旦提交,其结果永久保存B.保证事务中的所有操作要么全部成功,要么全部失败C.防止多个并发事务相互干扰导致数据不一致D.确保事务执行前后数据库处于一致状态11、在TCP/IP协议栈中,负责提供端到端可靠数据传输服务的是哪一层?A.网络接口层B.网际层(网络层)C.传输层D.应用层12、执行SQL语句`SELECT*FROMordersWHEREstatus='shipped'ANDamount>100;`时,如果只为`status`字段创建了索引,而`amount`字段没有索引,查询优化器最可能的行为是?A.完全忽略索引,进行全表扫描B.使用`status`索引定位到所有'shipped'的记录,然后在内存中对这些结果集进行`amount>100`的过滤C.将查询拆分成两个子查询分别执行再合并结果D.自动为`amount`字段创建一个临时索引13、以下JavaScript代码的输出顺序是什么?
```javascript
console.log('A');
setTimeout(()=>console.log('B'),0);
Promise.resolve().then(()=>console.log('C'));
console.log('D');
```A.A,B,C,DB.A,D,B,CC.A,D,C,BD.D,A,C,B14、HTTP状态码`304NotModified`主要用于哪种场景?A.请求的资源已被永久移动到新URLB.客户端发送了带有条件请求头(如`If-Modified-Since`或`If-None-Match`)的请求,且服务器验证后确认资源未被修改C.服务器内部发生错误,无法完成请求D.请求需要用户进行身份验证15、在关系型数据库中,`INNERJOIN`和`LEFTJOIN`的主要区别是什么?A.`INNERJOIN`只返回左表中的所有记录,`LEFTJOIN`返回两表都匹配的记录B.`INNERJOIN`返回两表中所有记录的笛卡尔积,`LEFTJOIN`返回匹配的记录C.`INNERJOIN`只返回两个表中能匹配上的记录,`LEFTJOIN`返回左表的所有记录,右表中不匹配的部分用NULL填充D.两者功能完全相同,只是语法不同16、在SpringBoot应用中,`@SpringBootApplication`注解是启动类的核心注解,它是一个组合注解。下列选项中,**不**属于其元注解(即其内部组合的注解)的是?A.`@SpringBootConfiguration`B.`@EnableAutoConfiguration`C.`@ComponentScan`D.`@EnableWebMvc`17、当用户尝试访问一个需要登录后才能查看的网页时,服务器返回了HTTP状态码401;而当用户已成功登录,但尝试访问一个其账户权限不允许的管理后台时,服务器返回了HTTP状态码403。关于这两个状态码,以下说法正确的是?A.401表示服务器无法理解请求的语法;403表示请求的资源不存在。B.401表示请求需要进行身份认证(Authentication);403表示已识别用户身份但无权访问(Authorization)。C.401和403都表示用户认证失败,只是程度不同。D.401通常由应用层返回;403通常由Web服务器(如Nginx)返回。18、在SQL查询中,`WHERE`子句和`HAVING`子句都可以用于过滤数据,但它们的使用场景和作用对象有本质区别。以下关于两者的描述,正确的是?A.`WHERE`子句在数据分组(GROUPBY)之后执行,可以使用聚合函数(如COUNT,SUM);`HAVING`子句在分组之前执行,不能使用聚合函数。B.`WHERE`和`HAVING`子句都可以在任意位置使用,功能完全相同,可以互相替代。C.`WHERE`子句用于过滤分组前的原始行数据,不能使用聚合函数;`HAVING`子句用于过滤分组后的结果集,可以使用聚合函数。D.`HAVING`子句是`WHERE`子句的一个别名,仅用于提高SQL语句的可读性。19、考虑以下JavaScript代码片段,其在控制台的输出顺序是?
```javascript
console.log('Start');
setTimeout(()=>{
console.log('Timeout');
},0);
Promise.resolve().then(()=>{
console.log('Promise');
});
console.log('End');
```A.Start->End->Timeout->PromiseB.Start->End->Promise->TimeoutC.Start->Promise->End->TimeoutD.Promise->Start->End->Timeout20、在前后端分离的Web应用中,为防止跨站请求伪造(CSRF)攻击,后端API接口常采用一种基于Token的验证策略。以下哪种Token的传输方式相对更安全、更符合主流实践?A.将Token放在URL的查询参数中(如`?csrf_token=xxx`)。B.将Token放在HTTP请求的Header中(如`X-CSRF-Token:xxx`)。C.将Token以明文形式直接写在HTML的`<script>`标签内。D.将Token通过Cookie自动发送,并且不设置`SameSite`属性。21、在JavaScript中,以下关于闭包(Closure)的描述,哪一项是正确的?A.闭包会阻止垃圾回收机制回收其内部变量B.闭包是指一个函数可以访问并操作其外部函数作用域中的变量C.闭包只能在严格模式下使用D.闭包会导致内存泄漏,因此应完全避免使用22、在HTTP协议中,以下哪个状态码表示“请求的资源未被修改”,通常用于缓存验证?A.200B.304C.404D.50023、在关系型数据库中,以下哪项操作能有效避免SQL注入攻击?A.对用户输入进行字符串拼接B.使用预编译语句(PreparedStatements)C.限制数据库用户权限D.仅使用GET方法传递参数24、在CSS中,以下哪个选择器的优先级最高?A.类选择器(.class)B.ID选择器(#id)C.元素选择器(div)D.内联样式(style属性)25、在Java中,以下关于抽象类(abstractclass)和接口(interface)的说法,正确的是?A.抽象类可以包含具体方法,接口在Java8之前不能B.一个类只能继承一个抽象类,但可以实现多个接口C.抽象类中的方法必须全部是抽象的D.接口可以定义实例变量26、在HTTP协议中,状态码304NotModified主要用于实现什么功能?A.重定向到另一个URLB.指示服务器发生内部错误C.告知客户端可继续使用本地缓存资源D.要求客户端提供身份认证信息27、在JavaScript事件循环机制中,若代码中同时包含setTimeout、Promise.then和同步代码,其典型执行顺序为?A.同步代码→setTimeout回调→Promise.then回调B.setTimeout回调→Promise.then回调→同步代码C.同步代码→Promise.then回调→setTimeout回调D.Promise.then回调→同步代码→setTimeout回调28、数据库事务的ACID特性中,“原子性(Atomicity)”的含义是?A.事务执行前后,数据库从一个一致性状态转变为另一个一致性状态B.事务一旦提交,其对数据库的修改就是永久性的C.事务中包含的所有操作要么全部成功执行,要么全部不执行D.并发执行的多个事务彼此隔离,互不干扰29、TCP协议建立连接时采用“三次握手”,其主要目的是?A.分配网络带宽资源B.协商应用层数据加密算法C.同步双方的初始序列号并确认双方收发能力正常D.传输HTTP请求头信息30、在JDK1.8中,Java的HashMap在什么条件下会将链表结构转换为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业生涯终身学习承诺函7篇
- 个人发展成长目标承诺书5篇
- 合作企业生产质量承诺书4篇
- 安全生产责任书补充条款(5篇)
- 广告文案策划创意及执行方案模板
- 项目管理进度控制策略深度分析
- 楼宇空调系统失效紧急预案物业维修人员指导手册
- 2026年销售策略商讨确认函(4篇)范文
- 作出垃圾分类与回收承诺书7篇范文
- 商务协作诚信经营承诺函范文6篇
- 【MOOC】中医与辨证-暨南大学 中国大学慕课MOOC答案
- JJF 1049-2024温度传感器动态响应校准规范
- 起重机械安装维修程序文件及表格-符合TSG 07-2019特种设备质量保证管理体系
- 年产330万吨生铁(其中炼钢生铁78%,铸造生铁22%)的高炉炼铁车间工艺设计
- 110kV-GIS安装专项方案内容
- AQ-T 2081-2023 金属非金属矿山在用带式输送机安全检测检验规范
- 犹太复国主义
- 销售培训:利用故事营造销售情境
- 绿色建材评价 室内木门
- 漫画人物表情画法
- 贵州省情教程 第一章 特殊的地理环境
评论
0/150
提交评论