面灵AI

正保 Java 面试:集合、字符串与 MySQL 分页

轮次
一面
base
石家庄
结果
一面通过,复面未通过
时间
2026-09
来源
牛客网

《面试题目》

  1. 能否介绍一下自己?
  2. Java 面向对象的三大特性是什么?
  3. 重载与重写有什么区别?
  4. 用过哪些 Java 集合,各有什么特点?
  5. 怎样从字符串中间截取一段字符?
  6. Java 中有哪些创建和执行多线程任务的方法?
  7. MySQL 怎样写分页查询?
  8. Redis 有哪些数据结构,你使用过哪些?
  9. CSS 和 JavaScript 分别负责什么,是否会使用 Vue?
  10. 上一段实习做了哪些事情?
  11. 使用过哪些辅助编程工具或 IDEA 插件?
  12. 对岗位还有什么想了解的?

《参考解析》

重载看参数,重写看继承关系

重载是在同一方法名下提供不同参数列表,不能只改返回类型。重写则由子类提供父类方法的实现,需要满足参数、返回类型和访问权限等规则。可以写一个构造多种查询条件的重载例子,再用父类引用调用子类方法说明动态分派。

截取字符串注意下标边界

substring(beginIndex, endIndex) 包含起始下标、不包含结束下标。输入下标需要满足范围要求。Java 字符串下标按 UTF-16 代码单元计数,处理表情等补充字符时,不能一概把一个下标当成一个完整可见字符。

分页先定义稳定顺序

ORDER BY id LIMIT 20 OFFSET 40 表示按 id 排序后跳过四十行、取二十行。没有稳定排序,连续翻页可能得到重复或遗漏的记录。数据量大且偏移量很深时,连续翻页可考虑使用上一页最后一个排序键作为游标,同时明确数据变化时的展示规则。

集合按需要的行为比较

List 关注顺序和重复元素,Set 关注去重,Map 关注键到值的映射。再结合实际用过的实现讨论随机访问、插入、排序和并发修改。举一个项目中的真实选择,比逐个背出集合类名称更容易说明理解程度。