Java核心技术及面试指南 JDBC部分的面试题总结以及答案

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

我们在本章的5.1.6部分讲过关于存储过程的知识点,这里大家可以去了解下存储过程的语法,不过大家更应当去了解存储过程的优缺点,然后向面试官说明用到(或不用)存储过程的原因。

第二需要确认候选人会基本的JDBC的操作,比如会创建连接,会通过Statement和PreparedStatement等对象执行增删改查等操作,会进行批处理操作等,也列些常见的问题。

5.5.4说下你在项目里用到JDBC里的哪些对象?

5.5.5 说下通过JDBC的对象得到select的结果的流程,或说下用JDBC的对象执行增删改操作的流程。

上述两个问题是为了确认候选人确实用过JDBC,关于这方面,建议大家找个合适机会说出如下比较资深的知识点:我在用JDBC时,一般会用try…catch…finally的结构,在finally从句里,我会关闭数据库对象,比如连接对象等,在catch从句里,我会做些针对性的操作,比如隔段时间重连或给出用户能看明白的提示,而不是简单地抛出异常了事。

5.5.6 Statement对象和PreparedStatement对象有什么差别?

通过PreparedStatement我们能执行批处理,而且通过PreparedStatement还能避免SQL注入。

5.5.7 在JDBC里如何进行批处理操作?在项目里一般批处理操作的数量一般是多少?

这方面的语法比较好描述,但请大家注意,每次批操作的数量不能太大,一般比如可以每1000条一处理。如果我们通过addBatch方法把太多的语句放入缓冲区,可能会把缓冲区撑爆掉,从而导致异常。

第三需要确认候选人掌握一些比较高级的技能,比如如何操作事务,是否有连接池的使用经验等,这方面常见的问题如下。

5.5.8 什么是事务?你有没有用到过事务?

大家可以去了解下事务的概念。也可以通过阅读本章了解下在JDBC里使用事务的方法。此外,如果大家在项目里还用到过Spring来管理事务,也请把这部分的知识点说出来。

5.5.9 你是否知道事务隔离级别?JDBC里事务隔离级别有哪些?

这里大家可以先说下脏读幻读和不可重复读的概念,再说在JDBC里如何通过相关的常量来设置事务隔离级别。

建议大家再说下不合理地设置事务隔离级别会给项目带来什么危害,比如会让一个事务等待过长时间从而导致锁表等严重情况,然后说下,比如你项目里是禁止脏读和幻读,那么在你项目里就需要实时监控数据库,以防止锁表等情况发生。

5.5.10 你是否知道连接池的概念?是否用过连接池?如果用过,用到的是哪种连接池?连接池的参数你是怎么设置的?

用连接池可以避免频繁创建和释放连接对象所带来的性能损耗。本章提到的是C3P0连接池,而且也提到了一些常见参数,对于这个问题大家可以结合你的项目,参考本章的知识点综合地整理出你的说辞。

第四方面是考察数据库优化方面的技能。

5.5.11 你在项目里有没有用过索引?用到的是哪种索引?

5.5.12 告诉我一种适合建索引的情况?或者告诉我在哪些场景下不适宜建索引?

5.5.13 当索引建好以后,请告诉我如何正确地使用索引,或者列举些不能用到索引的做法?  在我们的另外一本书《Java Web轻量级开发面试教程》的相关章节里,讲了这方面的问题,大家如果感兴趣的话,可以阅读相关内容。

5.5.14 这是个开放性的问题,说下你掌握的数据库优化方面的技能。

写在最后

作为一名即将求职的程序员,面对一个可能跟近些年非常不同的 2019 年,你的就业机会和风口会出现在哪里?在这种新环境下,工作应该选择大厂还是小公司?已有几年工作经验的老兵,又应该如何保持和提升自身竞争力,转被动为主动?

就目前大环境来看,跳槽成功的难度比往年高很多。一个明显的感受:今年的面试,无论一面还是二面,都很考验Java程序员的技术功底。

最近我整理了一份复习用的面试题及面试高频的考点题及技术点梳理成一份“Java经典面试问题(含答案解析).pdf和一份网上搜集的“Java程序员面试笔试真题库.pdf”(实际上比预期多花了不少精力),包含分布式架构、高可扩展、高性能、高并发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、Mycat、Netty、Kafka、Mysql、Zookeeper、Tomcat、Docker、Dubbo、Nginx等多个知识点高级进阶干货!

由于篇幅有限,为了方便大家观看,这里以图片的形式给大家展示部分的目录和答案截图!

Java经典面试问题(含答案解析)

阿里巴巴技术笔试心得

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
9324)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值