java面试技术栈怎么讲?哪些java技术栈面试常问?

想要进行java行业,首先就要学会java相关知识,之后通过企业面试才能胜java岗位,java是技术岗,所以在面试的时候问技术栈是很正常的,那java面试技术栈怎么讲?下面来我们就来给大家讲解一下。

Java技术栈有很多,在面试的时候如果被问到技术栈,我们可以从自己做过的项目出发,面试官这样主要就是想了解你的项目经验以及掌握java技术技能程度。

哪些java技术栈面试常问?

1.线程有哪些状态?

线程通常都有五种状态,创建、就绪、运行、阻塞和死亡。

创建状态。在生成线程对象,并没有调用该对象的start方法,这是线程处于创建状态。

就绪状态。当调用了线程对象的start方法之后,该线程就进入了就绪状态,但是此时线程调度程序还没有把该线程设置为当前线程,此时处于就绪状态。在线程运行之后,从等待或者睡眠中回来之后,也会处于就绪状态。

运行状态。线程调度程序将处于就绪状态的线程设置为当前线程,此时线程就进入了运行状态,开始运行run函数当中的代码。

阻塞状态。线程正在运行的时候,被暂停,通常是为了等待某个时间的发生(比如说某项资源就绪)之后再继续运行。sleep,suspend,wait等方法都可以导致线程阻塞。

死亡状态。如果一个线程的run方法执行结束或者调用stop方法后,该线程就会死亡。对于已经死亡的线程,无法再使用start方法令其进入就绪。

2.forward 和 redirect 的区别?

Forward和Redirect代表了两种请求转发方式:直接转发和间接转发。

直接转发方式(Forward),客户端和浏览器只发出一次请求,Servlet、HTML、JSP或其它信息资源,由第二个信息资源响应该请求,在请求对象request中,保存的对象对于每个信息资源是共享的。

间接转发方式(Redirect)实际是两次HTTP请求,服务器端在响应第一次请求的时候,让浏览器再向另外一个URL发出请求,从而达到转发的目的。

举个通俗的例子:

直接转发就相当于:“A找B借钱,B说没有,B去找C借,借到借不到都会把消息传递给A”;

间接转发就相当于:"A找B借钱,B说没有,让A去找C借"。

3.使用 kafka 集群需要注意什么?

集群的数量不是越多越好,最好不要超过 7 个,因为节点越多,消息复制需要的时间就越长,整个群组的吞吐量就越低。

集群数量最好是单数,因为超过一半故障集群就不能用了,设置为单数容错率更高。

4.redis 淘汰策略有哪些?

volatile-lru:从已设置过期时间的数据集(server. db[i]. expires)中挑选最近最少使用的数据淘汰。

volatile-ttl:从已设置过期时间的数据集(server. db[i]. expires)中挑选将要过期的数据淘汰。

volatile-random:从已设置过期时间的数据集(server. db[i]. expires)中任意选择数据淘汰。

allkeys-lru:从数据集(server. db[i]. dict)中挑选最近最少使用的数据淘汰。

allkeys-random:从数据集(server. db[i]. dict)中任意选择数据淘汰。

no-enviction(驱逐):禁止驱逐数据。

Java技术栈有很多,我们需要掌握java技术栈才能独立完成一个项目,另外在面试时候,我们可以多讲讲自己做项目的经验,好让面试官了解你掌握技术的程度,也可以帮助你顺利通过面试哦!最后大家如果想要了解更多Java面试题知识,敬请关注奇Q工具网。

推荐阅读:

java编程用什么软件?Java常见编程软件

java异常没有被catch捕捉到怎么回事?java异常如何处理?

sql语句如何删除表中一行数据?sql有哪些常用语句?