深圳硅基仿生科技 Java开发 一面
#JAVA##JAVA面经##JAVA内推#
1. 反射机制是什么?反射机制的作用
思路 反射就是程序运行时,获取类的完整信息(构造、属性、方法)并操作。 作用:解耦、动态创建对象、调用私有方法/属性、框架底层核心。
回答示例 反射是 Java 在运行时动态获取类的完整结构(字段、方法、构造器),并能动态调用和修改的机制。 主要作用:动态创建对象、执行方法、修改私有属性,是 Spring、MyBatis 等框架的核心基础。
2. 如何用反射获取对象里面的属性的值?
思路
- 获取 Class 对象
- 获取 Field
- 设置可访问
- get(对象) 获取值
回答示例 先获取对象的 Class,再通过 getDeclaredField 获取属性,setAccessible(true) 打破封装,最后调用 field.get(obj) 获取属性值。
3. 如何用反射修改对象属性?直接修改字段要设置什么才不报错?
思路 必须设置:field.setAccessible(true) 否则私有字段会报权限异常。
回答示例 通过 field.set(obj, value) 修改值。 私有字段必须先调用 setAccessible(true) 取消访问检查,否则会报 IllegalAccessException 异常。
4. 异常处理如何使用?异常直接抛吗?项目中怎么处理?
思路 try-catch-finally + throws 项目:统一全局异常处理,自定义异常,返回标准格式。
回答示例 用 try-catch-finally 捕获处理,throws 向上抛出。 项目中不会直接抛给前端,而是使用 @RestControllerAdvice 全局异常处理器,捕获后包装成统一返回格式,给用户友好提示。
5. 异常会记录日志吗?日志丢了怎么办?怎么排查?
思路 必须打日志:error 级别,记录异常栈。 日志丢失:看服务器历史日志、ELK、排查磁盘、重启服务、复现现场。
回答示例 异常一定会用 log.error 记录堆栈信息。 如果日志丢失,去服务器日志目录查历史文件、看 ELK 日志系统,还可以通过接口返回信息、数据库状态、复现步骤来定位问题。
6. 集合包括哪几种?ArrayList 和 LinkedList 区别?LinkedList 怎么插入?
思路 Collection:List、Set、Queue List:ArrayList(数组,查询快)、LinkedList(链表,增删快) 插入:add(index, e)
回答示例 集合主要有 List、Set、Queue。 ArrayList 底层数组,查询快、插入删除慢;LinkedList 底层双向链表,插入删除快。 LinkedList 插入用 add(index, element) 即可。
7. 常用排序方法?冒泡排序流程?
思路 常用:快排、冒泡、选择、插入。 冒泡:两两比较,大的往后冒,每轮确定一个最大值。
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
本专栏在精不在多,内容分为八股文、大厂真实面经,面试通过后将offer和面试题私发给我,可退还专栏的收益部分费用。欢迎大家共建专栏

查看25道真题和解析