生活从来没有准备到完美的时候,计划永远都赶不上变化,那么校招也是一样,你永远不会有准备好的那一天,那就在准备了多少就直接上战场吧。
学习时间:
(1) 2018.5.15 - 2018.6.15 正式复习开始了,在这段时间里,开始大量复习计算机网络、Linux、数据库(MySQL, Redis)的知识,大量总结归纳。同时呢,也开始准备一个Java后端的项目:这个项目其实就是叶神的高级项目课https://www.nowcoder.com/courses/semester/senior, 然后边做边学习Spring Boot,Spring,MyBatis这些框架,同时也加深对数据库的理解,并且有意识地开始学习如何优化代码,如何引入设计模式。 在整个项目的学习和准备过程中,我要给大家一个建议:那就是准备校招的时候,其实应该以结果为导向,以实战为线索,在实战中,在项目中去应用自己学习过的知识,同时学习新的知识,通过迭代来将知识、能力以及思维逐渐形成一个体系:知识-思维-能力-案例 四位一体的体系。
(2) 2018.6.16 - 2018.7.15 这段时间里,最重要的事情莫过于算法了,在这段时间里,主要的工作就是看算法相关的书籍,了解算法基础知识,然后开始刷题,加深理解。
在学习算法的过程中,其实,也一直接着做Java后端的项目;同时呢,还在深入的学习JVM, 学习设计模式。
(3) 2018.7.16 - 2018.8.8 这段时间呢,主要完成Java后端的项目,同时,伴随着Java多线程、设计模式的学习,然后开始复习计算机网络、Linux、数据库等。
(4) 2018.8.9 - 2018.11 这段时间呢,就开始了大量的笔试,面试。
因此,在整个校招的准备过程中,你需要做到:
- 对于整个校招而言,你要保持战略悲观的态度,充分利用每一分每一秒去准备,不要苛求完美,抓住核心知识和技能去准备;
- 对于每一场笔试或者面试而言,你要保持战术乐观,你要每一场都保持自信,认为你已经准备好了,然后尽情地去发挥,以战养战,不断精进。
整个校招由大大小小多场战斗组成,你要赢的是最后的胜利,而不是某一场的胜利,因此自信地去应对每一场。所谓胜败乃兵家常事,单场的失败只能证明你当下没有准备好,你要做的是查漏补缺,不断精进,迎接下一场战斗。其实,当你参加一定场次之后就会发现,哎呀,原来套路是一样的,那个时候你就可以开始收割了。
战略悲观与战术乐观。做一个长远有野心,当下有信心,事后有决心,正确认识成败,立足长远的求职者。
面试者在参加面试的时候,需要保有自由与平等的态度,要做事先做人,要认识到你与面试官之间是平等的,首先保持你自己的人格尊严,然后再考虑面试,因此你没有必要对面试官卑躬屈膝,低声下气,没有必要惧怕对方,没有必要去紧张,见面了,一声干净利落地“老师好”或者“面试官好”,然后一字一句的清晰地去与面试官交流你的观点和主张,这个非常的重要。不要因为一个面试而丢掉了自己的骨气,这远比你面试本身更重要。
建议: (1)复习的过程中,做复习笔记,最好是记录在云端,这样的话,可以随时复习,例如面试等待中复习; (2)当知识复习完一遍之后,就可以对照着面经去复习准备了,记住先搞熟核心知识,再去搞其他边缘的知识;(3)复习过程中,一定要注意不仅要了解知识,还要主动思考,去思考知识背后的逻辑以及设计的意图
关于专业技术呢,是指你的硬实力,硬实力的考查呢,主要从2个角度进行:
- 宽度:掌握的知识是否全面
- 深度:掌握的能力是否深入
宽度在一定程度上决定了你是否能够进入一家公司,深度则决定了你offer的等级。对于bat,甚至更好的公司来说,有时候深度甚至可能决定你是否能够进入这家公司。
在整个秋招面试过程中,最好能够准备一个checklist, 这个cl是用来在你面试前进行模拟面试的,那么cl包含哪些内容:
- 自我介绍
- 项目介绍
- 技术知识点
- 非技术知识点
以下详细介绍这几个方面:
- 自我介绍 在自我介绍的时候,除了介绍你自己的基本情况外,直接明了的提出你擅长的技术栈是一个很好的技巧,为什么这么做呢?因为这会给面试官一个先入为主的印象,会给面试官心里种下一个种子,潜意识认为你对这一块知识比较了解,那么后面问到这一块知识的概率就会变大;同时呢,后面万一他问到那些不会的内容,你也可以拉面试官到你擅长的技术栈,由于前面已经埋下了伏笔,因此后面面试官大概率上是容易接受你的转换的。 注:有时候hr面的自我介绍和技术面的自我介绍不同,会产生不一样的效果
- 项目介绍 项目介绍除了介绍项目的目的,解决的问题,设计的思想以及整体结构,更重要的是提出你在项目中的亮点以及项目中你擅长的技术栈,这会在一定程度上引导面试官去对你这些内容发问
- 技术知识点 每次面试前,都应该有针对性地深化一部分知识点,这部分知识点要么来自于你要面试的这家公司的面经,要么来自于你计划中要解决的知识点,力求做到每次面试都拿下一部分知识点,将比较复杂的问题化整为零,然后再总结归纳,这会有效的降低你记忆的难度
- 非技术知识点 非技术知识点主要是针对hr面试中可能出现的问题的,一般hr面就那些问题,因此这个准备非常好准备。
4.3.2 模拟面试
面试和你的笔试一样,笔试需要做大量的题目去模拟,那么面试也必然是的。那么如何进行面试的模拟呢?
- 准备CheckList
- 根据CheckList, 进行自我介绍,然后将你自我介绍的过程用视频录下来或者语音录下来,然后去分析你哪些地方有问题,作为面试完之后的分析依据,根据面试情况,去修正你的自我介绍
- 根据CheckList, 进行项目介绍以及项目分析,然后将你自我介绍的过程用视频录下来或者语音录下来,然后去分析你哪些地方有问题,作为面试完之后的分析依据,根据面试情况,去修正你的项目介绍,尤其是项目中涉及的知识点以及技术栈,你是否理解到位了,你会做,那么你是否能够讲清楚,如果讲不清楚问题在哪里?
- 你也可以请你的同学或者朋友充当面试官的角色,让他按照你的CheckList去对你进行提问,看你是否能够给一个没有做过这个项目的人将项目讲清楚,如果可以说明你真正理解了,这样就可以给你面试有一个参考。
注意: (1) 面试开始前,给面试官一个微笑,简单大方地问好:“面试官好”或者“老师好”,然后双手将简历(或者所需材料)递给面试官 (2) 面试结束后,给面试官一个微笑,简单大方地对面试官表达感谢:“谢谢您,再见”,然后带着自己的东西离场。 (3) 面试过程中,
- 当面试官提出问题时,一定不要着急回答,而是思考清楚面试官的问题之后,再回答问题;如果不确定面试官的问题,那么你需要不断询问面试官,确定题目的具体意思,当你确定意思之后,再认真回答问题。回答问题的时候,你要一步到位,直接给出充足的细节,将问题的前因后果全部描述清楚,不要等着面试官追问,那样的话,你会变得非常的被动。讲的时候,要条理清楚,问题的来源、解决方案、演进过程,都要利索地讲清楚。
- 当面试官问到的问题,你是不懂的,那么你应该向面试官提出你不是很懂这个问题:“不好意思,这个问题我不是记的很清楚了(或者不好意思,这个问题我没有接触过,我不是很懂)”,问他是否可以给出提示,如果可以在给出提示的情况下答出问题,体现的则是你的思考和逻辑能力;若面试官无法给出提示,那么你直接告诉面试官你不懂这个问题,但是你懂另外一个相关的知识点,是否可以给他介绍?如果可以,你接着介绍这个相关知识点;如果不可以,那就请求面试官是否可以进入下一个话题。在这里再强调一下,有时候,面试官并不期待你能在很短的时间内解决这个难题,他只是想看你遇到难题的时候的态度和思维方式以及应变能力。如果你能证明给面试官看,你解决问题的方向和方法是正确的,即使不是正确答案,也很不错。如果最后没有答上来,最后可以和面试官要个联系方式(邮箱或者微信),回去后努力搞懂,然后举一反三,写篇文章发给面试官,有时候会让你起死回生的。
- 当面试官对你提示的时候,请记住,当你回答问题结束之后,你需要对面试官表达感谢,感谢他的提示。
- 如果是hr面,那么你需要表达出你的忠诚、坚持、责任、荣誉、毅力、稳定、对自己正确的认识等,至于具体的套路,我这里就暂时不说了,如果后期需要了解的同学比较多的话,我可再补充。