Java岗社招面试总结

项目相关

1.在项目中遇到的最大难点和挑战是什么?无论是技术上的,还是业务上的。

2.在项目中你收获最大的是什么?

3.工作中有遇到什么线上故障?


Java基础

1.HashMap、ConcurrentHashMap的实现原理

2.ThreadLocal的具体实现以及在项目中的应用场景

3.volatile关键字的作用,如何来保证可见性的? Java内存模型。

4.类加载机制。双亲委派机制的目的是什么如果没有双亲委派机制,只有一个类加载器,可不可以?

5.热部署问题,即如果一个类有一个小bug,如何来不使用打包部署这种比较重的方法来修这样一个bug

6.Java内存分区以及相应的垃圾回收算法

7.线程池原理


MySQL相关

1.使用的数据结构是什么?

2.为什么会选择B+树,而不是B树?

3.聚簇索引和非聚簇索引?

4.联合索引是如何来存储的?

5.like a% 这种会不会走索引,like %a 这种会不会走索引?

6.不等于 会不会走索引?

7.优化器在什么场景下选择的索引不是最佳的?优化器在选择索引时会考虑哪些因素?

8.一条select语句的整个执行过程是什么样的?

9.工作中一般的慢查询,都是因为什么原因引起的?如何来修复?

10.如果你是DBA,如何来找出相应的慢sql

11.MySQL的隔离级别,以及各个隔离级别有什么问题。

12.分库分表。


redis相关

1.redis的常用数据结构以及内部实现。

2.项目中使用redis的场景有哪些?

3.redis 如何来实现分布式锁。

4.实现分布式锁如果使用的是setNX命令,那么如果拿到锁的机器宕机了,其他服务不就拿不到锁了吗?

5.如何来设置过期时间?先set key value ,再设置过期时间吗?

6.redis是使用的集群吗?如果是集群,当客户端执行 setNX redis集群 如何做才认为set成功?一半集群set成功,就认为成功吗?还是全部set成功才认为成功?

7.redis缓存,如何来完成更新


Spring相关

1.Spring Bean加载过程

2.Spring 如何来解决循环依赖

3.BeanFactory、FactoryBean的区别和应用场景。

4.Spring ioc,aop


其他

1.rpc框架的原理。一次rpc调用过程是如何的?

2.如果服务的某一个节点异常挂掉了,注册中心是通过什么机制来将其摘除的?

3.负载均衡的算法有哪一些?随机、轮训、加权轮训?你会选择哪一种负载均衡算法?

4.如何来保证消息的有序、幂等?

#面经##社招##Java工程师#
全部评论
几年经验的
点赞 回复 分享
发布于 2022-01-20 23:57

相关推荐

09-15 16:18
已编辑
门头沟学院 Java
🕐面试时间:7.21、7.22、7.25、7.29;意向是9.4发的💻面试岗位:云原生后端开发工程师写在前面:- 为何我明明是Java的开发岗,但是滴滴我投的是Go的云原生开发,这个原因我在之前的时间线动态里有讲了。- 也因此,有一些八股问的是云原生K8s的,并不是传统Java开发的,不过有兴趣的uu也可以看下一面:总时长:40分钟,写题10分钟1. 算法题:两个goroutine交替输出1-100(这里我要把我的脑子从Java切换到Go,用goroutine写)2. K8s中讲讲CSI Driver的工作过程(如何注册、创建、挂载、卸载等)3. K8s中PV、PVC的生效过程4. 如果一个Pod正在使用某个PVC,此时可以修改让其使用一个新的PVC吗(这个答错了)5. K8s架构中各组件的原理6. 介绍一下实习中正在做的事情,背景,意义二面:总时长:30分钟,写题10分钟1. 算法题:LRU(依然用Go写)2. 讲讲K8s各组件的作用、原理3. 讲讲Service中的几种配置(ClusterIP、NodePort、LoadBalancer、ExternalName)4. Pod的生命周期三面:总时长:60分钟,写题20分钟左右1. 算法题:实现一个并发安全的环形无锁队列,允许先实现有锁的(后续在提示下用伪代码实现了CAS版本的无锁队列)。2. 算法题:给定一个数组,如何用最小的比较次数获得最大最小值?(例如n个元素,朴素遍历需要比较2n-2次,如何更少?)3. 实习拷打,介绍所做的事情,以及其中遇到的各种问题,锁的问题、同步的问题等,具体我都是怎么发现的问题并想出合适的解决办法的4. 对协程的理解,和线程有什么区别5. 未来规划,1-3年对职业的一个预期6. 希望在公司做什么,成为公司中怎样的一个角色,现在没有其他offer吗?(还问了句当前实习公司不留我么?)四面:总时长:50分钟,写题15分钟左右1. 算法题:有一个rand函数,生成1的概率是p,0的概率是1-p,那么如何用它生成一个rand2(),使得生成1和0的概率都是0.52. 目前实习的需求的背景,意义,详细展开讲一下3. 遇到了什么困难,如何解决的,同时对其中的一些解决方案(并发、锁、同步)等提出了疑惑,问为什么我要那么做4. 对毕业后所在的公司看重的点是什么,如薪酬、上升空间、所做的事5. base地倾向6. 后面的技术栈发展方向,更倾向Java还是Go,是业务开发还是云原生开发---整个秋招我投了云原生的只有滴滴、快手的一次kstar、小红书和B站,其他都还是回归业务后端开发了。投云原生还有一个原因是某些公司在某些base下只有云原生,并且可能竞争小。另外可以看到,我这里写题是用Go去写的,这其实背后是我用了双倍精力刷题既用Java又用Go去刷了,这样才能争取到这个机会。相信努力总是会有结果的
发面经攒人品
点赞 评论 收藏
分享
评论
点赞
39
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务