面试复盘,也给准备的秋招的同学一点微小的建议
bo主背景
浙江某渣本学生
项目经历:在实验室做过老师的一些外包项目
实习经历:51信用卡Java研发实习
春招情况:京东(没开奖到)蘑菇街(一面过,约二面然后了无音讯挂) 融360(offer),51信用卡(offer),有赞(一面挂)
秋招情况:51信用卡(转正),阿里巴巴(offer)
bo主确实是对找工作这种事情一开始敏感程度比较低,之前都只是做实验室的外包项目,基本上都是CURD,没什么亮点,也没想到面试要复习基础知识。大概是从寒假结束开始准备(如果能更早点,或者平时就注意自己的积累就更好了),当时是刷了牛客的Java基础题(基本上错的多对的少。),还有一些基础知识复习(这边很多牛客都有大佬总结了我就不说了)。
复习要点
每周任务
最好根据每个人自己的时间来安排,当前也最好去上周review一下自己上一周的复习的,然后每周最好都有个主题而不是漫无目的的复习,我是感觉如果一个事情变得可量化会好很多,我是有记录一些笔记的习惯,推荐使用MarkDown,或者直接用印象笔记有道云笔记之类的工具也行
如何准备
基础知识
自己总结的其实还是Java基础,JVM,网络,数据库,数据结构,还有Java的源码要熟练,如果不知道怎么复习怎么办,我当时的做法是看牛客面经,把前面的面经都看一遍,不会的先记下来,带入面试场景,可以列出一份自己的弱点清单,然后针对薄弱做复习。
多刷面经
其实面经多看些,你就会发现大多数的基础题目都类似,比如数据库常考的索引实现,优化sql,InnoDB和MyISAM的区别,其他也大同小异
自我介绍
有什么是面试几乎必考题呢,自我介绍,建议每个同学都能有一个自己比较熟练的自我介绍,简短还能突出自己的亮点。
项目亮点
此外就是项目了,阿里技术团队有篇博文写到技术人要做到 do more , do better,do exercise,其实也可以类比到我们日常做项目,项目的难点和亮点一定要准备好,没有的话也要自己挖掘,比如说问到我NIO和BIO,我会说我没实际在项目中做过,但是这个项目的另外一个模块是我同学写的,用到了IO,我也去做了了解,(do more)然觉得用Netty做可能更好,类比Netty和NIO BIO(do better)还可以举例你自己做了哪些实践来对比这几者(do exercise)
同时也要注意项目的技术选型,为什么用SpringBoot不用Spring MVC,为什么Mybatis不是Hibernate,为什么是Redis,为什么是RocketMQ,千万别给自己挖坑,写什么精通分布式之类的,写了什么就要做好被锤的准备。
心态要好
心态确实是非常重要的一环,春招当时自己只投了京东一家(因为不知道开始春招了),后来等开奖就到了五月初等到了感谢信,心态都崩了。就开始在拉钩和Boss直聘疯狂海投。先是接到了有赞的电话,只不过自己当时确实很浮躁,都几乎没怎么复习,被锤蒙了,一面挂。后来收到融360的面试,是PHP岗的,面试体验不错,但最后考虑是PHP而且在北京,自己就没去了。直到六月中旬才捡了一个51信用卡补录的hc。其实或早或晚,大家都能拿到offer,坚持复***会有机会的!水平其实差不多,大概就是面试技巧,还有运气(这确实很重要)面试技巧
面试心得
其实,我觉得面试是一个双向选择的过程,你展示给面试官你的优点,过不过我感觉都是次要的(能过当然最好),按照我学长的话就是一群p8陪你刷面经难道不快乐吗?可以把每次面试都当做是给自己一个查漏补缺的机会(所以可以适当投一些公司积累面经)
还有一点重要的是坦诚,当时阿里的面试官对我说,其实说不会比答错会好很多,毕竟每个人也不知道知识点面面俱到。
但虽然有的时候我们有的答不出来,但我们可以把话题引向自己熟悉的地方,这就是一个面试节奏的问题,只不过我感觉这个看面试官,有的面试官喜欢他提问,有的喜欢自我发挥,很多话题我们可以自己做延伸,比如http延伸到https,他们什么区别,怎么做的,还可以延伸到对称,非对称加密,很多时候可以自己复习的时候做个思维导图,对自己的知识点做延伸,因为我感觉面试官提问也是这样的一个思路。
对于面试官提出的场景题啊,算法题,其实不一定是要求你一定给出多么正确的解法,更多的是看你的思路,能不能在他引导下给出你自己的想法,这里根据你给出方案,怎么对问题做分析,就可以看出你的反应程度,平时积累什么的。我一般对这些问题都是自己先做个展开,把能想到的都说一遍,最后自己做个总结,这个问题的解决方案是哪几种,或者思路有哪些,这样可能让面试官听起来有条理性一点。
最后的最后就是,也是我的面试官告诉我的一点。写代码只是我们完成事情的一环,只要有潜力成长的是很快的,此外你的沟通能力也是很重要,如何和团队沟通啊,自己的性格是否积极向上啊,会不会去推动一件事情,对业务是否敏感等。