2024拼多多(Java岗)面经最新分享

总结

无论是哪家公司,都很重视高并发高可用的技术,重视基础,重视JVM。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。其实我写了这么多,只是我自己的总结,并不一定适用于所有人,相信经过一些面试,大家都会有这些感触。

最后我整理了一些面试真题资料,技术知识点剖析教程,还有和广大同仁一起交流学习共同进步,还有一些职业经验的分享。

面试了阿里,滴滴,网易,蚂蚁,最终有幸去了网易【面试题分享】

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

é¢è¯å®ï¼å¼å£è¦25Kï¼æå°±ç¨äº2æååï¼æä½ é®å°æç人çï¼Javaï¼

面试官:自我介绍一下吧

程序员:你好,我毕业于XXX,工作5年了,最近的工作主要是负责XXX(见以上背景介绍)

面试官:看到你写到熟练掌握Java语言的高级特性,简单介绍一下Bean SpringBean一个注入过程吧

程序员:Bean的注入过程…首先是从配置文件(注解)里面把它和对象…额,我对这方面还是不太熟悉

面试官:没事没事…我们接着往下聊

程序员:尴尬一笑

面试官:我看大你写到你了解一些高级特性,你能给我简单的介绍一下Java8有哪些新特性吗,或者你比较擅长的新特性有哪些?

程序员:Java8主要就是在语法上就是lambda表达式,它可以用函数式进行那个函数式编程,函数式接口的意思就是它这个接口它只有一个方法…

面试官:还有别的吗?

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

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

程序员:再次尴尬一笑…

é¢è¯å®ï¼å¼å£è¦25Kï¼æå°±ç¨äº2æååï¼æä½ é®å°æç人çï¼Javaï¼

面试官:你刚刚提到它的流式处理,那对比像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æååï¼æä½ é®å°æç人çï¼Javaï¼

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

é¢è¯å®ï¼å¼å£è¦25Kï¼æå°±ç¨äº2æååï¼æä½ é®å°æç人çï¼Javaï¼

é¢è¯å®ï¼å¼å£è¦25Kï¼æå°±ç¨äº2æååï¼æä½ é®å°æç人çï¼Javaï¼

é¢è¯å®ï¼å¼å£è¦25Kï¼æå°±ç¨äº2æååï¼æä½ é®å°æç人çï¼Javaï¼

é¢è¯å®ï¼å¼å£è¦25Kï¼æå°±ç¨äº2æååï¼æä½ é®å°æç人çï¼Javaï¼

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

程序员:…

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

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

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

程序员:问了一些之前没太懂的

面试总结:从这场面试官中可以看出,面试官没有深问,不然估计80%的内容都答不上来,基本上都是偏基础的东西,底层的内容没有怎么问,写了个Dubbo在简历上,面试官都没有问他Spring Cloud,Hystrix容器这些,连bus都可以问出一堆东西,一旦问了真的就只有尴尬了,问到怀疑人生。

如何备战面试

首先,像这位朋友一样,可以去投一些小公司的简历,去面试扫盲,看看哪些东西不会,欠缺哪些知识,然后回家做面试复盘。

针对自己简历做优化,不要搞得写了一个Dubbo,然后面试官稍微往深一点问你就答不出来了。简历上注意以下三点:

(1)注意区分:了解,熟悉,精通,不要乱写,面试官很多问题都是根据简历描述来进行的;

(2)专业知识和项目经验在精不在多,尤其是项目经验一定要写自己熟悉的且有内容可说的,不要认为写得越多越好;

总结

虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。

架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。

如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

够对你的职业发展有所帮助。

[外链图片转存中…(img-kiryoCIy-1715777635299)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值