更新时间:2022-12-19 11:11:08 来源:极悦 浏览821次
对于刚刚毕业的同学来说,在面临面试时最好是提前准备一些题目提前做好准备,因为企业对于Java相关的岗位面试者,最看重的就是专业知识与技术水平,所以,程序员们在准备去面试前提前做好准备,准是没错的,针对不同岗位,相关的面试题难度也是不一样的,今天小编针对中级工程师总结了一些常问到的题目,希望可以帮助到大家:
1.一条 sql 执行过长的时间,你如何优化,从哪些方面 ?
答:1、查看 sql 是否涉及多表的联表或者子查询,如果有,看是否能进行业务拆分,相关字段元余或者合并成临时表(业务和算法的优化)
2、涉及链表的查询,是否能进行分表查询,单表查询之后的结果进行字段整合
3、如果以上两种都不能操作,非要链表查询,那么考虑对相对应的查询条件做索引。加快查询速度4、针对数量大的表进行历史表分离《如交易流水表)
5、数据库主从分离,读写分离,降低读写针对同一表同时的压力,至于主从同步,MySQL 有自带的 binlog 实现 主从同步
2.HTTP 协议,GET和POST 的区别
答:1、GET 提交,请求的数据会附在 URL之后(就是把数据放置在 HTTP 协议头中),以?分制 URL和传输数据,多个参数用&连接。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64 加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的 XX为该符号以16 进制表示的ASCIl。POST 提交:把提交的数据放置在是 HTTP 包的包体中。上文示例中红色字体标明的就是实际的传输数据。因此,GET 提交的数据会在地址栏中显示出来,而 POST 提交,地址栏不会改变。
2、传输数据的大小:首先声明: HTTP 协议没有对传输的数据大小进行限制,HTTP 协议规范也没有对URL 长度进行限制。
3.锁机制有什么用?简述悲观锁和乐观锁机制
答:有些业务逻辑在执行过程中要求对数据进行排他性的访问,于是需要通过一些机制保证在此过程中数据被锁住不会被外界修改,这就是所谓的锁机制。
悲观锁,顾名思义悲观的认为在数据处理过程中极有可能存在修改数据的并发事务(包括本系统的其他事务或来自外部系统的事务),于是将处理的数据设置为锁定状态。悲观锁必须依赖数据库本身的销机制才能真正保证数据访问的排他性。
乐观锁,顾名思义,对并发事务持乐观态度(认为对数据的并发操作不会经常性的发生),通过更加宽松的销机制来解决由于悲观销排他性的数据访问对系统性能造成的严重影响。最常见的乐观锁是通过数据版本标识来实现的,读取数据时获得数据的版本号更新数据时将此版本号加 1,然后和数据库表对应记录的当前版本号进行比较,如果提交的数据版本号大于数据库中此记录的当前版本号则更新数据,否则认为是过期数据无法更新。
提示:使用乐观锁会增加了一个版本字段,很明显这需要额外的空间来存储这个版本字段,浪费了空间,但是乐观锁会让系统具有更好的并发性,这是对时间的节省。因此乐观锁也是典型的空间换时间的策略。
4.数据库的事务处理是什么?有哪些特性?
预览与源文档一致.下载高清无水印答:事务:是一系列的数据库操作,是数据库应用的基本逻辑单位。
事务性质: 原子性、隔离性、一致性、持久性。
5.说一下你对存储过程的理解 ?
答:存储过程:存储过程就是编译好了的一些 sl 语句。
1.存储过程因为当(.语句已经预编绎过了,因此运行的速度比较快人
2.可保证数据的安全性和完整性。通过存储过程可以使没有权限的用户在控制之下间接地存取数据库从而保证数据的安全。通过存储过程可以使相关的动作在一起发生,从而可以维护数据库的完整性。
3.可以降低网络的通信量。存储过程主要是在服务器上运行,减少对客户机的压力。
4:存储过程可以接受参数、输出参数、返回单个或多个结果集以及返回值。可以向程序返回错误原原创力文栏N5:存储过程可以包含程序流、逻以及对数据的查询。同时可以实体封装和隐藏了数据逻辑。
以上就是“Java中级工程师面试题必看题目”,你能回答上来吗?如果想要了解更多的相关内容,可以关注极悦Java官网。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习