40w年薪java工程师面试题及答案(第一面)

40w年薪java工程师面试题及答案(第一面)前言 一个朋友参加了 4 轮面试 3 轮技术 1 轮管理 最终也没谈下年包 40 万的工作 在广州要找到 40 万年薪的技术岗虽然比较难 但是也不是遥不可及 也分享一下他碰到的四轮面试题 如果准备充足相信你也砍下 40w 的 offer 四轮面试过程 第一轮 1

大家好,欢迎来到IT知识分享网。

前言:

一个朋友参加了4轮面试(3轮技术+1轮管理)最终也没谈下年包40万的工作,在广州要找到40万年薪的技术岗虽然比较难,但是也不是遥不可及,也分享一下他碰到的四轮面试题,如果准备充足相信你也砍下40w的offer:

四轮面试过程:

后述:

其实这位朋友跟我说,聊到第四轮感觉已经很接近了,开了40万的年包,与当前总额提升了差不多7w左右,其实相对来说也基本上是跳槽加薪20%左右的水平,可能最后一轮里面回答什么问题触碰到面试官的禁区了,所以在这里也告诫小伙伴们没到最后一刻千万别松懈,最近抽时间整理了第一面的一些题目答案,不能百分百准确,但是也是可以给大家一个大致参考方向。

一面答案:

一、自我介绍

java中一共有newFixedThreadPool,newSingleThreadExecutor,newCachedThreadPool,newScheduledThreadPool,
newSingleThreadScheduledExecutor,ForkJoin六种线程池。

由于在newFixedThreadPool,newSingleThreadExecutor,newCachedThreadPool,newScheduledThreadPool,
newSingleThreadScheduledExecutor五个都是基于底层都是ThreadPoolExecutor简单封装了来使用的,其实最好还是自己基于ThreadPoolExecutor来进行使用,避免使用的上层而不知道底层的使用方式,排查问题一步到位,所以通常建议都是使用ThreadPoolExecutor而尽可能少直接使用封装好的线程池。

ThreadPoolExecutor构造函数一共有:
corePoolSize:指定了线程池中的线程数量,它的数量决定了添加的任务是开辟新的线程去执行,还是放到workQueue任务队列中去;
maximumPoolSize:指定了线程池中的最大线程数量,这个参数会根据你使用的workQueue任务队列的类型,决定线程池会开辟的最大线程数量;
keepAliveTime:当线程池中空闲线程数量超过corePoolSize时,多余的线程会在多长时间内被销毁;
unit:keepAliveTime的单位
workQueue:任务队列,被添加到线程池中,但尚未被执行的任务;它一般分为直接提交队列、有界任务队列、无界任务队列、优先任务队列几种;
threadFactory:线程工厂,用于创建线程,一般用默认即可;
handler:拒绝策略;当任务太多来不及处理时,如何拒绝任务;
(1)任务队列,它一般分为直接提交队列(SynchronousQueue )、有界任务队列(ArrayBlockingQueue )、无界任务队列(LinkedBlockingQueue )、优先任务队列(PriorityBlockingQueue)
(2)拒绝策略,
1、AbortPolicy策略:该策略会直接抛出异常,阻止系统正常工作;
2、CallerRunsPolicy策略:如果线程池的线程数量达到上限,该策略会把任务队列中的任务放在调用者线程当中运行;
3、DiscardOledestPolicy策略:该策略会丢弃任务队列中最老的一个任务,也就是当前任务队列中最先被添加进去的,马上要被执行的那个任务,并尝试再次提交;
4、DiscardPolicy策略:该策略会默默丢弃无法处理的任务,不予任何处理。当然使用此策略,业务场景中需允许任务的丢失;
(3)ThreadPoolExecutor的扩展
扩展主要是围绕beforeExecute()、afterExecute()和terminated()三个接口实现的,
1、beforeExecute:线程池中任务运行前执行
2、afterExecute:线程池中任务运行完毕后执行
3、terminated:线程池退出后执行
通过这三个接口我们可以监控每个任务的开始和结束时间,或者其他一些功能
通常线程池的现成参数也有个大概规律,对Io密集型的线程池使用2n(cpu核心数)+1,对于计算型的采取n+1的设置方式,但是具体调整其实还是应该结合业务来尝试和调整。





















免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/186883.html

(0)
上一篇 2025-08-28 08:33
下一篇 2025-08-28 08:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信