岳阳某小公司二面题目

一、自我介绍与项目经历

  1. 先介绍你最近做过的一些项目,或参与过的一些实习,做一个简单的自我介绍。重点讲一下其中你觉得做得比较深入或者印象比较深的部分。
  2. (针对第二段实习)可以具体讲一些吗?挑一个你印象比较深的功能开发的例子讲一下。
  3. 你刚才说这个数据的分表,具体来说是怎么做的?
  4. 你是按月去切分表是吧?
  5. 如果我查的数据涉及跨月的时候怎么办?
  6. 如果我要查的是十月二十八号到十一月五号这一段时间的数据呢,怎么办?
  7. 你的十月份数据和十一月份数据就在两个表里(确认理解)。
  8. 假设现在是一月份,我要查的数据时间范围是十一月二十八号到十二月五号,这个时候怎么查?
  9. 如果我现在要做一些展示和分页,比如把明细数据放到页面上,涉及跨月情况的数据,要告诉别人总共多少条,还要一页页分页,怎么办?
  10. 有可能你现在查的这一页并不需要查两个表——我指定了一个范围,数据在页面上可能有几十页,我翻到其中一页的时候怎么办?
  11. 后续还是要滚动去做每月数据的移入和原表删除,对吧?这部分移入和删除在数据库层面怎么执行?
  12. 这里边有没有考虑后续再做一些什么样的优化?

二、Java 基础
13. Java 里有一个很常用的集合框架,可以讲讲你对集合框架的了解吗?
14. 比如 List,我们常用有哪些 List,它们之间的差异是什么?
15. Set 呢?
16. (场景题)有一份本地文件,包含每个学生的名字、班级、英语/语文/数学三个科目成绩,数据量可能几万到几十万条。需要从这份数据里找出每个科目成绩前三名(后又说前十名)的学生信息。结合刚才讲到的 Java 集合框架,你会怎么设计实现这个需求?把详细步骤讲一下。
17. 数据读完之后存到了 List 里边,那要找三个科目的学生前十信息,这个怎么处理呢?
18. 讲一下 Java 里的多线程开发,做多线程开发有哪些常用的类或 API?
19. 刚才你提到线程池,用线程池做多线程开发时,通常容易遇到什么样的问题?怎么解决?
20. 加线程数会有什么样的风险或负面影响吗?
三、Spring / Spring Boot
21. 在 Spring Boot 框架下,处理请求通常会通过注解来声明类或方法,讲一些常用的注解以及它们的核心参数。
22. 以单体架构来说,接收请求参数一般有哪些注解可以用来接收?
23. Spring 容器里的 Bean 实例默认是单例还是多例?
24. 为什么默认用单例?
25. 这有什么样的好处吗?
26. 对于这些单例的 Bean 实例,我们在使用过程中有什么注意事项吗?
四、数据库
27. 有两张表:班级表(ID、班级名称),学生表(ID、学生名字、性别、所属班级 ID)。写一个 SQL,一次性统计出每个班级的学生人数。(要求说出完整 SQL)
28. 你这里统计人数用了 sum?(追问/纠正,应为 count)
29. 两个表做 join 的时候用什么 join?left 和 right 的区别是什么?
30. 在这个基础上进一步明确:找到人数最多的十个班级,这个 SQL 还可以怎么调整?
五、AI 应用
31. 做 AI 应用时,底层都是使用大模型提供的 API 来和大模型对话。直接调用大模型 API 对话,和使用一些 AI 工具(如 Claude Code 等)的对话形式,它们的差异是什么?
32. 那它为什么能够实现,比如我对话之后还能做一些任务呢?
33. 给到大模型的输入内容叫提示词,提示词分为系统提示词和用户提示词,这两种提示词的差异是什么?对应的业务场景是什么样的?

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论