我的朋友老K最近忙着跳槽面试,凭借5年Java开发经验,拿了几个小厂offer。不过因为薪资没涨多少,打算再面些大厂看看有没有更好的机会。
就在前几天,终于等来了阿里的P6岗面试邀约。结果首轮面试就被干趴下,老K惊呼:阿里P6,恐怖如斯!
小厂看不上,大厂又进不去。在所有公司都勒紧裤腰带过活的大背景下,3-5年Java程序员跳槽之路也更加艰难。那么老K这次是栽在哪儿了呢?
先送上3个G的Java学习资礼包,感兴趣的同学文末免费领取。
Java求职大礼包
礼包内容,拉到文末领取:
Java知识学习最全脑图
Java笔面试题&大厂面经
Java书籍/视频/网站推荐
一道源码题,干趴80%求职者
据老K说,面他的是一个P8,开场一道题是这样的:
“
问:Java 中操作字符串都有哪些类?它们之间有什么区别?
”
相信很多人会说:就这?
老K当时也觉得稳了,给出了自认为无懈可击的回答:
分别是String, StringBuffer, StringBuilder。
区别是String声明的是不可变的对象,每次操作必然产生一个新的对象。StringBuffer具备线程安全性,在使用场景上,并发必选StringBuffer,迭代必选StringBuilder,普通场景选String,避免中途不必要的类型转换开销。
实际面试官想听到的【更深入的】回答:
StringBuffer和StringBuilder都继承自抽象类AbstractStringBuilder!
另外,如果有对String的源码解读,那么再加分!
final 修饰—>不可变—>每次操作都会生成新的 String对象,对比StringBuffer和StringBuilder —>值可变、拼接字符串开销。
此时面试官微微一笑,祭出多线程大法,追问线程安全性。
机智如老K,之前早有准备,直接给出结论:StringBuffer具备线程安全性。
其实面试官更希望老K能从源码来分析:查源码,找synchronized、线程锁,判定StringBuffer具备线程安全性。
没看到满意的回答,于是面试官再追问:既然StringBuffer具备线程安全性,迭代开销又小,那我们实践中首选它就ok了吗?
。
。
。
这就是大厂的面试套路:
简单的话题引入 — 问题层层递进 — 再考察深挖背后的原理
目的就是考察候选人对源码的深挖意识——技术钻研和批判性思维。
越是看似简单的题目,越要小心,紧跟着的套路会更多。
对标阿里P6+的Java课
近期九章算法邀请阿里P8面试官杨逍老师开设了一门《Java 高级工程师P6+》,把这些年的面试经验总结传授给大家:
长按二维码抢剩余10个席位
阿里P8主讲
对标阿里P6+的Java就业课
杨逍老师有话说:
有人问我:“都年薪百万了,为啥还要去讲课?”
九章算法创始人&CEO是美国硅谷Facebook的工程师,我与他在技术上有很多的共鸣,也非常认同他想帮助更多程序员找到好工作的愿景,这是我们愉快开展合作的基石。
从事后端开发十余年,在阿里从P6熬到P8,我总结出来的 Java P6+ 岗技术面试有以下几个重点。
Java技术面试有四个重点:
源码考察
高可用架构的项目经验
大厂的程序员思维
面试反套路技巧(价值观+行为问题)
对于 Java P6+ 的面试准备,熟读并背诵以下源码基本够了:
JVM底层
Spring家族
ORM-Hibernate/Mybabit
线程池/数据库连接池
高可用接入:Netty
更多的面试考点和反套路技巧我会在11号(本周六)早上8点的直播中里和大家分享,想要与我勾搭或者获得内推的,可以扫码先占个坑。
《Java高级工程师P6+》
扫码免费报名观看首节直播
五分钟学算法独家免费福利
Java求职大礼包
▼加韦一笑微信▼
回复【五分钟007】
领取Java求职资料包!
福利领取截止日期:2020年7月30日23:59