2022届秋招Java后端企业面试真题汇总②
2022届秋招Java后端企业面试真题汇总①:https://www.nowcoder.com/discuss/817566
2022届秋招Java后端企业面试真题汇总③:https://www.nowcoder.com/discuss/818255
第1家:京东
1.介绍下的牛客社区项目?
2.系统通知是通知到哪里?
3.kafka的消费者是直接发送到前端页面,还是存在数据库中?
4.MySQL中存了哪些东西?
5.帖子的内容存在哪里,用什么数据类型存储的?
6.计算机网络的七层模型?
7.各层有哪些协议?
8.数据链路层的协议?
9.数据库MySQL的用了索引吗?
10.索引会失效吗?
11.Java中的异常有哪些?
12.数据库的隔离级别?
13.可重复读有什么问题吗?
14.幻读是什么?
15.JVM相关的?
16.常用的垃圾回收器有哪些?
17.如果应用偏大吞吐量的情况,应该选什么垃圾回收器?
18.JDK1.8默认的垃圾回收器是什么?
19.深拷贝和浅拷贝的区别?
20.Java中的泛型?
21.进程和线程之间的区别?
22.Java的线程是怎么实现的?
23.Java的线程和操作系统的线程之间的关系?
24.什么时候会用多线程,线程池?
25.异步任务失败了怎么办?(优惠券项目)
第2家:网易
网易1面:
1.TCP三次握手?2次握手不行吗?4次握手不行吗?
2.TCP四次挥手?3次挥手不行吗?
3.如果建立TCP连接后,客户端挂了怎么办?
4.服务端的ACk和FIN可以一起发给客户端吗?
5.TCP和UDP的区别?
6.TCP是如何保证可靠性?
7.cookie和session的区别?
8.递归调用有什么缺点?
9.进程和线程的区别?
10.线程私有的资源?线程共享的资源?
11.进程的通信方式?展开来说?
12.进程调度算法?
13.什么是协程?
14.死锁是什么?
15.怎么解决死锁?
16.了解哪些查找算法?
17.KMP算法?
18.字符串匹配?
19.数组和链表的区别?
20.项目介绍?
21.反问?
网易2面:
1.Java中的流,InputStream和OutputStream与ReadStream和WriteStream的区别?
2.synchronized作用于方法和作用于代码块的区别?
3.Java中的死锁?
4.编码:写一个死锁?
5.算法:判断一个数是否是回文数?(如果一个负数除了符号是回文的,这个数也算回文数),规定时间复杂度为O(log10N)。
6.如果让你设计一个歌单表,里面大概有哪些字段?
7.歌单表怎么和歌曲表关联?
8.怎么创建一个索引?
9.MySQL的索引?
10.反问?
第3家:阿里巴巴
1.介绍下牛客社区项目?
2.当用户量大时网站的并发量是很高的?你在网站设计中是怎么应对高并发场景。
3.如果是像“点赞”这种功能,“写的操作”较多,这种情况下怎么办?这个不能利用缓存了。
4.Redis中有丢失数据的风险,怎么解决呢?
5.持久化策略是怎么配置的呢?
6.RDB可能丢失一部分,如果要保证像点赞这样的数据不丢失,怎么办?
7.场景题:朋友圈功能,朋友圈中有一个列表。一个人有多个好友,每个好友发的帖子按照时间进行排序。每个人看到的朋友圈是不一样的。
一个实习生的方案:用SQL语句, 找出好友列表,再将发布的帖子按时间倒序排一下,这种方式在数据量小的时候可以,
数据量大的时候,性能较低,数据库的压力也变大。
如果这个功能让你优化一下该怎么办?
面试官自己说的一个方案:存储的时候先做好分库分表,用一个表存这个人能够看的朋友券,发帖的时候,有几个朋友就往每个人的表里插入一条记录。查的时候只查自己的这个表就行了。
8.热帖排行和网站数据统计是怎么做的?
9.帖子分数:这个是每次评论和每次点赞都更新一次分数吗?
10.定时任务是扫全库吗?每次时间到了就扫全库。
11.数据统计是怎么做的?
面试官说:统计DAU,比较好的做法还是打日志,专门有个服务去扫日志文件,用Linux很快的,这样对数据库也没啥压力。
12.Java中的设计模式?用过哪些?用来做什么?
13.死锁问题:在一个转账场景中,转账的时候,要保证资金的安全,如果A转账给B,先将A的账号先锁住扣钱,然后将B的账号锁住加钱,最后都释放掉,如果A和B相互转账,会不会发生死锁?怎么设计不会发生死锁。
14.比较好的办法是怎么按顺序?
(将id按照从小到大排序)
15.为什么MySQL中引擎为什么要用B+树而不用B树或红黑树?
第4家:京东方
1.未来规划
2.JDK1.8新特性?
3.Lambda表达式说一下?
4.SpringBoot用的版本?
5.SpringBoot新特性的东西?相比较Spring开发
6.Redis是怎么解决分布式session问题?
7.还可以用哪些方式解决分布式session问题?
8.放在数据库中可以解决分布式session吗?
9.操作Redis用的是RedisTemplate,还可以用啥?
10.将QPS提高20倍是怎么测出来的?
11.缓存有什么弊端?
12.MySQL用的是什么版本?
13.MySQL索引以及在开发中需要注意的点?
14.异步的方式在开发中需要注意在哪些点?
15.异步任务失败了怎么办?
16.SpringCloud组件哪些研究过,介绍一个了解个深的组件?
17.熔断的超时和Ribbon的超时怎么配置比较合适?
18.SpringBoot里的容器用的啥?是Tomcat吗?
19.怎么声明一个单例模式?
20.SpringBoot声明单例模式?
21.Spring事务是怎么实现的?
22.Spring两个特性是什么?
23.事务是什么?
第5家:用友
1.牛客社区项目介绍
2.登录功能是怎么实现的?
3.凭证存储在redis中,解决分布式session?
4.servlet、filter、controller、Interceptor是干什么的,之间是什么关系?当一个请求过来时,是怎么走的?
5.hashCode()和equals()关系?
6.为什么要有hashCode()这个方法?只要equals()方法不行吗?
7.项目密码在数据库存是明文还是密文?
8.MD5是用什么算法?
9.SpringCloud中服务A调用服务B的过程?
10.JVM内存模型?
11.如果现在程序中开了1000个线程,那JVM内存模型中的哪些区域会比较大?
12.编码:单例模式
13.双重校验单例模式中volatile有什么作用?
14.SQL:学生分班场景,table a (id,student_id,class_id)
①统计每个班分了多少人?
②根据每个班级的人数排序,人多的排在前面?
③在上面2的基础上统计出班级人数大于50人的?
15.线程池用的吗?
16.怎么创建线程池?
17.构造方法中哪几个参数比较重要?
第6家:大疆
1.介绍一下项目?项目中遇到过什么困难,怎么解决的?
2.登录功能是怎么去实现的?下次登录校验的过程?
3.SpringBoot中做权限的校验,怎么做权限的校验?
4.拦截器实现的原理?
5.AOP 底层实现?
6.GC过程?
7.如果系统出了问题,怎么解决?
8.如果让你设计让系统出问题自动通知,该怎么解决?
9.对未来的规划?
10.反问?
第7家:绿盟
1.有没有看过什么技术的官方文档?
2.Linux了解多少?
3.Linux怎么查看一个进程?
4.Linux netstat命令了解吗?
5.查看ip的命令?
6.装过Linux系统吗?装的是什么版本,用的什么虚拟机软件?VMware?
7.OSI七层模型?
8.TCP是哪一层?
9.TCP和UDP有什么区别?
10.TCP的三次握手知道吗?
11.HTTP和HTTPS的默认端口是多少?
12.SSH的默认端口是多少?
13.MySQL 设计表时一般要考虑哪些问题?
14.char和varchar有什么区别?
15.用到的索引有哪些?
16.联合索引?
17.多表之间的关联查询用什么?
18.like中%在前、在后和前后都有%这三种的区别?
19.ElasticSearch和Kafka在项目中是怎么用的?
20.Redis在项目中是怎么用的?
21.Redis的持久化方式?
22.Redis集群部署?
23.Java中知道哪些框架?这些框架之间有什么区别?
24.垃圾回收?
25.Java异常体系?Error和Exception有什么区别?
26.写代码:快速排序?
第8家:华为
1.项目难点?
2.数据统计是怎么做的?
3.访问量的统计怎么做?
4.redis在项目中怎么用的?
5.redis缓存雪崩,缓存击穿,缓存穿透是什么,怎么解决?
6.谈谈ArrayList、LinkedList、HashMap、HashSet的理解,以及应用场景?
7.volatile和synchronized的区别?
8.JVM性能调优的监控工具?
9.JVM内存模型?
10.垃圾收集器与内存分配策略?
11.垃圾收集算法?
12.MySQL几种常用的存储引擎区别?
13.数据库的隔离级别?
14.MySQL索引有什么优缺点?
15.什么时候索引会失效?
16.IOC和AOP?
17.SpringBoot常用的注解有哪些?
18.手撕代码:链表求和
18.反问?
第9家:酷家乐
1.算法:矩阵中的最小路径和?
2.校招准备哪一块准备的较好?
3.SpringBoot从源码的级别讲下?
比如:SPI、AutoWrire自动注入、拦截器是怎么生效的、Bean的生命周期
4.Bean的生命周期?
5.初始化和实例化有什么区别?
6.Bean在创建前 BeanPostProcessor 在哪个阶段初始化还是实例化?
7.Spring在写一些web程序,对所有的Controller的request全部加上一个参数?
8.Java中的集合?
9.Java实现阻塞队列怎么实现?
10.ArrayBlockingQueue?
11.ArrayBlockingQueue的核心方法?
12.ArrayBlockingQueue中插入有哪些方法?
13.ArrayBlockingQueue中add()、offer()、put()方法的区别?使用场景?
14.如果让你实现生产者消费者用ArrayBlockingQueue中add()、offer()、put()方法中哪种方法?(put()和take())
15.条件队列是什么?
16.Condition条件队列,进入源码讲一下?
17.条件队列是真实存在的吗?源码中哪里体现条件队列?
18.什么场景下Condition条件队列中添加Node节点?
19.什么场景下Condition条件队列中Node节点会有多个?(await()调用多次,多个生产者多个消费者就会出现这种情况)?
20.LinkedBlockingQueue和ArrayBlockingQueue的区别?
21.从源码中找出LinkedBlockingQueue和ArrayBlockingQueue的区别?
22.ArrayBlockingQueue中Node也有next,LinkedBlockingQueue中Node也有next,这两个有什么区别?
23.从源码中哪里可以看出ArrayBlockingQueue底层是数组实现?LinkedBlockingQueue中底层是链表实现?(enqueue方法中)
24.带着问题去分析、比较看源码?
25.还有其他掌握的比较好的?
26.MySQL联合索引?
27.场景:where b>4 and a =5; 怎么创建索引?
28.MySQL隔离级别?读已提交和可重复读的区别?
29.可重复读 和 读已提交?
30.在读已提交这种隔离级别下怎对做到不可重复读这种效果的,MySQL是怎么实现的?(ReadView)
31. 选一个亮点的知识点?
32.你怎么区别公平锁和非公平锁?
33.ReentrantLock中公平锁中有队列?队列在哪里?
第10家:斗鱼
1.Hadoop的核心的组件?
2.对大数据有哪些了解?
3.HDFS的设计的目标?为什么mapreduce中用到HDFS这种存储系统?
4.怎么保证可以用在廉价的机器上?
5.HBase中了解多少?用过吗?
6.实际使用的时候HBase中用过什么问题?
7.MapReduce的数据倾斜?
8.什么情况下会导致数据倾斜?
9.针对数据倾斜这个问题,怎么解决?
10.SpringCloud微服务的优势?
11.SpringCloud是使用什么通信协议构建的一个系统?
12.Eureka的服务注册和发现的过程?
13.每次调用都要从Eureka中查询吗?
14.牛客社区项目有哪些难点?
15.如果新加一个签到的功能怎么实现?说下实现思路?
16.如果使用BitMap实现,key是啥?value是啥?
17.MySQL索引说一下?
18.项目中有给每个字段加索引吗?
19.Redis的常见的数据结构?
20.Redis中Hash数据结构的具体实现?
21.Redis的过期策略?
22.Kafka的整体架构?
23.项目中使用kafka是怎么用的?
24.反问?
#高频知识点汇总##面试题目##阿里巴巴##网易##京东##大疆##用友##京东方#