JAVA面经---2023秋招面经总结----(一)

JAVA面经—2023秋招面经总结----(一)

经纬恒润9.13一面(软件开发工程师)


1.自我介绍

2.介绍研究生期间在学校的项目

3.Mysql常用数据类型

MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。
数值型:INT、DOUBLE、FLOAT、DECIMAL
日期/时间:DATETIME、DATE、TIMESTAMP、TIME和YEAR。
字符串:CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。

4.Mysql索引了解吗?介绍一下

索引是一种数据结构。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。
索引的优点:
可以大大加快数据的检索速度。
索引的缺点:
时间方面:创建索引和维护索引要耗费时间,同时索引要动态的维护,会降低增/改/删的执行效率;
空间方面:索引需要占物理空间。
为什么用B+树作索引?
1)B+树的磁盘读写代价更低:B+树的内部节点并没有指向关键字具体信息的指针,因此其内部节点相对B(B-)树更小,如果把所有同一内部节点的关键字存放在同一盘块中,那么盘块所能容纳的关键字数量也越多,一次性读入内存的需要查找的关键字也就越多,相对IO读写次数就降低了。
2)B+树的数据都存储在叶子结点中,扫描数据库时,只需要扫一遍叶子结点即可,但是B树因为其分支结点同样存储着数据,我们要找到具体的数据,需要进行一次中序遍历按序来扫,所以B+树更加适合在区间查询的情况,所以通常B+树用于数据库索引。

5.Sychonised和lock锁的区别

1)synchronized 可以给类. 方法. 代码块加锁;而 lock 只能给代码块加锁。
2) synchronized 不需要手动获取锁和释放锁,使用简单,发生异常会自动释放锁,不会造成死锁;而 lock 需要自己加锁和释放锁,如果使用不当没有 unLock()去释放锁就会造成死锁。
3) 通过 Lock 可以知道有没有成功获取锁,而 synchronized 却无法办到。

6.线程池的工作原理

线程池做的工作主要是控制运行的线程数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数超过了最大数量超出数量的线程排队等候,等其他线程执行完毕,再从队列中取出任务来执行。

7.进程之间的通信方式有哪些

管道(半双工通信)、信号、信号量(计数器)、消息队列、共享内存(最快)、socket。

8.期望薪资多少

20k吧TAT~

你可能感兴趣的:(数据库,mysql,java)