本文作者:Frank杨逍, 阿里 P8高级技术专家, 10+年 Java 后端架构经验 , 面 试总计超过500+候选人。
在阿里做了很多年,从P6熬到了P8, 面了很多Java后端工程师,普遍问题是 :编程基础还ok,但就是很难在面试中发挥出来。这样下去招人要累死……故总结此文,希望能帮到想要求职 Java后端的兄弟。
Java技术面试有 四个重点 :
源码考察
高可用架构的项目经验
大厂的程序员思维
面试反套路技巧(价值观+行为问题)
近来Java后端岗位需求不下,各位兄弟简历投起来(or 找我内推~是的, 我的团队也严重缺人 )
来自Frank的见面礼
大厂面经
最新笔试面试题
企业文化介绍
礼包部分内容,长按发送 【Java后端】 即可领取
【基础&重要】
源码考察,考察个啥?
考察源码,排除【码农】。
因为 大厂从来不招只会写代码的【码农】 ,绝对不能停留在只会编程的层面。
怎么做?看我口型 : 穷根究底,多看源码!
源码数量多、理解难,用途迷。对于P6的面试准备, 熟读并背诵 以下源码基本够了:
JVM底层
Spring家族
ORM-Hibernate/Mybabit
线程池/数据库连接池
高可用接入:Netty
源码面试,真实还原:
“
问:Java 中操作字符串都有哪些类?它们之间有什么区别?
”
这题熟悉,稳了。
一般人认为的无懈可击回答:
分别是String, StringBuffer, StringBuilder。
区别是 String声明的是不可变的对象,每次操作必然产生一个新的对象。StringBuffer和StringBuilder都继承自抽象类AbstractStringBuilder。StringBuffer具备线程安全性,在使用场景上,并发必选StringBuffer,迭代必选StringBuilder,普通场景选String,避免中途不必要的类型转换开销。
回答完毕,打完收工 。
面试官内心OS:只掌握到这种程度?那随便再问两个问题就让回去等通知吧。
实际面试官想听到的【更深入的】回答 :
StringBuffer和StringBuilder都继承自抽象类AbstractStringBuilder!
然后追加解读:
final 修饰—>不可变—>每次操作都会生成新的 String对象,对比StringBuffer和StringBuilder —>值可变、拼接字符串开销。
此时面试官会 反手祭出多线程大法,追问线程安全性。
机智如你 (查源码,找synchronized、线程锁)得出结论:StringBuffer具备线程安全性。
面试官再 追问 :StringBuffer具备线程安全性,迭代开销又小,那我们实践中首选它就ok了吗?
。
。
。
这就是大厂的面试套路:
简单的话题引入 — 问题层层递进 — 再考察深挖背后的原理
目的即是 考察对源码的深挖意识——技术钻研与批判性思维。
阿里P8在九章算法开课啦
近期九章算法的CEO邀请我到他们平台开设了一门 《Java 高级工程师P6+小班课》 ,把我的这些经验总结传授给大家:
长按二维码抢剩余10个席位
有人问我:” 都年薪百万了,为啥还要去讲课? ”
九章算法CEO是美国硅谷Facebook的工程师,我与他在技术上有很多的共鸣,也非常认同他想帮助更多程序员找到好工作的愿景,这是我们愉快开展合作的基石。
【阿里P6面试必问】
高可用架构+业务对口的实践经验?
关键词: 业务对口、高可用架构、实践经验
兄弟们有没有觉得要呵呵。
经验这东西,有就是有,没有就是没有。强行加戏只会让面试官和你一起尴尬。
我正推进一个互联网项目,以万亿级用户为视角,业务场景比较丰富容易切对口。
所以如果实际工作环境中确实 缺乏海量数据与高并发场景磨炼,没什么拿得出手的项目经验 的话, 可以来我10号晚上8点的直播讲座。
我计划结合项目实例,带大家 手把手 的感受 如何站在大厂工程师的角度开发、升级架构。 对于 增加 高质量的 项目经验非常有帮助 。
感兴趣的同学,加入项目实际操作体验会更有加分。
【简单,但我不说你不知道的点】
要表现出大厂的程序员思维
是的,要时刻表现出大厂的程序员思维,这非常重要。
String.format("%0" + n + "d", 0).replace("0","非常重要")
(:point_up_2::point_up_2::point_up_2:重要到暂停左右滑动看代码)
区别于小厂“实现就好”的思维, 大厂程序员思维要求 在需求“实现”的同时,还要考虑面对动辄亿级的数据量。
所以回答任何面试问题的着眼点,要 重点突出解决方案和架构的 可扩展性、可用性、实时性 。
【临门一脚】
必须摸清的7个面试反套路技巧
阿里的HR和价值观文化想必大家都有所耳闻,技术面试过关斩将,结果折在HR这岂不是想死的心都有。尤其是应对 善于玩出各 种 新 花样 的阿里HR们。
举个:chestnut::
“
HR:如果拿到了offer,但是做了一段时间发现自己根本不合适这个职位,你会怎么办?
”
错误回答A: 直接辞职/找领导谈调岗
( 头铁的耿直boy...这么想也不能这么说啊兄弟)
错误回答B: 即使发现不合适,我也会坚持
(不能跳槽,那就努力表达出不惧挑战的样子会比较加分??)
正确答案:既不铁憨,也别鸡贼。要表现出“虽然遇到了暂时的困难,但我认可这个职位、公司和团队”,“我会更主动请教同事、主管,快速提升能力,尽快适应岗位需求”。
已经篇幅很长了……其余的反套路技巧我会在《Java高级工程师P6+小班课》里和大家分享,想要与我勾搭或者获得内推的,可以来这个课上撩我。
《Java高级工程师P6+小班课》
长按二维码抢占免费试听 席位
。
限时白嫖
还想看看我到底有没有料的,可以戳这里白嫖,先看下我的试讲视频:
白嫖按这里