当前位置: 首页 > 面试经验 >

慧策秋招Java一二面凉经

优质
小牛编辑
57浏览
2024-10-16

慧策秋招Java一二面凉经

一面:

1. 对JVM初步的理解

2. JVM内存模型

3. 代码的运行过程描述一下

  • 编译成字节码文件
  • 虚拟机二进制文件
  • 运行调动对应的操作系统

4. 说下了解集合类

只说了Collection:List和Set

Map也是集合类!!!

5. 用的比较多的? List。

6. subList方法有没有用过?(对List进行裁剪) 没用过

7. 如何对List数据进行删除?

答:遍历找到下标,出来通过下标删除。

那不就两遍循环了

答:遍历,判断,remove()方法

上手敲一下-----会报错!!!!

怎么解决:用迭代器去处理就不会有问题了

8. 你知道哪些MySQL方面的知识

开始吟唱八股……存储引擎,索引,ACID,隔离级别

一个人吟唱了11分钟

9. 功能已上线,比如说数据库cpu比较高,怎么去定位当中的问题呢

10. 定位到某条sql,怎么知道这条sql问题出在哪

答:explain:type,possible_key和key

还知道其它吗?

11. 一条sql扫描了100w条数据,除了建索引,还有什么方法?

提示:区分度大的前提:业务匹配 不用性别做索引

  • 1. 选用区分度大的列:如不选用性别,选择日期等等
  • 2. 避免使用select *
  • 3. 简化 WHERE 子句,避免使用复杂的计算或函数调用,尽量使用明确的值的范围
  • 4. 尽量使用inner join
  • 5. 分区表,按照某些条件(如日期)将不同表分区,减少查询的表
  • 6. 在不需要返回所有数据的情况下,使用limit和offset,返回部分数据

12. ACID事务实际使用

13. 事务失效的情况

14. 一个事务里的sql,另一条sql没有事务,是ACID里面的哪个

那能不能查到事务里面没有提交的数据?

不能,spring事务默认是数据库默认隔离级别,可重复读

如果我想让它查到呢?做法是不安全的 修改事务的默认隔离级别为读未提交

15. 手写sql

Order:oid,time ,uid

OrderDetail:oid,gid, num

Goods:gid,name

Select distinct name ,sum (num),

from order o

join orderdetail od on o.oid = od.oid

join goods g on od.gid = g.gid

where time between 7 and 8

and uid = 1

group by gid

16. 当前sql慢在哪个地方?换个问法,怎么让它加快,索引加哪?

建立一个time 和uid的联合索引。

二面:

MySQL拷打

1. 平常对SQL优化的了解

2. 知道的数据库索引有哪些

3. 索引合并和索引下推了解过吗 没有

4. 索引最左前缀匹配法则

5. 索引的优劣势

需要维护:数据库读写,读的效率高了,写的效率相对降低一些

6. 有无实际SQL优化经验

7. Join用的多吗

8. Join怎么提高查询性能?怎么建索引能够让查询效率最大呢

涉及到连接查询时建索引的一些基本规则

9. 1)不用联查怎么从两张表中拿到数据(自己前面挖的坑) in

简单点说就是:遍历a表集合取出b表数据

2)代码层面怎么处理?组装数据的流程?

两种方式:①循环遍历a,a中循环遍历b,挨个循环比较匹配b表数据则取出

②Map(key为主键,value为数据),将b中数据放入map中,a直接通过map去获取

3)分析两种做法的优缺点:

第一种复杂度高 第二种空间换时间 线程不安全,并发(跟这个没关系,不可能并发,除非用到jdk8的并行流)

10. JDK8的并行流了解吗

11. JDK相关的并发工具类了解吗?

12. 多线程有哪些类可以实现? 线程池了解哪些?

13. JDK8并行流底层Fork/Join和Future机制了解过吗

14. 对JVM的了解?垃圾回收器对哪个比较熟悉?

15. G1内存分布了解吗

16. Spring、SpringBoot挑点擅长的讲讲

吟唱两分钟

17. Spring启动干了哪些事情,比方说IOC,干了哪些事情到能提供给使用方去使用

18. Bean从创建到销毁的过程

19. 追问:BeanNameAware和ApplicationContextAware是在什么时候生效的

20. 更想听到整体的一个启动流程

面试官开始吟唱

Spring早期借助xml文件,现在借助注解,启动前的解析过程,需要对应的解析器做对应的处理,解析器最后生成标准的反参,反参里面将对应的bean解析成相应的一些元数据,涉及到类对应的元数据,方法对应的元数据,还有在BeanFactory里面的一个Map

21. 这个Map有关注过吗,用什么?HashMap可以吗?

面试官开始吟唱

读 :ApplicationContext getBean去获取

写 :项目启动过程中,串行做解析,创建beanDefinition往map中去放,会出现并发问题

所以底层用的是ConcurrentHashMap

22. Springcloud有了解吗

23. 有阅读过框架的源码吗

24. Redis了解吗?项目中的实际使用

25. Redis的分布式锁

26. 了解rabbitMQ外其它的消息队列吗

#慧策(掌上先机)##慧策{北京掌上先机}#
 类似资料: