Java开发5年,自以为很牛批,张口要了30K

**面试官:**还有别的吗?

**程序员:**还有一些流的操作,比如:Stream API它可以简化编程语义,显得更清晰,比如在做一个filter功能,就可以绑定数据把不符合要求的数据过滤掉,就在以前的话写一个for循环,看起来就没那么好理解…然后对于数据结构进行了一些优化,像ConcurrentHashMap,它底层实现改成了红黑树…

**面试官:**你刚刚说的都是一些优化,我问的是它新加的一些高级特性

**程序员:**再次尴尬一笑…

面试官:开口就要25K,我就用了2成功力,就把你问到怀疑人生?

**面试官:**你刚刚提到它的流式处理,那对比像foreach或者基本的for循环,它有没有在效率上进行优化,还是说它更慢了?你有去了解过吗?

**程序员:**额…没有

**面试官:**我看你说对并发编程有些了解,你能跟我讲一下Synchronized和Lock锁它的底层实现原理吗?

**程序员:**啊…Synchronized是一个语义级的支持,它在一个对象头里面,它有一个Mark Word的标记去记录它的锁,Lock显示锁是利用了它底层是一个AQS,它式一个双向链表的先进先出的一个队列,它只有当前持有锁的线程就是一个对头,然后它释放出来之后,就会利用一个自旋的操作,让下一个线程作为队头这样子

**面试官:**那它们两个分别是什么层面的呢,是jdk层面还是JVM层面,还是?

**程序员:**Synchronized是JVM层面的,Lock是jdk层面的

**面试官:**刚刚你说到了Synchronized,你有去了解过它锁方法、锁对象和锁代码块分别是怎么去实现的吗?

**程序员:**额…这个没有

**面试官:**那你了解Synchronized锁升级过程吗?

**程序员:**没有…

**面试官:**那刚刚提到了Lock,CAS你能给我简单的介绍一下吗?

**程序员:**CAS就是比较并交换

**面试官:**恩恩,提到这点就可以了,那你有在实际开发过程中有实际的一些应用吗?应用到乐观锁的一个过程

**程序员:**有的,就譬如,我在更新数据库的时候,如果一个数据库用的是乐观锁的话,我也用一个自旋的操作,就把他更新到成功为止

**面试官:**自旋的效率会不会很低?如果一直取不到这个锁的话,那可能会造成一些线程堵塞,或者在高并发场景下其他的会影响到很多效率,有考虑到这个问题吗?

**程序员:**也考虑到了…如果并发高的时候确实不太适用用自旋,这个时候更适合用悲观锁

**面试官:**那跟我聊一下线程池吧

**程序员:**线程池是…我还是先说一下它的工作流程,再变成先提交进来,它先进入核心吃里面,如果线程书大于coreSize,就会进入一个阻塞队列,阻塞队列满了后就会新建一些线程,进入最大的池里面;当线程数,连maxSize的超出了之后,它就会执行一个拒绝策略,JDK自带的拒绝策略有四种:一种是直接丢弃;一种是抛异常;一种是由调用者的线程执行;一种是丢弃阻塞队列里面等待时间最长的一个线程

**面试官:**我看你简历上还提到了熟练掌握JVM调优的知识,我能问一下你了解它调优的一些基本步骤吗?

**程序员:**啊…一口老血,调优的基本步骤…就譬如,我从…恩…我从OOM说起吧…如果生产上发生一个OOM异常,首先是要判断它是在堆里面发生的还是元空间里面,还有…它还有一种类型就是GC效率过低…吧啦吧啦

面试官:开口就要25K,我就用了2成功力,就把你问到怀疑人生?

注意:由于内容过多,避免影响到阅读体验,下面的面试环节我就不码字了,全以截图代替了!

面试官:开口就要25K,我就用了2成功力,就把你问到怀疑人生?

面试官:开口就要25K,我就用了2成功力,就把你问到怀疑人生?

面试官:开口就要25K,我就用了2成功力,就把你问到怀疑人生?

面试官:开口就要25K,我就用了2成功力,就把你问到怀疑人生?

**面试官:**我看你基本上都是待了一年就离职了,你能说一下你离职的原因吗?

程序员:

**面试官:**你对自己职业规划大概是什么样的?

**程序员:**往互联网金融行业走

**面试官:**你有什么想问我的?

先自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以扫码领取!

img

知其然不知其所以然,大厂常问面试技术如何复习?

1、热门面试题及答案大全

面试前做足功夫,让你面试成功率提升一截,这里一份热门350道一线互联网常问面试题及答案助你拿offer

2、多线程、高并发、缓存入门到实战项目pdf书籍

3、文中提到面试题答案整理

4、Java核心知识面试宝典

覆盖了JVM 、JAVA集合、JAVA多线程并发、JAVA基础、Spring原理、微服务、Netty与RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、Hbase、MongoDB 、Cassandra、设计模式、负载均衡、数据库、一致性算法 、JAVA算法、数据结构、算法、分布式缓存、Hadoop、Spark、Storm的大量技术点且讲解的非常深入


性算法 、JAVA算法、数据结构、算法、分布式缓存、Hadoop、Spark、Storm的大量技术点且讲解的非常深入**

[外链图片转存中…(img-6bnK5mwu-1711383646425)]

[外链图片转存中…(img-7YzkmTtm-1711383646425)]

[外链图片转存中…(img-pt0o2rmb-1711383646425)]
需要更多Java资料的小伙伴可以帮忙点赞+关注,点击传送门,即可免费领取!

  • 9
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值