小姐姐:怎么理解感情中的付出和回报?

你答:有这样一个故事,讲的是一个小男孩和一个小女孩,这个小男孩呢,用很多好玩石头,而这个小女孩呢,有好多好吃的糖果,有一天,他们相互约定:小男孩用所有的石头交互小女孩所有的糖果。到了交换的那一天,小女孩带上了所有的糖果,而小男孩自己偷偷留下了一些石头,就这样他们交换了。这天晚上啊,小女孩睡的特别踏实,而小男孩呢,总是睡不着,他总在想,小女孩是不是也留下了一些糖果呢?
感情呢,往往就是这样。但是:如果我们自己都没有真心实意的付出,那又怎么能去强求别人,揣测别人呢?
1 自我介绍(您好(人多就说大家好),很荣幸有机会参加此次面试,希望我今天能有好的表现,现在请允许我介绍一下自己:我叫变坏,今年18岁,毕业于牛客大学软件工程专业(或者说是牛客大学软件工程专业的应届生),在大学期间专业课学习了java这门编程语言,自己在网上也学习了一些相关的技术,在校期间自己也曾和同学使用java开发过一些项目,在学校也曾考取过相关的证书,获得过一些比赛的奖,大学期间还担任过课代表,由于毕业将近,本人决定踏上社会道路,因此在牛客平台看到贵公司的招聘,在此之前也曾在网上了解过贵公司(不要去问公司业务,网上都可以查的),巴拉巴拉吹一吹。从以上简单的自我介绍里,我希望公司能给我一个展示自己能力的机会)
2 触发器的作用(触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。)
3 存储过程优缺点(创建一次,多次使用。调用简单,可提供部程序调用。缺点:移植性差)
4 索引作用、优缺点、底层(优点:加速对数据的索引。缺点:降低数据库录入速度,占空间,后期维护等,B+树)
5 事务的特性、并发问题、隔离级别(ACID:A原子性、C一致性、I隔离性、D持久性。并发问题:脏读、不可重复读、幻读。 隔离级别:读未提交、读已提交、可重复读、串行化)
6 视图和游标(视图:是一种虚拟的表,具有和物理表相同的功能。游标:是对查询出来的结果集作为一个单元来有效的处理)
7 视图优缺点(优点:选择性的读取数据库、通过简单查询的得到一些原本需要复杂查询才能得到的结果、维护数据的独立性,试图可从多个表检索数据、对于相同的数据可产生不同的视图。缺点:查询视图时,必须把视图的查询转化成对基本表的查询)
8 数据库查询语句很慢,如何优化(索引、优化sql尽量不做全表查询、减少表关联、优化查询字段等等)
9 数据库三范式(1NF:确保每一列的原子性 2NF:非键字段必须依赖于键字段 3NF:在1NF基础上,除了主键以外的其它列都不传递依赖于主键列,或者说: 任何非主属性不依赖于其它非主属性

(在2NF基础上消除传递依赖))
10 union和union all有什么不同(union:合并去重、union all :只是合并,一般没有重复数据用union all 因为更快)

11 SQL语言共分为四大类(数据查询语言DQL:select /from/where,数据操纵语言DML:insert/update/delete,数据定义语言DDL:create/drop/truncate/alert,数据控制语言DCL:grant/rollback)
12 drop、delete、truncate区别(不带where的delete和truncate只删除表的数据,不会删除表的结构。速度drop> truncate > delete,delete是dml要等事务生效 、drop和truncate属于ddl理解生效)
13 数据库的乐观锁和悲观锁(乐观锁:假设不会发生并发冲突,只在提交操作时检查是否违反数据完整性。悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作)
14 mysql设置隔离级别(语句:set session transaction isolation level read uncommitted 可选参数:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE)
15 SQL约束(NOT NULL不为空、UNIQUE唯一、PRIMARY KEY主键、FOREIGN KEY外键、CHECK控制字段范围)
16 Mysql数据库引擎MyISAM和InnoDB(MyISAM:表锁、不支持事务、不支持外键、全文索引、快、内存利用低,InnoDB:行锁、外键、事务)
17 varchar和char(varchar可变长度、char长度固定)
18 数据库锁分类(按锁的粒度分:表锁、行锁、页级锁 。按锁的级别划分:共享锁、排他锁 。按加锁方式分:自动锁、显示锁。按操作划分:DML锁、DDL锁 。按使用方式分:悲观锁、乐观锁)
19 常用数据库默认隔离级别(mysql:可重复读 oracle:读已提交 SQLServer:读已提交)
20 Oracle高水位理解(Oracle段(segments)就像水库记录历史水位,一般不会下降,使用truncate命令可以置零)
21 内连接外连接区别(内:指连接结果仅包含符合连接条件的行,参与连接的两个表都应该符合连接条件 外:连接结果不仅包含符合连接条件的行同时也包含自身不符合条件的行。包括左外连接、右外连接和全外连接)
22 查询语句有like(尽量避免%XXX%,用不到索引,%在前面不能用到索引,如%ABC不能用索引,而ABC%能用索引 ps:这里感谢大佬@Apiao 大佬指出错误,已更正,万分感谢!)
23 mysql数据库优化(explain写的SQL、只要一行数据用limit 1、使用enum而不是varchar、固定长度的表会更快、分库分表)
24 oracle数据库优化(调整数据结构设计、调整操作系统参数、调整数据库sql语句、调整服务器内存分配、调整硬盘I/O)

