JAVA初级开发
约 1459 字大约 5 分钟
JAVA初级开发
**岗位年限:**不限
**面试时间:**2024/8/20 10:00
**面试方式:**线下面试
面试问题:
序号 | 问题 | 解答 | 备注 |
---|---|---|---|
1 | 你在项目中都担任什么角色? | 基本都是开发工作,第一个项目中因为刚刚入职,所以就做了一些边缘模块不影响业务,在后面就逐渐开始接触业务了,在最近这个项目中是从需求分析一直跟到最后结束。 | |
2 | 集合都有哪些 | List Set Map | |
3 | 集合中有哪些是线程安全? | HashTable | |
4 | 什么是线程安全?线程安全有什么用? | 多线程同时操作一个数据时可能会导致某个线程还没操作结束就因为各种各样的原因从而使另一个线程抢占了资源,导致当前线程操作的数据出现了问题。为了保证数据在被多线程处理时不会受到其他线程影响。 | |
5 | 为什么要用到事务? | 因为事物具有一致性嘛,要么全成功要么全失败,所以在涉及多表或者复杂操作时,我们要应用事务来保证操作一致性。 | |
6 | spring中如何开启一个事务? | @Transactional注解 | |
7 | 怎么开启定时任务? | (没答出来,忘了)只说出来个@Enable什么什么 | |
8 | sql查询效率优化? | 建立索引,避免使用全表查询,把索引建立在合适的字段上 | |
9 | 怎么查看sql运行效率? | 在sql语句前加上explain可以查看sql的各种执行参数 | |
10 | 什么是存储过程? | (没答出来) | |
11 | mysql索引都有哪些? | 唯一索引,主键索引,(普通索引没答出来,忘了) | |
12 | mysql索引创建原则 | 建立在常用的字段上,尽量创建在数字类型字段上 | |
13 | mysql为什么不要创建太多索引 | 因为索引也是需要去维护的,如果你创建太多索引的话,在你进行增删操作后,需要更新大量索引,也会影响性能。 | |
14 | 什么是mysql视图 | 按我的理解就是将两个不同表的数据合并到一张表内显示出来 | |
15 | mybatisPlus中wrapper是否可以做一些复杂查询,如groupby等等,如果可以,说说怎么做? | 可以,不会。 | |
16 | 线程创建方式? | 上一个面试被提问的问题,我听到了。 | |
17 | 线程池有什么用? | 上一个面试被提问的问题,我听到了。 | |
18 | 项目中怎么用到的Redis? | 存储了一下登录成功后的token,登录时所需的验证码,以及基本配置 | |
19 | Redis和Mysql有什么区别? | 最简单的就是一个是非关系型数据库,一个是关系型数据库,其次就是redis是基于内存,他的效率会比mysql高很多,但空间没有mysql大 | |
20 | 前端:有两个div 如何控制这两个div重合时谁在上面 | overflow答错了,正确z-index | |
21 | 前端:字符串类型数据如何转换为json数据类型 | 没答出来 | |
22 | 深拷贝和浅拷贝区别? | 浅拷贝只能拷贝基本数据类型,而深拷贝可以拷贝基本数据类型以及引用数据类型。 | |
23 | 实现深拷贝有几种方式,展开说说? | 我常用的是序列化和反序列化来实现深拷贝 | |
24 | Spring中如何读取yml中的配置 | 没答出来 | |
25 | 有表结构相同的两张表,如何把一个表中数据复制到另外一张表?(使用sql语句实现) | 没答出来 | |
26 | 如果导入项目依赖时,下载项目依赖失败,怎么解决,官方依赖以及公司或本地依赖两种情况分别说说 | 如果是spring官网下载依赖出错可以采用国内镜像代理进行下载,如果是公司内部依赖下载出错就找同事拷一份。 | |
27 | list分为?它们有什么区别? | ArrayLIst和LinkedList | |
28 | 集合遍历的方式有哪几种,分别说说 | 普通for增强for和迭代器Iterator | |
29 | Spring Bean注入有哪几种方式,有什么区别 | @Autowire和@Resource,前者byType后者byName,来源也不同,前者是Spring框架中的,后者是java中的 | |
30 | mybatis如何获取插入后的对应记录的id/主键 | 上一个面试被提问的问题,我听到了。 | |
31 | 性别是否适合做索引?为什么?那么url链接呢?为什么? | 性别不适合做索引,因为重复数据太多,url也不太适合,因为太长 | |
32 | distinct和group by有什么区别,什么时候用distinct,什么时候用group by | 一个是去除重复数据,另一个是根据指定字段进行分组,当你不需要重复数据时使用distinct,而当你需要进行聚合数据处理例如求和,最大值,最小值这些时候,可以采用groupby来处理 | |
33 | 场景题:假设现在有1000个灯泡,而我有一个方法/接口可以一次性监控100个左右的灯泡状态,延迟是100ms左右,问,我该如何同时监测这1000个灯泡的亮灭状态?这些灯泡的数据我应该存储在哪里,数据库中还是?该如何在前端页面同时设置更新这1000个灯泡的状态? | ||
34 | mysql是怎么做的分页 | 通过limit来取指定需要的数据 | |
35 | Set在项目中有什么应用吗? | Set不是不能重复嘛,所以一般会为了保证指定数据唯一性而使用Set,我在项目中没有应用 |