面试总结

基础篇:

1、1.7和1.8的HashMap实现区别总结(现在必问的了。。。)
2、HashMap为什么是线程不安全的?不安全的原因。
3、1.8之后的什么情况下,转化为红黑树。
4、java.util.concurrent下的类(这个我只用过 ConcurrentHashMap,就很尴尬)
5、string类的比较 (又是老一套)
6、java的反射有什么优势,平常怎么使用 (这个其实我是知道的,但是不知道怎么回答,平时也是用的)
7、 hashcode 和 equals(这个反正每次面试都有)
8、java的io,nio(说实话,平常都是用工具类,好多使用也都是概念)
9、map有几种遍历方式(这个我也是记一次被问到,我说了两种,不知道还有没有其他的)
10、jdk1.8 用法

进阶篇

1、jvm的相关(这个我感觉是面试的必备了,但是我说的都是我背的一些感念,太多底层算法的东西了,一直问下去,我也就凉凉了)

g1 和 cms 区别,吞吐量优先和响应优先的垃圾收集器选择。。。。。。

2、可以写出几种单例模式,还问了枚举写法是 饿汉还是懒汉? 。。。。。
3、java的双亲委派模型(这个我是理解的,都是按我的想法说的)
4、java的锁有几种(这个我就知道一些名词,都是临时看的概念,这一趴 我是跪了)
5、cap(这个我是知道的,又问了一个base理论 当时没回答出来,这个问题 我在3次面试遇到了)
6、cas (这个现在好像必问)
7、 用到的设计模式(这个我个人感觉 面试 准备几个模式,以防被问到)
9、mq了,这个里面问题太多了
1)多个mq ,比可避免的比较
2)消息队列,容易丢失队列数据如何处理(可靠性)
3)幂等性。
4)你们公司的应用场景,技术选型的依据是什么。
5)介绍一种你常用的mq。

这一块,没有办法,太多知识点了,但是总体 ,就是可靠性、幂等性上面说就行。
10、数据库方面(这也是没法跳过的)
1)数据库选型,这个问题 ,我一下这就蒙了, 我工作也有几年了,都用mysql, 面的这几个公司有用其他的 , 有人用过 PostgreSQL 这个吗
还是自己的知识面太小。
2) 接下来就是平常mysql 的优化 ,索引, 引擎这种了,
但是有个 explain ,问我这个的执行步骤,尴尬了 ,我也就平常在客户端使用,简单查看下,服务器端的步骤,真心不知道。
3)B+树的相关问题了 ,数据在叶子节点的好处。
11、必须是redis了,这个里面 问的有简单的有复杂的。
一般就是锁呗、数据备份 的两种模式的优缺点。公司的其他使用场景。
双写一致性问题。(说实话,平时公司用的都是分装好的)
12、es ,这个我无能为力,平时公司也就是用api调用,自己研究的也少,这个是我的短板。
13、其他的中间件,canal(多说点,加分项)
14、还有就是liunx,服务部署上(jenkins,docker,shell)的了。
这个没办法,虽然我们是程序猿,不是专业运维, 但是 市场要求我们是全才。
15、mysql的一张表最多可以存多少数据, 我是凉凉的
16、算法 (高级面试必备)
我也是无能为力,我这次问的是二分查找。

项目和其他问题篇

1、你们公司用的是什么技术框架(这一般是引导问题。。。,这样才能问项目的东西)
spingcloud +mysql
2、用过那些组件
注册中心、配置中心、链路追踪,、、、
3、如果同一个服务多个实例 都注册到注册中心了,但是有一个当机了,接口请求到了,会出现什么。
4、配置中心用什么
好像大家都用 阿波罗。。。。
5、springboot和Springmvc的区别,用cloud的必问。
6、spring的ioc aop ( 这个也是每次都问的)。
7、分布式必然问的 事物,解决办法
我一般都会说mq和定时补偿。
8、项目上遇到的问题的排查方法。
最近用了阿里的arthas,我就说了这个 ,还有cloud自己的监控 ,还有监控jvm等,
9、说一个你处理的疑难问题
这个我就说了 OOM 呗。
10、解决超卖的问题。
redis+mq
11、介绍一个你做过的项目
不要介绍自己不熟悉的,有坑。
12、开发习惯,(idea ,数据库客户端,jvm 调优的工具)
13、有带过人吗?
我确实也没做过项目经理,也能说,带过实习生,帮助过经验少的同事。
14、我说了自己平时学习,自己买服务器搭建博客,这样,起码证明是个爱学习的人。

当然不止这些问题,一时半会也想不起来了。总体而言,4/5年工作经验的,好像更注重项目层面了和技术的宽度方面了,liunx 必须要掌握一些。

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://www.fengpt.cn/archives/面试总结