放弃Offer之后,压力一天比一天打
好点的公司,除了技术追根问底,还对你平时代码实践问的很多。比如问你,redis缓存一般设置多大。问你项目内容的细节,业务流程。
集合、锁、Jvm、多线程高并发、微服务、NoSql、消息中间件、分布式事务更不用说,每次面试必问一遍。
想要通过面试,还是对知识追根究底,而不是仅仅停留在表面。
比如SpringBoot的基本特性:IOC和AOP,是什么?
你背了概念,对方会问,怎么实现的,你回答,对方会问,哪里用到了,原理是什么,动态代理有哪几种,区别在哪里。
你会启动线程,对方会问,哪几种启动线程的方式;你知道join来安排线程完成顺序,面试会问除了join还有呢?他是在考你会不会JUC。就算你知道JUC,他会问你JUC底层原理是什么,看过源码吗?(平安架构师组面试问过我)
Java的重点知识,必须要深入了解,要反复挖掘背后的原理,否则,无法通过好点的面试。
于是我一点一点的挖掘,做笔记。记性超级差的过,经过面试的压力后,瞬间记住线程池的所有参数,每个参数背后哪些类型。比如线程池有个参数是拒绝策略,默认的四种拒绝策略我全背下来了。
本质上就是模拟考,错题本,再考试。
而且尤其要注意的一点是,面试不像考试,有标准答案,面试只有成功或者失败。所以很多时候你以为你回答正确了,其实并没有,一定要对问的多的问题,再钻研,和别人讨论怎么回答更好。
除此之外,还需要面试之外的东西:
1.修改简历,把自己优点展示在前面,甚至可以考虑合并公司;
2.要等面试官说完你再说话,不要抢先,问什么答什么,不要过度发挥。
3.保持淡定从容,或者假装淡定,否则会看上去很菜。用随和的语气说,而不是背题目的语气说。
另外,等通知=面试失败,我面试了几十家,从来没有等通知然后面试通过,一直都是当场你能感觉到自己成功了,当天就能出结果。某次面试,hr说一个工作日日能出结果,结果5分钟直接出结果。因为我回答的接近满分。
如果非要量化的话,得回答85%的答案才大概率通过面试。
最后一星期,面试成功率100%了,
手上几个Offer,我最后选择了离家最近的中型甲方公司。
没有加班,7点不到下班。
上班前几天,朋友,一个老Java在搞分布式事务,我给他提出建议,如何实现分布式事务。
背面试题,不仅仅能够通过面试,自己的水平也真正的提高了,对技术背后原理的掌握,对技术类型以及作用。都有所了解。知道什么场景选择什么技术。可以说那几十个面试官都是我的老师,教会我怎么学习Java,哪些要多去关注。我有哪些不足之处。
上班第一天,项目运行不起来,我偷偷偷问朋友:什么是Maven?
然后被Maven坑了一整天,第二天还是没运行起来项目。。。
(具体的面试题总结,由于内容太多,我会在另外一个系列做总结,本系列我会继续聊刚开始上班遇到的Java坑)