祝早日get心仪offer

大量面试经验以及学习资料书籍请关注:AVAJ

回复"offer"进行获取

365篇大厂java面经 你想要的我这里都有

java后端开发面经 数据库相关的更多相关文章

  1. 各大公司java后端开发面试题

    各大公司Java后端开发面试题总结 ThreadLocal(线程变量副本)Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量.采用空间换时间,它用于线程间的数据隔离 ...

  2. 各大公司Java后端开发面试题总结

    ThreadLocal(线程变量副本)Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量.采用空间换时间,它用于线程间的数据隔离,为每一个使用该变量的线程提供一个副 ...

  3. 面试题:各大公司Java后端开发面试题总结 已看1 背1 有用 链接有必要看看

    ThreadLocal(线程变量副本)       --整理 Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量. 采用空间换时间,它用于线程间的数据隔离,为每一个 ...

  4. (最新)各大公司Java后端开发面试题总结

    ThreadLocal(线程变量副本) Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量. 采用空间换时间,它用于线程间的数据隔离,为每一个使用该变量的线程提供一 ...

  5. 最新阿里Java后端开发面试题100道(P6-P7)

    面试题 1.什么是字节码?采用字节码的好处是什么?2. Oracle JDK 和 OpenJDK 的对比?3.Arrays.sort 和 Collections.sort 实现原理和区别4.wait ...

  6. 用友java后端开发面经

    面的是深圳的友金锁 3月28号 早上十点 之前来学校宣讲加笔试(笔试做的很菜) 以为凉了,27号被捞起来了,现在看来面了也有点凉 视频面试 时间:19分钟左右 面试官人不错 1 自我介绍 2 自我介绍 ...

  7. J2EE进阶(十四)超详细的Java后台开发面试题之Spring IOC与AOP

    J2EE进阶(十四)超详细的Java后台开发面试题之Spring IOC与AOP 前言   搜狐畅游笔试题中有一道问答题涉及到回答谈谈对Spring IOC与AOP的理解.特将相关内容进行整理.    ...

  8. php开发面试题---数据库SQL调优的几种方式

    php开发面试题---数据库SQL调优的几种方式 一.总结 一句话总结: 创建索引:尽量避免使用or或者like,或者sql中的正则 存储查询中间结果 可以加sphinx搜索技术 查询优化 主从数据库 ...

  9. github后端开发面试题大集合(二)

    作者:小海胆链接:https://www.nowcoder.com/discuss/3615?type=0&order=0&pos=8&page=0来源:牛客网 7.非关系型数 ...

随机推荐

  1. 使用MyBatis在控制台动态打印执行的sql语句

    使用MyBatis进行数据库操作的时候,sql语句都是写在相应的mapper文件中,参数也是使用占位符取值表示的,mapper文件中看不到实时执行的完整sql,有时候sql语句错误或者参数类型不对的时 ...

  2. idea的安装与配置及基本用法

    Intellij IDEA 确实使用更加方便,由于目前只用到maven项目,所以此处只记录maven项目的配置. 一.配置idea前准备: 1.下载idea安装包.jdk安装包.maven安装包.gi ...

  3. android实现倒计时,最简单实现RecyclerView倒计时+SwipeRefreshLayout下拉刷新

    先上效果图: RecyclerView + SwipeRefreshLayout 实现倒计时效果 MainActivity.java package top.wintp.counttimedemo1; ...

  4. SQL server 2014使用导出数据为Excel

    1.打开SQL server 2014,连接至数据库引擎 2.在要导出的数据库上右击,选择"任务->导出数据" 3.数据源选择"SQL Server Native ...

  5. C#写进程守护程序

    最近写了好多次进程守护程序,今天在这里总结一下. 用到的知识点: 1.在程序中启动进程, 2.写Windows服务, 3.以及在Windows服务中启动带界面的程序 关于第三点的问题,我在我的上一篇博 ...

  6. typedef int a[10];怎么解释?

    typedef int a[10]; a b[10]; 为什么分配400个字节的空间? int a[10];为什么分配了40个字节的空间? 问题:应该怎么解释typedef的这种行为呢?而如果换成是# ...

  7. linux初学者-延迟及定时任务篇

    linux初学者-延迟及定时任务篇 在linux系统的学习工作中,南面会遇到需要延迟进行的任务和需要定时去完成的任务,就像手机的闹钟一样,这时候就需要用到linux系统当中的系统延迟和定时任务的设置了 ...

  8. Vue双向绑定原理及其实现

    在之前面试的时候被面试官问到是否了解Vue双向绑定的原理,其实自己之前看过双向绑定的原理,但也就是粗略的了解,但是没有深入.面试官当时让我手写一个原理,但是就蒙了

  9. 172. 阶乘后的零 Java解法

    https://leetcode-cn.com/problems/factorial-trailing-zeroes/ 172. 阶乘后的零 这题要完成其实要知道一个很巧妙的思想,就是阶乘里面,后面的 ...

  10. 《CSS3知识点》

    一.引入样式 1.行内样式表 <h1 style="color: red;font-size: 18px;">10-30</h1> 2.内部样式表(在hea ...