耗时三个月,我整理了多家大厂的成功面经就此奉上,这波细不谈!

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
img

正文

bigo三面

==========

三面一上来其实还是问项目,扣细节,这一面是技术的终面了,可能是老板面,所以没有很多的技术上的难题,针对的还是个人思维方式,平时解决问题的想法和思路。

Redis集群的特性,分布式锁的设计?

这个一般也没什么好说的,该背书就背书,分布式锁也是老生常谈的问题了。

问了项目架构,项目难点

再次被扣细节,平时要理解深刻。

算法是二分法的一个变形题,也不算难

bigo面试总结

============

面试难度总体来说一般,都是在网上能看得到的问题,但是必须都要会,比较顺利的拿下offer。

腾讯面试

========

因为读者已经先拿了bigo的offer,接下来腾讯的面试也算是更有信心了,至少有一个offer打底。不过腾讯一面问的非常广泛,提问速度也很快,如果讲的明白的话,立刻就开始下一个问题… …

腾讯一面

========

HTTP/HTTPS,网络安全问题?

说了说他们的区别,Https通信的机制,证书、密钥保证安全一些东西。

volatile和synchronize的区别?

八股文,背!

JAVA内存模型?

JMM一套规则,工作内存、主内存,原子性、可见性、有序性,happens-before等等都说了。

Redis分布式锁?

这个挺简单的,大家都会的,另外还要说下和zookeeper实现方式的一些区别,实际应用的过程。

Innodb讲讲?

把知道的都说出来就好了,行锁啊,MVCC,外键,一致性读一些东西。

ZAB讲讲?

就说整个ZAB协议的过程,选举、发现、同步、广播的流程。

怎么分库分表?

这个其实还是需要点经验的,没有对应到数量级的项目的话可能还是靠背书了,参考我的分库分表文章。

怎么自己实现IOC?

如果自己看过实现,这个就比较简单。

用过哪些设计模式,讲讲?

举例一些常见的模式,平时怎么使用的说说就行了。

怎么判断一个链表是不是有环?

刷题就好了。

一面的内容非常多,后面Kafka,Redis,Zookeeper,ES,计算机网络都有被问到,有一些回答的不是很好,不过还是过了。

腾讯二面

========

这一面比上一面还是好一点吧,没有那么多问题,感觉上比一面还稍微容易一点,还有一些简单的问题有点回忆不上了,项目的问题,我已经很熟了。

自我介绍?

自我介绍要准备好,不要太长也不要太短,几句话说明自己的职业生涯的情况,重点的项目,用到的技能点概括进去就行。

深挖项目,问了下商品表的设计,项目有什么亮点,或者认为有什么缺陷,怎么改进,并发有多少等等?

还是项目,深挖,没什么好说的了。

ES讲了个遍,包括基础原理和优化?

又重新说了一遍。

分布式ID的生成方式?

还是老问题。

再次聊了下项目,还有分布式事务相关知识,保证数据一致性?

也是老生常谈题,面试必问。两阶段、三阶段提交,TCC方案,还有强一致性、最终一致性等等。

为什么要用框架做分布式,没有行不行?

这种开放性的问题,说自己的思路就行了。举例子说明比如Dubbo这种框架解决了什么问题,如服务治理、服务编排、降级等。

腾讯总结

========

腾讯的面试相比bigo更加全面,更多的考察的是中间件的原理和使用,还有就是分布式系统下的一些常规的解决方案,平时这些知识点都碰到过,但是要多总结。感觉下来,整体难度也是一般。

附赠快手

========

读者非常优秀,临到采访结束之际,还要附送我一轮快手面试,只能勉为其难收入囊中。

数据库连接不上了,怎么排查?

还是看思路的问题,思考比如网络是否正常,数据库服务是否正常、权限等因素。

双亲委派模型,有什么好处?

说下原理,好处说了下安全、避免重复加载之类。

ThreadLocal讲讲?

看过知道就能说上来。

一次接口调用,在日志文件里打印”kuaishou ”+耗时,比如“kuaishou 20ms”,“kuaishou 50ms”, “kuaishou 100ms”,有十万条,用linux的命令怎么查出来耗时最短的十条?

这个不知道,然后面试官还一直硬要我手写出来… …

安装了一个软件,怎么在linux找到他的路径?

我说了whereis。

怎么查看jvm里线程状态?

jstack进程ID就可以了。

CountDownLatch和CyclicBarrier有什么区别?

这个看过就知道了,具体可以看我的文章有写道。

jps -m ,jps -l 用过吗?

-m可以输出主函数的传参,-l可以输出完整包名。

讲一下Spring事务底层是怎么实现的?

这个问题也要看过源码,AOP动态代理实现。

言尽于此,完结

无论是一个初级的 coder,高级的程序员,还是顶级的系统架构师,应该都有深刻的领会到设计模式的重要性。

  • 第一,设计模式能让专业人之间交流方便,如下:

程序员A:这里我用了XXX设计模式

程序员B:那我大致了解你程序的设计思路了

  • 第二,易维护

项目经理:今天客户有这样一个需求…

程序员:明白了,这里我使用了XXX设计模式,所以改起来很快

  • 第三,设计模式是编程经验的总结

程序员A:B,你怎么想到要这样去构建你的代码

程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题

  • 第四,学习设计模式并不是必须的

程序员A:B,你这段代码使用的是XXX设计模式对吗?

程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的

image

从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!

image

搜集费时费力,能看到此处的都是真爱!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
是详细的解说了23种设计模式,整理的文件如下图一览无余!

[外链图片转存中…(img-2fa3cxdb-1713546867271)]

搜集费时费力,能看到此处的都是真爱!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-XyO4Nk4F-1713546867272)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值