以下内容是我在笔试结束后回忆的,不一定正确,仅供参考
选择题、编程题(和3.13的一样)
1. 守护线程、子线程与主线程的关系
守护线程与子线程的区别在于,守护线程的存在不会阻止程序的结束,即使守护线程仍在运行,程序也可以结束,而子线程必须执行完毕后才能结束程序。
2. mysql乐观锁、悲观锁
3. full gc触发
- 当堆空间中没有足够的空间来分配新的对象时,会触发 Full GC,以回收无用的对象并释放空间。
- 当老年代中的对象数量超过了某个阈值(通过 JVM 参数
MaxTenuringThreshold
指定,默认值是 15),并且新生代中的对象无法晋升到老年代时,会触发 Full GC,以回收老年代中的对象并释放空间。 - 当进行一些特定的垃圾回收算法(如 CMS、G1 等)时,Full GC 也可能被触发。
4. 死锁问题的三个必要条件
- 互斥条件:至少有一个资源被进程或线程独占使用,而其他进程或线程不能同时访问该资源。
- 请求和保持条件:一个进程或线程可以请求已经被其他进程或线程占用的资源,并且保持对自己已经获得的资源不释放。
- 循环等待条件:存在一个进程或线程资源请求序列,使得每个进程或线程都在等待下一个资源的释放,而最后一个进程或线程则在等待第一个进程或线程释放资源。
5. linux systemctl命令
(选择哪个命令不是systemctl的子命令)
-
start <unit>
:启动指定服务或单元。 -
stop <unit>
:停止指定服务或单元。 -
restart <unit>
:重新启动指定服务或单元。 -
reload <unit>
:重新加载指定服务或单元。 -
enable <unit>
:设置指定服务或单元在系统启动时自动启动。 -
disable <unit>
:设置指定服务或单元在系统启动时不自动启动。 -
status <unit>
:显示指定服务或单元的状态信息。 -
list-unit-files
:列出所有可用的服务单元文件。 -
list-units
:列出所有运行中的服务单元。
6. mysql 根据性别算平均年龄
7. mysql SELECT 0; SELECT FALSE; SELECT NULL;有什么区别
SELECT 0;
:返回数字 0。
SELECT FALSE;
:返回布尔值 false。
SELECT NULL;
:返回 NULL。
8. null在数据库中是什么
在数据库中,null 表示一个缺失或未定义的值,相当于一个空值。null 不等于 0 或空字符串 "",它表示的是没有值,不能与任何其他值进行比较,也不能用于算术运算。null 可以被用作列中的默认值,也可以表示查询结果中的缺失值。
9. 二叉树遍历方式
(前序遍历是XXX、中序遍历是XXX,XX节点最近的节点是什么)
10. 并发编程
11. 有n个元素入栈,出栈的方式有多少种
卡特兰数计算公式
7对应:5040
6对应:132