面试辛酸泪

面试辛酸泪

阳春三月,我来了美丽的杭州,开始了我的面试旅途

面试Before

  • 看了String、HashMap和部分Integer源码
  • 看了JVM相关知识,以为面试很多问题都会本问到
  • 看了Spring AOP 和 Spring IOC
  • 自己做了个人博客网站,使用技术栈Spring Boot + MySQL + Redis + React
  • 以为自己的技术栈能够应对大部分的面试场景,但还是too young

面试ing...

  第一次面试,请你说说Spring AOP是什么?额,这个问题好答。Spring AOP是Spring面向切面编程思想,使用JDK代理和Cglib实现的动态代理实现....面试官:那请你再说说Spring 事务机制吧?好吧,这触摸到我的知识盲点了,自己没有看啊,工作中也几乎没有用到。那直接回答不知道吧。.....只能怪自己学艺不精,还是好好回去补补Spring 事务机制和事务隔离机制吧。第一次面试在hr的第二天等通知的话语中告一段落...好吧!其实是终结了。好了,第一次面试也暴露出自己看得不够深入,知识面不够广。Spring事务机制还是继续看,Spring源码也需要更加深入的了解。
  第二次面试,先有笔试题,印象最深刻的就是如何设计一个秒杀系统。这个由于当时并没有怎么看,所以没有做出来(后面自己有去看了)。但是可能是前面的做的题都过关了,所以还是进入到面试阶段。先是和面试官随便聊了聊Java基础知识,个人感觉基本上都答上来了。后面问到了MySQL调优的问题了,这个之前有看过简单的sql语句调优,所以当时就把自己了解到的都说了。后面也有陆续说道MySQL的锁机制、数据库的事务以及Redis的一些基本问题,这些自己都有专门看过,当时也是把自己知道的都全部说出来(这个肯定的嘛...)。聊得差不多了,然后又让我回去等通知?。第二天通知我说互联网领域经验不够!!!这真的是硬伤啊,好吧,那我只能继续努力了,同时要把这次面试感觉答得不够好的都再巩固巩固。
  ...
  期间经历了很多次面试,主要涉及到的点就是分布式的概念、分布式锁、分布式事务、缓存中间件、消息队列、Zookeeper、Kafka、Spring AOP、IOC、事务和事务隔离机制相关知识。如果要说到Spring的相关知识,我还能够回答上一些,能够和面试官说出一些相关原理、机制以及相关知识。但是如果涉及到分布式、缓存中间件以及消息队列,那我就真的是知识盲区了,之前在前公司的时候,并没有用过,平台很少QPS是完全不需要这些中间件的,毕竟如果资源不够,拿钱来凑嘛...好吧说了这么多些废话,还是说说重点吧。面试阶段,每次面试官说道这些知识点的时候,我都说我们生产上面没有用到这些知识,然后和面试官说其他懂的一些知识,让面试官知道自己在其他知识领域都有一定的了解。我自以为这样子会让面试官不在意这些,而着重关注我后面说的一些知识的重点,但是我错了,这种想法也导致我了后面的面试连连失利(当然我自己也会下来补一些相关的知识,但是并没有引起足够的重视)。面试官其实看重的就是我这些知识,他们想要一个能够在分布式开发、中间件开发上都有一定知识储备和经验的应聘人员,而我恰恰不是那个,这也让我在前期面试过程中十分被动。
  ...
  面试了一周,还是毫无收获,自己虽然在反思具体是怎么回事,但是还是没有把握住重点。看着和我一起的小伙伴,拿到了offer,心中十分羡慕。突然,觉得可以向小伙伴取取经。
  那么就直接如正题吧。对于面试,我本来就知识面不够广,项目经验十分匮乏。那么就需要挖深自己的知识深度,广度不够,深度来凑。就想说HashMap,你知道它是如何put的,那么你就还需要知道它是如何计算出来它的下标的,是如何resize的,Java8是为什么需要红黑树来代替链表。对于MySQL调优,你知道如何是通过建立合适的索引来优化查询效率的,那么你还需要知道它是如何实现索引的,为什么要使用B+树,使用B+树的好处是什么?B+树的结构是什么?复杂度是多少?...深度很重要,其实这对我们日常开发工作也有很大帮助,了解原理知识,可能很好的帮助我们优化代码,写出正确合适的代码。同时,不仅仅要深度,也需要一定的广度,在准备面试过程中,对于面试官问到的一些知识点,我们都需要下来了解并搞透彻,同时还需要扩散来看,这种就是扩散自己的知识广度。比如说,我们了解到分布式是什么?那么我们可以了解到为什么要用分布式?分布式可以用来做什么?分布式事务是什么?分布式事务有哪几种实现方式?分布式锁有几种实现方式?说到分布式锁,那么Redis是如何实现分布式锁的?Redis锁和Zk分布式锁有什么好处?...这些都需要自己扩散来看,同时也可以看看一些原理相关知识。如果面试官再问到,我们就可以用这些来回答面试官,让面试官理解你虽然没有这方面的开发经验,你其实也是有知识储备的。
  好吧,向朋友取了经,那么开始自己表演吧。和朋友取完经,看了两天相关知识点,当然剩下的就是实践了。
  按照艰难取的经,每场面试都把自己所看的知识点都给面试官说一通,然后几场面试下来,还是收到了几个公司的offer,感觉目前已经在上班了。

面试After

  面试完了,总结了一下自己面试以来的遇到的一些问题,然后...就开始浪了。当然了,还是写了这个博客。本来打算来了杭州就要去西湖玩一圈,但是,肯定要等了发工资再去呀...

  面试是一件考验人的经历,会考验你整个人的知识面和知识深度,如果不能再面试中如鱼得水,那就说明你的知识还没有达到预期的程度。那么,我该加油了。不管是之后的发展还是自身的兴趣,都要加油了,来了杭州,不能不加油了。Go! Go!?

  转载请说明出处

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://baozi.fun/2019/03/19/面试辛酸泪

Buy me a cup of coffee ☕.