金证秋招笔试

1.构造函数的特性

答:

  1. 基础语法特性(名称、无返回值、自动调用)

  2. 继承体系下的执行顺序(先父后子)

3.不被继承 & 默认无参构造器陷阱

意思就是如果父类手动创建构造函数 子类创建构造函数系统会自动调用super() 这时候找不到上级的无参构造函数就会发成报错

  1. 一个最容易翻车的点:构造器里调用可重写方法

2.sleep()和wait()的区别

1.sleep()不释放锁wait()释放锁

2.sleep()被中断后锁不释放 wait释放

3.sleep 是 Thread 类的静态方法,wait 是 Object 的实例方法。

4.sleep 哪都能用,wait 必须在 synchronized 里

3.以下哪种是抽象方法

1.pubulic abtract void method()

2.pubulic abtract void method(){}

3.public void method extend abtract

答:第一个

第二个错误原因是抽象方法不能有方法体

第三个完全语法错误

总结:

  1. 必须用 abstract 关键字修饰

  2. 不能有方法体 {},直接用 ; 结尾

  3. 只能存在于抽象类或接口中 (接口中默认就是抽象的,可以省略 abstract

4.抽象类与抽象方法

1.有抽象方法的类必须是抽象类

2.抽象类不一定有抽象方法

3.子类必须实现所有抽象方法(除非子类也是抽象类)

5.以太网传输使用了什么机制

答:以太网使用 CSMA/CD(载波监听多路访问/碰撞检测)机制。其核心逻辑是:先听后说,边听边说,冲突停发,随机重发。

6.以下哪种数组创建成功

1.int\[\] a=new int5

2.int\[\] a=new int5{1,2,3,4,5}

第一个正确

第二个错误原因是:错误原因不能同时指定数组长度和初始化列表

7.运行时异常有哪些

答:运行时异常(RuntimeException)是 Java 中不需要显式捕获或声明的异常,它们继承自 RuntimeException 类,通常由程序逻辑错误导致,比如数组越界、空指针、类型转换错误等。

1.NullPointerException
2.ArrayIndexOutOfBoundsException
3.ClassCastException
4.ArithmeticException
5.NumberFormatException
6.IllegalArgumentException

8.异常处理try catch可以嵌套吗
答:可以

核心规则

  1. 内层抛出的异常优先由内层 catch 处理

  2. 如果内层没有匹配的 catch,异常会向上冒泡到外层

  3. 如果外层也没有处理,最终交给 JVM(程序终止)

追加try catch注意点

1.finally 块中不要用 return(会导致异常丢失)

2.finally 中抛出的异常会"淹没"原始异常(加个 try-catch 保护)

3.catch 异常时,要把最具体的异常 写在最前面(顺序错误编译报错)

try-catch 不是"万能药",能不捕获就别捕获

  • 对于受检异常(Checked Exception) ,必须处理(捕获或 throws)。

  • 对于运行时异常(RuntimeException)优先修复代码逻辑 ,而不是用 catch 包住。

9.子类与父类之间继承关系和方法使用的注意点

规则 1:子类构造器必须调用父类构造器

  • 子类构造器第一行会隐式调用 父类的无参构造器 super()

  • 如果父类没有 无参构造器(只有有参构造),子类必须显式super(参数) 调用

规则 2:子类重写方法的访问权限 不能比父类更严格

规则 3:子类重写方法的返回值 必须是父类返回值的子类型 (协变返回)
规则 4:子类重写方法不能 抛出比父类更宽 的受检异常(重要!)
规则 5:static 方法不能 被重写(只能被隐藏)
规则 6:成员变量没有多态 ,看的是引用类型

10.如果一个二叉树他的前序遍历和后序遍历相反 那么他的形状是?

一棵高度等于节点数、每个节点只有单侧子树的链状树

11.

13.子类一定比父类有更多成员方法吗

子类继承父类所有的非 private 成员方法,所以子类可用的方法数量至少等于父类。子类可以增加新方法,使方法数量多于父类,但也可以不加,保持相等。所以"子类一定比父类有更多成员方法"是错误命题。
14.

15.ThreadLocal 为每个线程提供独立的变量副本,避免了线程间竞争,实现了无锁化的线程安全;但需要在使用后调用 remove() 防止内存泄漏,且只适用于隔离变量的场景,不能保证跨变量的业务逻辑原子性。"

16

17.

相关推荐
萧鼎16 小时前
Python 数据验证神器 Pydantic:数据解析与验证、设置管理、JSONSche、与ORM集成全搞定
开发语言·python
haon112216 小时前
海外信贷的策略全生命周期:从准入到还款的本地化布防
大数据·开发语言·深度学习·面试·职场和发展·产品经理
linx29516 小时前
单元四 · 对称认知·上:内存与指针
c语言·开发语言·数据结构·嵌入式硬件·算法
Amberish16 小时前
26Java细节知识点总结
java
529宝宝起名网16 小时前
用 Python 开发名字字源查询工具:从甲骨文到楷书的字形演变与文化寓意解析
开发语言·python
钱栈up16 小时前
qoder CLI 1.0.45 本地小说生成工作流搭建:Feature Gate 配置与长文本断连排查从死锁到全流程跑通:Python德州扑克项目的优化
java·前端·数据库
代码调试师16 小时前
【毕设分享】springboot攀枝花生鲜电商平台58990
java·vue.js·spring boot·后端·架构·eclipse·课程设计
xcl092516 小时前
全民健身解决方案小程序系统开发实战:从架构设计到上线指南
java·spring boot
洛阳泰山17 小时前
别卷 Python 了:我用 Java 21 + Spring Boot 3 打造了一个企业级 RAG + 智能体工作流引擎(附架构与源码解析)
java·spring boot·后端
MetaLite17 小时前
Spring Cache只留注解-MetaLite如何二开缓存运行时
java·spring·缓存