金三银四已经告一段落了,你是否还在寻找没有“996”的公司,或者你在面试上面摘了跟头?准备了体体面面的自我介绍,败在了技术深度上;又或者技术知识背得完完全全,却输在了面试技巧。
小编周围有些做架构师和做HR的好友,向他们了了解了一下一些近期面试的趣闻和规则,以下整理出十条心得供大家参考。
不做任何随便写份简历就出去面试,挂的概率高达90%以上,除非你特别牛。
同样的一个人,普通的简历和优化后的简历,面试官对你的定位和问的问题也是不一样的。
这个是我亲身体验,我之前拿着一份普通简历出去面试,面试官就只能把你当成一个普通的3年经验的来面,问一些特别基础的问题。就算你知道很多东西,但是面试官根本不问。
而优化后的简历,面试官一看这简历写的这么牛逼,先随便问几个问题,你都能回答不错。
然后,就直接开始问底层源码、架构设计等比较open的问题,这样对你的定位和档次一下就上去了。
对于你写在简历上的项目,一定要反复的梳理。对项目的业务边界、技术架构必须了然于胸,而且用到的技术都保证不能被问倒
基础的重要性我就不多说了,但是我想说的是,像集合、线程、volatile、锁、网络IO等这些,不要停留到网上博客的那种表面程度。
必须要深入到源码级别,这样才能突出,跟其他候选人拉开差距。
ACID、事物隔离级别以及原理、索引原理、常见分库分表姿势等
分代、回收算法、垃圾回收器搭配和对比优劣、线上问题排查、类加载等等。
这些东西,最低要求都要流畅的说出来,但是如果要和其他候选人拉开差距,还要突出亮点。
比如,我之前做过垃圾回收器的调优,从CMS换到G1。
我把CMS的分代、垃圾回收算法过程这些基本东西说完之后,然后说出CMS有两大缺点:一个是会产生内存碎片,另一个是会产生浮动垃圾。
然后就开始说为什么会产生这两大缺点?因为这两大缺点会怎么样?(导致RT升高);然后换成G1之后有啥优点?
接着再把那些原理喷一遍,调优之后性能上有多少多少的提升,这在面试官心中档次一下就上来了,跟其他候选人拉开了差距。
你使用过的框架都要做到了然于胸吧,Spring最基本的IOC、AOP、Spring事务一定得看过吧。
Mybatis、Tomcat常用的姿势要知道,Redis常见的部署方案、集群原理、持久化机制、5种数据类型对应的底层数据结构。
Reactor模型运转机制、常见的缓存问题解决方案。
Dubbo、ZooKeeper的使用姿势和基本原理要知道吧。如果你研究过这种RPC的源码,无论是Dubbo还是SpringCloud全家桶,那就更好了,直接说出来,碾压面试官,让面试官听你聊。
如果研究过大数据相关的框架那就更好了,绝对的加分项
比如,我深入研究过Kafka的底层机制,之前面试蚂蚁的时候,直接就问我Kafka的底层:
还有分布式锁常见的方案要知道、分布式事务常用的方案都要研究过吧。
比如:面试蚂蚁的时候,就问我TCC的机制,直接说出使用姿势,使用场景,使用TCC的优缺点
这个字节跳动面试问的多一点,不过这方面能多掌握点都是好的,不怕一万就怕万一。
最后还有一点,就是面试过程中一定一定要有自信,给面试官一种特别有底气,做什么事都没问题的感觉。
以上就是这段时间走来的一些经历感悟总结,希望对大家有一些作用!
对于现目前我这边也整理了适合1~5年程序员进阶的一些面试真题(含答案)还有些Java进阶必备知识架构资源以及一些阿里大牛精讲的视频资源,现免费分享给大家。希望对你们有点帮助。还有学习线路知识脑图。
需要的都可以加入Q群Java进阶之路:643459718,免费获取。