新瑞谷科技Java后端开发实习一面面经
《面试题目》
- 自我介绍
- 上一份工作/实习的经历,同事平时使用什么 AI 工具,离职原因是什么
- Cursor 有什么特点?
- Cursor 有几种模式,分别叫什么?
- Java 循环语句有几种写法?break 和 continue 有什么区别?
- Java 方法的重载与重写有什么区别,分别怎么写?
- Java 继承相关关键字、权限修饰符有哪些?
- Spring 常用注解有哪些?启动类上常见的注解有哪些?
- SQL 中 union 和 union all 的区别?
- SQL 中 like 后面 % 和 _ 的作用区别?
- SQL 里字符串拼接怎么写?
《参考解析》
- break vs continue:break 直接终止整个循环,跳出循环体;continue 只结束当前这一轮循环,跳过本轮剩余代码,继续下一轮判断。
- 重载 vs 重写:重载(Overload)发生在同一个类中,方法名相同但参数列表(个数/类型/顺序)不同,属于编译期多态;重写(Override)发生在子类对父类方法的重新实现,方法签名必须一致,属于运行期动态绑定的多态。
- Spring 常用注解:启动类常见
@SpringBootApplication(组合了@Configuration、@EnableAutoConfiguration、@ComponentScan);此外常用的还有@Service、@Controller/@RestController、@Repository、@Autowired/@Resource(依赖注入)、@RequestMapping/@GetMapping等。 - union vs union all:union 会对多个结果集做去重和排序合并,需要额外的排序/去重开销;union all 直接把结果集拼接在一起,不去重也不排序,性能更好,能确定无重复数据时优先用 union all。
- like 通配符:
%匹配任意长度(包括 0 个)的字符;_只匹配单个字符。 - SQL 字符串拼接:MySQL 中常用
CONCAT(str1, str2, ...)拼接多个字符串;如果需要指定分隔符,可以用CONCAT_WS(separator, str1, str2, ...)。