这篇文章讲了一个很多人都感兴趣的话题,一个小公司的Java工程师和一个大公司的Java工程师出去应聘同一个职位,两者的竞争力有什么不同?以前的?了解了这件事情之后,相信很多中小公司的同学都能对自己的现状以及与大公司的差距有一个更加清晰的认识。这样才能更好地规划自己的职业发展路线,更好地一步步缩小差距。1.从一个求职案例介绍下面是一个很真实的案例,是一个大厂的工程师和一个小公司的工程师同时应聘独角兽公司职位的经历。其中一位同学,本科211/985,出身互联网大公司,有四五年工作经验。技术积累非常扎实,参与开发的系统已经支撑了数亿用户,具有真正的高并发体验。虽然他没有领导那个系统的设计,但他只是一个高级工程师,和几个弟弟一起负责设计和开发几个子系统。但在这个过程中,他观察了大型工厂中的大型系统,如何规划、设计、构建和演进,如何依靠各种技术解决高在线挑战。另一位同学,二等学历,也有五年左右的工作经验,但一直在一家小公司工作。通常,我比较容易学。学了一些技术后,对各种东西都或多或少有所了解。小公司出来的工程师,整体技术还是比较好的。于是,这两个人就去了一家估值上亿的独角兽公司,一边面试一边应聘。猜猜发生了什么?同样的年龄,两个人的面试结果却大相径庭。第一个学员成功拿下独角兽技术专家职位和大额股票期权,能够独立带队;第二个学生连offer都没拿到,连高级工程师都不愿意给。位置。所以本文从几个方面来分析这两个不同的学生,他们之间的差距在哪里。2、学历差距:面试官的第一印象就是面试官在看你的简历和面试的时候,对你有两个第一印象:一个是学历,一个是公司背景。面试官对你的第一印象。比如上面提到的两个学生,第一个学生虽然是本科学历,但至少是名校的211/985本科学历,而第二个学生则是名不见经传的普通大二学生。很多人可能认为学历是假的,关键是能力。我部分同意这一点。的确,有时候我们看到,一个受过高等教育的人,无论是技术能力、学习能力,还是性格和态度,都远远不如一个大学学历的人。但是,也有很多情况,高学历的学生技术基础更好,学习能力更强,更聪明,体力和潜能也远远好于普通学历的学生。因此,这种教育不能一概而论。不能说学历高的学生就一定好,学历低的学生就一定差。要知道,有学历高的学生各方面都不好,学历低的学生也有各方面都极好的优秀的。所以,我的观点一直是不能单靠学历。我们招人的时候,一般要求名校的学士/硕士。但在特殊情况下,普通教育的学生将有机会证明自己优秀的潜力和能力,也可以破格录用。但是这里有一个关键点,就是从我们以往的经验来看,高学历的学生为了考上名校,往往付出了很多的努力。所以他的学习能力和潜力可能往往更好。至于一个普通学历的学生,当他考上普通大学的时候,可能是成绩不好,但很多时候,确实是他的学习能力没有达到那种程度。所以,如果你拿到两份简历,一份简历是211/985名校的本科生,一份是名不见经传的二年级名校,那么作为面试官,你的第一印象其实会下意识的认为这个211/名牌大学的985本科生应该有更好的学术能力和潜力,他们心中会有更多的期待和认可。然后在面试的时候,面试官内心的个人情绪其实对名校的学生更容易接受。至于受过普通教育的学生,可能没有期望,也没有负面情绪。他们只是在采访时以普通的情感对待他们。那么大家想一想,是不是学历的差距让面试官在面试前就另眼相看了呢?这是教育对面试结果产生第一影响的地方。另外,你可以想象。假设两个人的技术水平和项目能力一样,但是岗位需求有限,只有一个坑,你觉得会招谁?想都不敢想,肯定是211/985学历的同学!这就是学历的优势。如果你假设面试结果在其他方面都差不多,你可能还是会因为学历问题被竞争对手排挤,进而失去offer。其他人因为学历高,可以获得更多的offer机会。.3、公司背景的差距:除了学历,给人的第一印象就是公司背景。这个其实很简单,不用我多说,大家都懂的。虽然很多大公司的学生能力平平,技术差,但小公司的学生也有很强的技术能力。但还是那句话,大多数情况下,大厂的学生,技术水平都比较好,这是有保障的。而小公司的同学,很多时候技术水平一般,没有做过有挑战性的技术项目。总的来说,他们比较普通。所以,从面试官的角度来说,如果你是知名大公司的,一开始他们一般会对你有好感。大家都愿意找知名公司的人加入,对方的技术和经验都有保障。但是如果你是小公司的,面试官对你是不会有任何感情的。他不知道你怎么样。一切还是要看面试情况。同样,我们再假设一下:如果两个人的学历相似,技术能力相似,项目经历相似,但一个是大厂的,一个是小公司的,你会选谁?当然,大厂的同学会优先加入团队。他们毕竟是大厂出身,对大厂的一些技术体系了解得更多,眼界也更开阔。即便是这一点,他们也会让他们进来。4.技术差距:缺乏承担上述的硬核能力,然后以上两位同学开始了多轮面试。第一个学生的情况前面已经讲过,平时很注重技术积累,经常学习各种技术。而且,该同学喜欢探索各种开源技术的源代码,喜欢研究各种场景下技术挑战的解决方案。他做了很多技术笔记,因此在Java领域的完整技术栈积累很深。同时,由于系统是在大厂开发的,在各种技术挑战下,有足够的机会在项目中实践和实施各种技术。比如缓存技术,真正用来抵抗每秒几万个并发读请求,或者抵抗亿级数据量的基于分库分表的存储和查询。既然如此,面试的结果自然是显而易见的。面试官肯定会从并发编程、缓存、JVM、MQ、分布式、微服务、分库分表、NoSQL、高并发等各个环节展开一系列深入的提问,从一些基本原理出发各种技术,到项目中他是如何实现各种组合业务的,平时遇到的坑是怎么解决的,然后深入到一些技术的底层源码层面。这位同学回答的很好,基本上可以完全hold住面试官的各种问题。但是第二个学生就差多了。基本上在面试的过程中,面试官确实发现这个人对各种技术都有一定的了解,比如JUC、RocketMQ、Kafka、Dubbo。、Redis等技术,或多或少都知道一些。但是,如果深层次的问,比如RocketMQ在项目中是如何使用的?为什么要使用它?不需要,好吗?能抵抗多少并发?他无法回答这些问题。为什么?因为在一些小公司,MQ的使用可能非常简单,甚至用处不大,所以他没有太多的实践经验。他只是在业余时间学习了一些基本的用法和原理。然后再深入一点,问能不能说说源码之类的,然后说不出来,因为他没有能力去精读一个开源技术的源码。所以在面试官眼里,第一位同学技术广度足够,技术深度扎实,实践经验丰富。第二位同学,技术广度差强人意,他还是会一点,但是技术深度几乎没有,实践经验几乎很少。很明显,第一个学生的技术能力要比第二个学生高很多。这就是两个人的硬核技术能力的差距,会直接影响面试官在面试时的考察。5、架构能力的差距面试过程中除了硬核技术能力外,很重要的是要体现出不同人的水平和水平,还有架构设计能力的差距。面试官会深入考察你在一个项目中扮演什么角色。首先,你会发现你的整个大系统有多大,你在里面负责什么事情,你有没有把人带进来,你用人干什么。然后你会仔细考察自己设计系统的能力,什么样的业务场景,业务有多复杂,技术挑战有多高。那么你如何从整体上规划和设计你的系统,你如何将子系统和任务分配给你带的一个团队,如何控制一个团队来推动一个大系统的开发。此外,面试官还会问一些你没有经历过的系统设计问题,看你能否在短时间内设计出一个陌生背景下的系统原型,并适应情况。通过这些,你可以看出你在设计系统的时候对每一点的考虑是否合理,你能不能从整体上控制一个系统,你能控制多大的系统。这类题可以完美的分辨出一个人的能力。是否达到了技术专家的水平,可以带领团队负责一个大系统?或者你能不能只带一两个小辈做高级工程师,负责一个大系统中的一两个子系统?通过这一系列对架构能力的拷问,才能分辨出来。所以第一个同学,他带了几个小弟,算是一个小团队,负责几个子系统。他可以很好地讲述他负责的业务场景。比如用户数,并发量,数据量,请求量,技术挑战,技术复杂度,一个大系统如何规划设计,如何给小弟分配任务,如何把控一个大系统的不断进步和演化。他可以说所有这些话。第二个同学就差多了。在一个小公司,他最多带一个弟弟负责某个子系统的开发。他从来没有独立控制过一个大系统,他做的系统也不算大。技术上的挑战,最终的系统架构也很简单,没有太多的技术挑战。所以在这里,体现和区分了两个人的能力差距。6、面试结果分析最后综合以上几点,不考虑其他因素,比如软素质(沟通能力、表达能力、团队合作能力等)。就以上几块的分析,大家可以看看。第一个学生受过更好的教育,有更好的潜力,技术过硬,可以领导团队,并且在大型工厂控制过具有技术挑战的大型系统。所以,对于一家独角兽公司来说,在招聘技术专家的时候,会选择这个学生来offer,因为他来了,可以带领一个团队去抗一个完整的系统,各种架构设计,团队管理,技术能力都可以。握住。但是二同学学历普通,潜力一般,技术平平,没有太大的亮点,也没有很好的架构能力和经验,一直在各个小公司工作。最后综合考虑,甚至可以招一个大厂的同学,有两三年经验到独角兽公司的团队给高级工程师offer,而不是小公司的工程师,有四年还是五年的经验,所以最后这位同学连独角兽公司的offer都没拿到。相信看完这篇文章,你应该能从各个层面了解到自己的一些不足和差距,以及为什么小公司的同学在求职时屡屡受挫,好机会很少。但是您不必因此而气馁。小公司的工程师也可以逆袭,冲进BAT大厂。只要坚持努力,给自己定一个清晰的计划,一步一步慢慢来,就一定能行。最难的是,是你决定开始的那一步。
