如果在面试或与资深人事交流的过程中,你能有效合理地展示出本章所给出的一些知识点,那么对你的评价就会是“对数据库有深入了解”,甚至能加上“有设计数据表的经验”,即便你说有过3年商业项目数据库操作的经验,那么别人也能相信。

相反,如果一个工作经验满3年的程序员或许动手编程能力不差,但无法在交流沟通过程中证明这点,或者干脆不知道怎么证明,那么对他的评价往往可能是“数据库层面,有过商业项目的经验,但只会些基本的增删改查(顶多再加上会视图存储过程等技术),无法独立担当数据库方面的工作”。

下面列些数据库方面的常见面试问题,大家可以以此来衡量一下对本章知识点的掌握程度。

问题1,你有没有建表的经验?建表时你是否会遵循三范式?

设计数据表时,需要权衡数据冗余和连接代价,详细内容请参考2.1.3节你的描述。

问题2,你有过哪些数据库的优化经验?

大家可以说用过索引,具体的知识点可以参考2.3节。

问题3,请你叙述一下不应该建索引的场景。

问题4,like语句会不会走索引?

问题5,索引的结构是什么?建索引会有什么代价?我们应该如何权衡要不要建索引?

关于上述三个问题,代价可以参考2.3节的描述。

问题6,事务隔离级别有哪些级别?具体的脏读,幻读和不可重复读的含义是什么?

参考2.4.4节的描述。

问题7,Statement和PreparedStatement对象有什么差别?

大家可以围绕预处理和批处理这两个角度来回答。

以下我们再列些数据库方面比较高级的知识点,这些知识点需要靠项目经验来沉淀,一般高级程序员能知道,而初学者或初级程序员未必知道,大家可以在面试时,找合适的机会说出来,这样面试官一定会对你刮目相看。

知识点1,在数据库编程时,尽量用try…catch…finally的代码结构,同时在finally里放置释放数据库连接等资源的代码,因为如果我们不主动地关闭数据库连接,这部分所占用的内存是无法被垃圾回收器(GC)主动回收的。

知识点2,为了提升数据库操作的性能,我会用到PreparedStatement来进行批处理操作,但每批执行的SQL语句的数量不能太多,否则会把缓冲区撑爆,一般每批是500条左右。

知识点3,通过PreparedStatement的预处理机制,我们可以有效地防止SQL注入。

更多内容请阅读 java web轻量级开发面试教程

https://baike.baidu.com/item/Java%20Web%E8%BD%BB%E9%87%8F%E7%BA%A7%E5%BC%80%E5%8F%91%E9%9D%A2%E8%AF%95%E6%95%99%E7%A8%8B/22038502?fr=aladdin

