1在C语言中执行 int a=5; int b=a++ + ++a; 后,b的值是
2在Git中,想把本地已提交但尚未推送的最近一次提交与工作区修改合并进上一次提交,应使用
3在 C 语言中,执行语句 int a = 5; printf("%d", a++ + ++a); 后输出的结果是
4对数组 [3,1,4,1,5] 执行一趟冒泡排序(从头到尾比较相邻元素并交换逆序对)后,数组变为
5关于 HTTP/1.1 的持久连接与 HTTP/2 的多路复用,下列描述正确的是
6在 C 语言中,执行 int a[5]; int *p = a; 后,表达式 *(p+3) 与下列哪一项等价?
7在后端接口设计中,为防止 SQL 注入,下列哪种做法最有效?
8某服务上线后出现内存持续增长,日志显示缓存对象只增不减,下列排查与处置中最恰当的是哪一项?
9在 MySQL 中,对已建表 users 增加一个允许为空且无默认值的列 age,应使用的语句是
10TCP 三次握手中,客户端收到服务器返回的 SYN+ACK 后应发送的报文是
11在 MySQL 中,对已有数据的表执行 ALTER TABLE 添加一个 NOT NULL 且无默认值的列,若表中已有记录,通常结果是
12在 Git 中,已提交但尚未推送的最近一次提交信息写错,最合适的修正命令是
13HTTP 状态码 301 与 302 在重定向语义上的关键差异是
14某后端服务在高峰期频繁出现数据库连接池耗尽,日志显示大量请求阻塞在获取连接阶段。此时最应优先排查的环节是
15在 Python 中,表达式 [x * 2 for x in range(3) if x % 2 == 0] 的求值结果是
16在 Git 中,若本地分支 feature 已提交若干次,此时执行 git rebase main 后,feature 分支上原有提交的哈希值通常会
17关于 JavaScript 中 let 与 var 声明变量的差异,下列描述正确的有(多选)
18C 语言中,对于数组 int a[5],表达式 *(a+2) 与下列哪个写法等价
19在关系型数据库中,能保证一个事务的修改在提交前对其他事务不可见的特性是
20程序运行中抛出空指针异常,日志显示调用链最深处为对象方法调用,优先排查的方向是
21关于冒泡排序的稳定性,下列判断正确的是
22在 Git 中,若想把本地分支 feature 的提交整理后合并到 main 并保持线性历史,较合适的操作是
23某后端接口偶发返回旧数据,排查发现读请求走了从库而写请求走主库,最可能的原因是
24关于进程与线程的区别,下列说法正确的是
25在 Python 中执行 d = {}; d[(1,2)] = 'a'; d[[1,2]] = 'b' 会得到什么结果
26给定递归函数 f(n) = f(n-1) + f(n-2),f(0)=0,f(1)=1,直接递归计算 f(6) 的过程中,f(3) 被重复计算的次数是多少
27某后端接口在压测中出现响应时间随并发升高而急剧上升、CPU 使用率却不高,最可能的原因是
28在 Python 中执行表达式 3 * 1 ** 2 后,结果是多少
29关系数据库中,若表 R 已满足第三范式,则它一定满足的是
30在面向对象设计中,子类重写父类方法时把访问权限由public改为private,这主要违反了哪一原则
31HTTP/1.1中启用持久连接后,若客户端发送的请求未带Connection头,服务器默认采取的行为是
32关于TCP三次握手,客户端收到服务器的SYN+ACK后发送的ACK报文,其序列号应设置为
33某后端接口在压测时响应时间随并发数上升先平稳后急剧增大,且CPU利用率接近饱和、GC日志频繁出现Full GC,最应优先排查的方向是
34某后端服务用 Java 编写,方法内先声明了局部变量 List<String> buf 并赋值为 new ArrayList<>(),随后在 try 块中向 buf 添加元素、在 catch 块中打印日志,若要在 catch 块中安全读取 buf 中已添加的元素并保证方法任何异常路径下 buf 都非 null,下列做法中正确的有?(多选)
35对栈执行依次入栈1、2、3、4后,允许在任意时刻出栈,下列不可能得到的出栈序列是
36在编写递归函数时,下列哪些做法有助于避免栈溢出(多选)
37git中已修改文件但尚未git add,此时执行git commit -m "x" 的结果是
38在Java中,以下关于String、StringBuilder和StringBuffer的说法,正确的是
39某后端接口在压测时发现响应时间随并发上升急剧增加,CPU使用率却不高,最可能的原因是
40在 Java 中,接口里定义的成员变量默认具有的修饰符组合是
41在 Git 中,需要把已经提交到本地仓库但尚未推送的最后一次提交撤销并保留改动到工作区,应使用的命令是
42在 Python 中,若函数参数使用可变对象作为默认值,例如 def f(x=[]),可能引发的问题是
43关于数据库事务的ACID特性,其中保证事务提交后修改永久保存的是
44用二分查找在含1024个有序元素的数组中查找某元素,最多需要比较的次数是
45Java 中 String s = "a" + "b" + "c"; 与使用 StringBuilder 拼接相比,前者的编译期优化结果是
46某前端页面在移动端点击按钮后出现 300ms 延迟,最合理的优化方案是
47C语言中,表达式 sizeof(char) 与 sizeof('a') 在多数实现下的结果分别是
48在Git中,已修改文件但尚未执行 git add,此时执行 git commit -m "fix" 的结果是
49在 Git 中,执行 git reset --hard HEAD~1 后,工作区与暂存区会
50在编写涉及共享变量的多线程程序时,下列哪些做法有助于避免数据竞争(多选)
51用链表实现栈时,若规定只能在链表头部进行插入和删除,则入栈和出栈操作的时间复杂度分别是
52在JavaScript中,使用 var 声明的变量与使用 let 声明的变量在作用域上的关键区别是
53在二叉搜索树中依次插入 5、3、8、1、4 后,中序遍历得到的序列是
54下列关于进程与线程的说法,正确的有(多选)
55前端开发中,CSS选择器 div p 与 div > p 的主要区别是
56在快速排序中,若每次选取的基准元素都是当前子序列的最大值,则递归树退化的形态是
57关于进程与线程,以下说法正确的有(多选)
58下列排序算法中,对包含大量重复元素的数组通常表现较好且平均时间复杂度为 O(n log n) 的是
59某后端接口在高并发下出现数据库连接池耗尽,日志显示大量请求等待连接,最优先的处置是
60对单链表进行头插法建表时,若头指针为 head,新结点为 p,正确的操作顺序是
61在C语言中,表达式 5 / 2 * 2.0 的运算结果类型和值分别是
62前端页面在移动端出现横向滚动条,最可能的原因是
63关于 HTTP 状态码 302 与 301 的区别,描述正确的是
64Java 中 String s = "a"; s = s + "b"; 执行后关于对象的说法正确的是
65哈希表在负载因子过高时通常采取的措施是
66HTML中要让一个块级元素在父容器内水平居中且自身宽度为父容器的一半,较合适的是
67函数f定义如下:int f(int n){ return n<=1?1:n*f(n-1);} 调用f(5)的返回值是
68关于程序调试,下列做法中有助于定位偶发缺陷的有(多选)
69在SQL中,若要对查询结果按某列分组并只保留组内记录数大于3的组,应使用
70Java 中父类引用指向子类对象后调用被重写的方法,实际执行的是
71HTML中要让一个块级元素在父容器内水平居中且父容器宽度固定,下列CSS写法正确的是
72下列排序算法中,若要求排序稳定且时间复杂度为O(nlogn),应选择
73在Git中已提交了敏感文件config.env,现在想从后续提交中移除但保留本地文件,应使用
74在 Python 中执行表达式 3 * 1 ** 2 的结果是
75前后端分离项目中,浏览器发起跨域请求被拦截,服务端已设置 Access-Control-Allow-Origin 为具体域名,但携带 Cookie 的请求仍失败,最可能缺少的响应头是
76在 SQL 中,对分组结果进行筛选应使用的子句是
77在 Git 中,执行 git reset --soft HEAD~1 后工作区与暂存区的变化是
78Java 中 String 与 StringBuilder 都能拼接字符串,循环内大量拼接时应优先选用 StringBuilder,主要原因是?
79在关系型数据库中,某查询语句在 WHERE 条件中对索引列使用函数,如 WHERE DATE(create_time)='2024-01-01',导致查询变慢,主要原因是?
80对有序数组使用二分查找时,循环条件写成 while (low < high) 且更新为 low = mid + 1、high = mid,这种写法对区间含义的约定是
81某函数需要返回多个值,在Go语言中较符合惯例的做法是
82TCP三次握手中,客户端收到服务器SYN+ACK后发送的报文段其ACK标志与序号含义是
83对数组 [3, 1, 4, 1, 5] 执行一次冒泡排序(按升序,从前往后比较交换)后的结果是
84TCP 三次握手中,客户端收到服务器对 SYN 的确认后发送的报文段中,ACK 标志与序号的关系是
85Java中 String s = "a"; s = s + "b"; 执行后关于字符串对象数量的说法,正确的是
86对链表和数组在头部插入元素的效率进行比较,通常更优的是
87关于HTTP状态码,客户端请求的资源需要身份认证且未提供凭证时,服务器应返回
88在 SQL 中,若要查询 employees 表中每个部门人数且只显示人数大于 5 的部门,正确写法是
89在多线程环境中对共享计数器 count 执行 count++ 出现丢失更新,最合适的修复方式是
90在HTTP协议中,状态码401与403的区别是
91在关系数据库中,若要保证一个事务的修改在提交前不被其他事务看到,应设置的隔离级别是
92在编写健壮的后端接口时,下列做法中能有效提升异常可观测性的有(多选)
93以下关于TCP与UDP的描述中,正确的有(多选)
94在关系数据库中,若表R有外键引用表S的主键,则向R插入元组时数据库通常
95下列排序算法中,平均时间复杂度为 O(n log n) 且稳定的是
96某后端服务上线后出现 CPU 持续接近 100% 且接口响应变慢,日志显示同一查询被高频重复执行,作为程序员首先应排查的环节是
97在一个已按升序排好序的数组中用二分查找定位目标值,当中间元素小于目标值时,下一步应如何调整查找区间
98在一个电商下单接口中,若扣减库存成功但创建订单记录时抛异常,为保证数据一致,正确的处置步骤是哪一项
99用快速排序对含大量重复元素的数组排序时,若分区函数始终以最左元素为基准且把等于基准的元素全部分到一侧,最可能导致的结果是
100在编写涉及共享可变状态的并发程序时,下列做法中能降低数据竞争风险的有(多选)
参考答案
- B 知识点是自增运算符与序列点。a++先取5再加1使a=6,随后++a使a=7并取7,故b=5+7=12。选项11错在把两次…
- A 知识点是Git提交修补。git commit --amend可把暂存区改动并入上一次提交并重写该提交。git rever…
- A 知识点是自增运算符与序列点。a++ 先取值 5,a 变为 6;++a 使 a 变为 7 再取值 7,两者相加为 12。选…
- A 知识点是冒泡排序单趟过程。3 与 1 交换得 1,3,4,1,5;3 与 4 不换;4 与 1 交换得 1,3,1,4,…
- A 知识点是 HTTP 版本特性。HTTP/2 帧机制支持同一连接多路复用。HTTP/1.1 持久连接仍需按序响应;HTTP…
- A 知识点:指针算术与数组下标。p 指向 a[0],p+3 指向 a[3],解引用即 a[3]。B 错,a[4] 对应 p+…
- A 知识点:SQL 注入防御。参数化查询将 SQL 结构与数据分离,是根本手段。B 错,删除单引号会破坏数据且可被绕过;C …
- A 知识点:内存泄漏与缓存策略排查。缓存无淘汰会导致对象堆积,应补 TTL 与容量上限。B 错,重启掩盖问题且关闭告警危险;…
- A 知识点是DDL中ALTER TABLE的列操作。增加新列用ADD COLUMN。选项B的MODIFY用于修改已存在列定义…
- A 知识点是TCP连接建立。第三次握手客户端发送ACK确认服务器序号。选项SYN用于发起连接;选项FIN用于关闭连接;选项R…
- C 知识点:MySQL 加非空无默认值列的行为。严格模式下会报错,需指定默认值或允许 NULL。A 项把严格模式下的隐式转换…
- A 知识点:Git 提交信息修正。--amend 可修改最近一次提交。B 项会丢弃提交内容;C 项生成反向提交而非改信息;D…
- A 知识点是 HTTP 重定向状态码的语义区别。301 为永久移动,客户端和搜索引擎可缓存并更新引用;302 为临时移动,后…
- A 知识点是连接池耗尽的常见根因。连接未归还或长事务长期占用连接会直接导致池耗尽。选项二与连接获取阻塞无直接因果;选项三只影…
- A 知识点为列表推导式的过滤条件与映射顺序。range(3) 产生 0、1、2,先筛选 x%2==0 得到 0 和 2,再分…
- B 知识点为 Git rebase 的提交重写机制。rebase 把 feature 的提交依次应用到 main 的新基点上…
- A、B、C 知识点为 JavaScript 变量声明与作用域。let 具有块级作用域,var 具有函数作用域,故第一项正确;同一块内…
- A 知识点:数组名在表达式中退化为首元素指针,*(a+i) 等价于 a[i]。故 *(a+2) 等价 a[2]。选项 a[1…
- A 知识点:事务 ACID 特性。隔离性指并发事务之间互不干扰,未提交的修改对其他事务不可见。原子性指要么全做要么全不做;一…
- A 情境案例:空指针异常通常源于引用为 null。优先检查调用前引用是否已正确赋值。返回类型、访问修饰符、可变参数与空指针成…
- A 知识点:排序稳定性。稳定性指相等元素的相对次序是否保持,冒泡排序在相等时不交换即可保持稳定。选项B误以为交换相邻元素必然…
- A 知识点:Git 变基与合并策略。rebase 可把 feature 的提交移到 main 最新提交之后,形成线性历史。选…
- A 知识点:读写分离与复制延迟。写主读从时,从库同步有延迟,短时间内读会拿到旧值。选项B把延迟原因归为磁盘速度,不能解释偶发…
- A 知识点为进程与线程。同进程线程共享地址空间。线程独立地址空间说法反了;进程切换通常开销更大;一个进程可含多线程。
- B 知识点:字典键的可哈希性。元组 (1,2) 不可变可哈希,能作键;列表 [1,2] 可变不可哈希,作键时抛 TypeEr…
- C 知识点:递归调用树与重复子问题。展开 f(6) 的调用树,f(3) 分别在 f(5) 左支、f(4) 左支、f(3) 自…
- B 知识点:性能问题定位。CPU 不高而响应变慢,常见于等待型瓶颈如连接池耗尽,B 最符合;A 会体现为队列但通常伴随 CP…
- C 知识点是 Python 运算符优先级,** 的优先级高于 *。正确项:先算 1**2 得 1,再算 3*1 得 3。错误…
- A 知识点是关系数据库范式的包含关系。正确项:3NF 蕴含 2NF 和 1NF。错误项 BCNF 比 3NF 更严格,满足 …
- B 里氏替换原则要求子类对象能替换父类对象且不破坏行为契约,缩小访问权限会破坏可替换性。单一职责讲类的职责划分;依赖倒置讲依…
- B HTTP/1.1默认持久连接,未带Connection头时连接保持,直到超时或收到close。关闭连接、升级HTTP/2…
- B 第三次握手的ACK确认号应为服务器序列号加1,表示确认收到SYN。客户端初始序列号加1是第二次握手可能的确认号方向;直接…
- B 知识点是性能瓶颈定位。CPU饱和且频繁Full GC指向堆内存不足或对象分配过快,应优先查堆与分配。连接池过小通常表现为…
- A、C 本题考查 Java 局部变量作用域与异常处理中资源可见性。选项0正确:在 try 之前初始化可保证 buf 在 try …
- D 知识点是栈的合法出栈序列判定。D中先出3需1、2压底,出3后栈顶为2,不可能在2之前先出1,故D不可能;A全入再出合法;…
- A、B 知识点是递归终止与优化。A保证收敛,B减少栈帧,二者对;C缓存不减少递归深度;D只是延后溢出;E复制调用栈不解决深度问题…
- B 知识点是git暂存区与提交的关系。commit只提交已暂存内容,未add的修改不在暂存区,故无变更可提交。选修改被提交者…
- C 知识点是Java字符串类的可变性与线程安全。StringBuffer对方法加了synchronized,是线程安全的,所…
- B 知识点是性能瓶颈定位。CPU不高而响应时间陡增,常见于线程阻塞在I/O等待,如数据库连接池耗尽,B最符合。A会表现为线程…
- A 知识点是 Java 接口成员变量的隐式修饰。接口变量默认 public static final,即公开的静态常量。pr…
- A 知识点是 Git reset 三种模式的区别。--soft 只移动 HEAD 保留暂存区和工作区改动。--hard 会丢…
- A 知识点是 Python 默认参数的求值时机。默认值在函数定义时求值一次,故多次调用共享同一列表对象。认为会自动复制是对求…
- D 知识点是事务ACID含义。持久性D指提交后修改永久保存,D对。原子性指全做或全不做;一致性指约束不被破坏;隔离性指并发事…
- B 知识点是二分查找的复杂度与次数计算。每次折半,2^10=1024,但比较次数按向下取整加1为11次。选10是忽略最后一次…
- B 知识点是Java字符串常量折叠。字面量之间的+在编译期就被合并成"abc"常量,不产生多次拼接。选一是把变量拼接的情况套…
- A 知识点是移动端300ms延迟成因与消除。设置width=device-width可让浏览器取消双击缩放等待。改mouse…
- B 知识点是C语言字符常量的类型。sizeof(char)恒为1字节;字符常量'a'在C中类型为int,故sizeof('a…
- B 知识点是Git暂存区机制。commit只提交已暂存内容,未add的修改不会进入本次提交,通常提示无暂存内容。选A把工作区…
- B 知识点是 git reset 三种模式差异。--hard 会同时重置 HEAD、暂存区和工作区到目标提交;选保留改动是 …
- A、B、D 知识点是数据竞争的常见规避手段。互斥锁、原子操作、线程安全无锁结构都能保证共享访问的同步;选先缓存再写回且不加同步属于典…
- A 知识点是链表栈的操作位置与复杂度。头部插入和头部删除都只需改动头指针和常数个指针域,都是O(1),故A正确。B误以为出栈…
- A 知识点是var与let的作用域差异。var是函数作用域,let是块作用域,故A正确。B混淆了const与let的重新赋值…
- B 二叉搜索树中序遍历得到升序序列,插入元素集合为{1,3,4,5,8},故为1 3 4 5 8;其余选项均非升序或顺序错误…
- A、B、C 同进程线程共享地址空间正确;线程切换不需切换页表等,开销通常更小;进程间通信需借助管道、共享内存等OS机制;线程共享堆,…
- A 知识点是CSS后代选择器与子选择器。空格表示所有后代,>表示仅直接子元素。选项1把两者说反;选项2相邻同级是+选择器;选…
- B 知识点是快速排序最坏情况。基准总为最大或最小值时划分极不平衡,递归深度为n,退化成单支链。选项0、2、3都表示较平衡的递…
- A、B、C 知识点是进程与线程区别。线程共享进程地址空间,切换开销较小,跨进程通信需OS机制。选项3错误,线程崩溃可能影响整个进程;…
- A 知识点为排序算法对重复元素的适应性。三路快排将数组分为小于、等于、大于三部分,重复元素集中处理,平均 O(n log n…
- A 情境案例,考查连接池耗尽时的排查思路。优先定位慢查询或未释放连接,并设置获取连接超时避免雪崩。'调到最大' 可能压垮数据…
- A 知识点是单链表头插法指针操作。应先让新结点指向原首结点,再更新头指针。选项先改 head 再让 p 指向 head 会形…
- A 知识点:整数除法与隐式类型转换。5/2 先按整数除法得 2,再与 2.0 相乘时 2 被提升为 double,结果为 4…
- A 知识点:移动端布局溢出的常见原因。超出视口的元素或固定宽度是横向滚动的主因。选项B影响可访问性而非布局;选项C影响样式覆…
- A 知识点是HTTP重定向状态码:301为永久移动,302为临时移动。B项把两者语义颠倒;C项混淆了200和404;D项混淆…
- B 知识点:String 不可变性。String 对象不可变,拼接会生成新对象并让引用指向它。错误项分析:原对象被修改违反不…
- A 知识点:哈希表扩容机制。负载因子过高会扩容并 rehash 以降低冲突。错误项分析:删除冲突元素会丢数据;线性查找不是哈…
- A 知识点是块级元素水平居中的常用方案。定宽块级元素用 margin:0 auto 可水平居中,A对。B使用float会左浮…
- A 知识点是递归与阶乘。f(5)=5×4×3×2×1=120,A对。B是4的阶乘;C错算为5×4×3;D是6的阶乘。
- A、B、C 知识点是调试与缺陷定位方法。A的日志可还原执行路径;B的差异对比能定位变更引入点;C的记录便于稳定复现,三者均对。D注释…
- B 知识点是GROUP BY与HAVING的配合。分组用GROUP BY,对分组结果过滤用HAVING。ORDER BY只排…
- B 知识点是动态绑定。运行时根据对象实际类型调用被重写的方法,故 B 对;A 是静态绑定才会发生的情况;C 方法调用不会随机…
- A 知识点是块级元素水平居中。设置左右外边距为 auto 且元素有确定宽度即可居中,故 A 对;B 是行内内容居中,对块级元…
- A 知识点是排序稳定性与复杂度。归并排序稳定且为 O(nlogn),故 A 对;B 快排不稳定;C 堆排序不稳定;D 希尔排…
- B 知识点是Git索引与工作区区分。git rm --cached只从版本控制移除、保留本地文件。选0的git rm会同时删…
- C 知识点是运算符优先级:** 的优先级高于 *,先算 1 ** 2 = 1,再算 3 * 1 = 3。选项 9 错在把乘法…
- A 知识点是 CORS 携带凭证:当请求带 Cookie 时,服务端必须返回 Access-Control-Allow-Cr…
- A 知识点是 SQL 子句执行顺序。正确项 HAVING 用于对 GROUP BY 之后的分组结果过滤。WHERE 在分组前…
- A 知识点是 git reset 三种模式区别。正确项 --soft 只移动 HEAD,最近提交的改动仍在暂存区。--mix…
- B 知识点:Java 字符串不可变性。正确项对,String 不可变,每次 + 拼接都会新建对象,循环中开销大。String…
- A 知识点:索引失效场景。正确项对,对索引列施加函数会使索引无法按原值匹配,通常改为范围条件。DATE 函数执行开销不是主因…
- B 知识点是二分查找边界约定。正确项:high取mid且不包含high,说明区间为[low, high)。错误项:左闭右闭需…
- B 知识点是Go多返回值惯例。正确项:Go原生支持多返回值,可具名返回。错误项:切片丢失类型信息;全局变量破坏封装;字符串需…
- A 知识点是三次握手报文语义:第三次握手确认服务器SYN,序号为客户端的初始序号加1;说序号为服务器初始序号加1是把确认号与…
- A 知识点是冒泡排序单趟过程:依次比较(3,1)交换、(3,4)不换、(4,1)交换、(4,5)不换,得[1,3,1,4,5…
- A 知识点是 TCP 连接建立流程。第三次握手客户端确认服务器 SYN,确认号应为服务器初始序号加 1,ACK 置 1;选项…
- B 字符串不可变,拼接会生成新对象,s重新指向新对象,故共2个对象,B正确;A忽略不可变性;C说s指旧对象;D凭空多算对象数…
- B 链表头部插入只需调整指针,O(1),B正确;A随机访问与插入效率无关;C连续内存不提升头部插入;D描述的是尾部插入的缺点…
- B 知识点是HTTP状态码语义。401表示未认证,需提供凭证。选项0是永久重定向;选项2表示已认证但无权限;选项3表示资源不…
- B 知识点是 WHERE 与 HAVING 的区别。聚合结果过滤须用 HAVING 且置于 GROUP BY 之后。选项 A…
- B 知识点是复合操作的原子性。count++ 含读改写三步,须用锁或原子类保证原子。选项 A 的 volatile 只保证可…
- A 401 Unauthorized表示请求缺少有效身份凭证;403 Forbidden表示身份已识别但被拒绝访问。选项B把…
- A 知识点为事务隔离级别。读已提交保证只能读到已提交数据,未提交修改不可见,故a项正确。读未提交会读到未提交数据;可重复读主…
- A、B 知识点为异常处理与日志可观测性。记录堆栈与请求标识便于定位,统一错误码便于前端处理,a、b正确。c项信息量不足无法排障;…
- A、B、C 知识点是传输层协议特性。TCP面向连接、可靠、三次握手、保证顺序;UDP头部小、无连接、不保证可靠与顺序,拥塞控制由应用…
- B 知识点是外键的参照完整性约束。插入R时须保证外键值在S中存在或为NULL,否则违反约束。选项不检查违反外键定义,自动删除…
- C 知识点:排序算法复杂度与稳定性。归并排序平均 O(n log n) 且相等元素相对次序不变,是稳定排序。快速排序与堆排序…
- B 知识点:性能问题定位与常见 N+1/重复查询。日志显示同一查询高频重复,优先怀疑缺少缓存或在循环中反复查库。连接池过小通…
- A 知识点是二分查找的区间收缩方向。正确项:中间元素小于目标说明目标只可能在右半区,故左边界取 mid+1。错误项:右边界减…
- A 知识点是事务边界与失败补偿。正确项:两步骤须在同一事务中,创建订单失败时回滚库存并返回失败,避免少卖。错误项:保持扣减会…
- A 知识点是快速排序在重复元素与劣质基准下的退化。等于基准的元素全挤到一侧会使子问题规模每次只减一,递归深度接近 n,退化为…
- A、B、C 知识点是并发编程中避免数据竞争的手段。原子操作或加锁可保证读改写的整体性,降低竞争。把共享状态局部化后汇总,减少了共享访…
