25年11月广州华资软件 + Java开发 + 线上 + 一面 + 实习
#JAVA##JAVA面经##JAVA内推#
1. 学校是否允许实习?可以实习几个月?
思路
- 直接明确回答核心问题:是否允许、可实习时长。
- 补充加分信息:实习期间的时间投入(如全职)、能否配合公司考勤,体现稳定性。
回答示例
学校明确允许校外实习,我这边可以全职实习,预计能持续实习6个月以上,期间可以配合公司的考勤和工作安排,保证实习的稳定性。
2. 介绍你的项目
思路
- 适配实习场景:简化技术复杂度,突出个人动手实践、独立完成的模块,弱化团队协作(重点说自己做的)。
- 逻辑:项目背景→技术栈→自己负责的功能→遇到的问题+解决方式→实习相关的能力匹配(如编码、调试、数据库使用)。
回答示例
我做过一个基于SpringBoot+MySQL的学生成绩管理系统,主要用于学校院系的成绩录入和查询。我负责后端接口开发,包括成绩的增删改查、数据统计接口,还做了简单的SQL优化,比如给查询字段加索引提升速度。开发中遇到过查询慢的问题,通过分析SQL执行计划,优化了关联查询逻辑,最终把接口响应时间从500ms降到了100ms以内。这个项目让我熟练掌握了Java后端开发和MySQL的基础使用,和实习岗位的技术要求也比较匹配。
3. MySQL中的外连接和内连接
思路
- 内连接(INNER JOIN):只返回两表匹配的记录,核心是“交集”。
- 外连接:左外连接(LEFT JOIN)返回左表所有+右表匹配的;右外连接(RIGHT JOIN)返回右表所有+左表匹配的;核心是“包含单侧全部”。
- 举例说明,更易理解。
回答示例
内连接(INNER JOIN)只会返回两个表中满足连接条件的记录,相当于取两表的交集,比如查询学生表和成绩表中“有成绩的学生”,就用内连接。外连接分左外和右外:左外连接(LEFT JOIN)会返回左表的所有记录,即使右表没有匹配的也会显示,右表字段补NULL;右外连接(RIGHT JOIN)则相反,返回右表所有记录。比如查“所有学生的成绩(包括没成绩的学生)”,就用左外连接(学生表左连成绩表)。
4. SQL注入
思路
- 定义:恶意拼接SQL语句,篡改原有逻辑(如登录绕过、数据窃取)。
- 危害:数据泄露、删改数据、服务器权限被获取。
- 防护措施:预编译语句(PreparedStatement)、参数化查询、输入校验、最小权限原则。
回答示例
SQL注入是攻击者通过在输入框等位置输入恶意SQL片段,拼接进原有SQL语句中,篡改执行逻辑的攻击方式,比如登录时输入
' OR 1=1 --绕过验证。防护的核心是避免SQL语句直接拼接参数,项目中我会用PreparedStatement预编译语句,它会把SQL结构和参数分离,参数会被当作字符串处理,无法篡改逻辑;另外还会做输入合法性校验,限制特殊字符,同时给数据库账号配置最小权限,降低注入危害。
5. ThreadLocal的原理及在项目中的作用
思路
- 原理:线程本地存储,为每个线程创建独立的变量副本,线程间互不干扰;底层是ThreadLocalMap(线程的属性),key是ThreadLocal实例,value是变量副本。
- 项目作用:存储线程私有数据(如用户登录信息、请求上下文、数据库连接),避免参数传递繁琐,保证线程安全。
回答示例
ThreadLocal是线程本地变量,核心是为每个线程维护独立的变量副本,线程操作的都是自己的副本,不会互相干扰,底层依赖Thread类中的ThreadLocalMap实现。在项目中,我用它存储用户的登录token和用户信息,比如接口调用时,登录拦截器解析token后把用户信息存入ThreadLocal,后续业务层不用层层传递参数,直接获取即可;另外也用它管理数据库连接,保证每个线程使用独立的连接,避免多线程共享连接导致的事务问题。
6. 慢SQL如何定位?
思路
- 开启慢查询日志:配置
slow_query_log=ON,设置慢查询阈值(如long_query_time=1),记录耗时超阈值的SQL。- 工具分析:用explain分析SQL执行计划(看是否走索引、rows扫描行数);用show profile看SQL执行各阶段耗时;第三方工具(如pt-query-digest)分析慢日志。
- 定位步骤:先查慢日志找耗时SQL→explain分析执行计划→定位无索引、全表扫描、关联查询不当等问题。
回答示例
定位慢SQL主要分三步:首先开启MySQL的慢查询日志,设置耗时阈值(比如1秒),把执行时间超过阈值的SQL记录下来;然后用explain关键字分析这些慢SQL的执行计划,看是否走了索引、扫描行数多少、是否有临时表/文件排序;还可以用show profile查看SQL执行时CPU、IO等阶段的耗时,定位瓶颈。比如项目中我曾通过慢日志找到一条全表扫描的查询SQL,exp
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
本专栏在精不在多,内容分为八股文、大厂真实面经,面试通过后将offer和面试题私发给我,可退还专栏的收益部分费用。欢迎大家共建专栏