Java web轻量级开发面试教程读书笔记:数据库方面,如何准备面试的更多相关文章

  1. java web轻量级开发面试教程读书笔记:建索引时我们需要权衡的因素

    场景一,数据表规模不大,就几千行,即使不建索引,查询语句的返回时间也不长,这时建索引的意义就不大.当然,若就几千行,索引所占的空间也不多,所以这种情况下,顶多属于"性价比"不高. ...

  2. 如何用比较快速的方法掌握Spring的核心——依赖注入,Java web轻量级开发面试教程 读书笔记

    我们知道,Java方面的高级程序员一定得掌握Spring的技能,其中包括Spring 依赖注入(IOC),面向切面(AOP),和数据库的整合(比如和Hibernate整合或声明式事务等)以及Sprin ...

  3. java web轻量级开发面试教程摘录,java web面试技巧汇总,如何准备Spring MVC方面的面试

    本内容摘自 java web轻量级开发面试教程 https://baike.baidu.com/item/Java%20Web%E8%BD%BB%E9%87%8F%E7%BA%A7%E5%BC%80% ...

  4. 面试时,当你有权提问时,别客气,这是个逆转的好机会(内容摘自Java Web轻量级开发面试教程)

    前些天,我在博客园里写了篇文章,如何在面试中介绍自己的项目经验,收获了2千多个点击,这无疑鼓舞了我继续分享的热情,今天我来分享另外一个面试中的甚至可以帮助大家逆转的技巧,本文来是从 java web轻 ...

  5. java web面试技巧,数据库面试,java web轻量级开发面试教程

    我最近看到一本比较好的讲java web方面面试的书,java web轻量级开发面试教程. 其中不仅用案例和视频讲述了Spring MVC,Hibernate, ORM等方面的技巧,而且还实际讲到了面 ...

  6. java web方面的面试问题,Spring MVC方面的面试问题,摘自java web轻量级开发面试教程

    本文摘自java web轻量级开发面试教程: https://baike.baidu.com/item/Java%20Web%E8%BD%BB%E9%87%8F%E7%BA%A7%E5%BC%80%E ...

  7. java web轻量级开发面试教程内容精粹:哪些简历得不到面试机会

    看到一本较好的实践性比较强的书,java web轻量级开发面试教程,里面的一些内容很有实践意义. 问题点 很难获得面试机会的原因 学历不符,比如要求是本科以上,但学历是大专 学历是硬指标,所以达不到学 ...

  8. java 面试,如何提升自己的实力,摘自 java web轻量级开发面试教程

    本内容摘自 java web轻量级开发面试教程 其中有一段讲述到了实习经验对找工作的帮助 1.2.2大学阶段的实习经验能帮到你 一般公司在筛选简历时,一个非常重要考察的要点是相关经验的工作年限,说一个 ...

  9. 面试技巧,如何通过索引说数据库优化能力,内容来自Java web轻量级开发面试教程

    上星期写了一个篇文章,数据库方面的面试技巧,如何从建表方面展示自己能力,承蒙管理员抬举,放入首页,也承蒙各位厚爱,两天内收获了将近770个点击,也一度进入48小时热榜. 为了感谢管理员和大家的支持,再 ...

随机推荐

  1. vue基础01

    事件 事件绑定 在vue中,事件绑定用v-on.v-on也可以用@click=""形式 实例1: <div class="container" id=&q ...

  2. 微信小程序简述

    最近在公司实习,经理要求做一个微信小程序,晚上闲时来写一下. 微信小程序问世没多久,但毋庸置疑的是在不久的将来,它可以替代掉很多的APP.个人认为它的优势在于占用资源少,可以做到即用即走,对于一些使用 ...

  3. ReactiveSwift源码解析(八) SignalProducer的代码的基本实现

    在前面几篇博客中我们详细的聊了ReactiveSwift中的Bag.Event.Observer以及Signal的使用方式和代码实现.那么在接下来的这几篇博客中,我们就依附于之前博客的基础上来聊一聊S ...

  4. Hadoop-2.7.2集群的搭建——集群学习日记

    前言 因为比赛的限制是使用Hadoop2.7.2,估在此文章下面的也是使用Hadoop2.7.2,具体下载地址为Hadoop2.7.2 开始的准备 目前在我的实验室上有三台Linux主机,因为需要参加 ...

  5. [noip 2015]运输计划 [LCA][树链剖分]

    用了luogu上的题目描述 题目背景 公元 2044 年,人类进入了宇宙纪元. 题目描述 L 国有 n 个星球,还有 n-1 条双向航道,每条航道建立在两个星球之间,这 n-1 条航道连通了 L 国的 ...

  6. 机器学习 —— 基础整理(三)生成式模型的非参数方法: Parzen窗估计、k近邻估计;k近邻分类器

    本文简述了以下内容: (一)生成式模型的非参数方法 (二)Parzen窗估计 (三)k近邻估计 (四)k近邻分类器(k-nearest neighbor,kNN) (一)非参数方法(Non-param ...

  7. struts2.0的工作原理?

    struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说 struts2是struts1和Webwork结合的产物. struts2 的工作原理 ...

  8. 不借助工具在浏览器中通过Web API执行Dynamics 365操作(Action)实例

    摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复262或者20170727可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...

  9. 为什么 1000 == 1000会返回false,100 == 100会返回true

    给你们看一段神奇的代码 /*对这段代码可以提供如下解释 * 判断两个对象是否相等的是看两个对象的引用是否相同 如果相同那么就返回true否则返回false * Integer会对-128~127之间的 ...

  10. 3624: [Apio2008]免费道路

    Description Input Output Sample Input 5 7 2 1 3 0 4 5 1 3 2 0 5 3 1 4 3 0 1 2 1 4 2 1 Sample Output ...