校招应聘java后端开发有什么准备的建议?
从问题的描述看,这位同学的困扰主要集中在:自己的专业技术水平尚可,但在校招笔试环节“数学题、智力题还有一些类似ACM的题目”做起来有些吃力,所以寻求建议来补强自己的短板。
其实在我看来这是一个问题的表象,那深层次、本质的问题和原因又是什么呢?
我们从问题描述来寻找更多的线索。
首先已知的信息有:
# 《java编程思想》和《java并发实战》都有看过,可看做具备理论基础;
# 熟悉Hibernate、Struts2、Mybatis,对其优缺点有自己的理解,掌握程度未知;
# 笔试能力欠佳,应对吃力;
# 有互联网大厂实习经验,但不能转正,具体的工作情况未知。
另外还有几个细节值得注意:
第一个细节:ACM(即国际大学生程序设计竞赛),这项赛事的规则是需要每个队伍的3名成员在仅有一台电脑的情况,5小时内完成7道及以上的编程题目;用时最少完且成题目最多的队伍胜出。
那也就看出,如果校招笔试中采用这样一种相似形式的考察方式,题目的特点和对应聘者考核点就从赛事规则体现出来:既考察计算机编程的专业技术水平,同时考察团队协作能力和抗压应变能力。
第二个细节:除ACM类题目外,数学题和智力题做起来也会有些吃力。再有通常情况下校招笔试为限定时间的闭卷考试,那这两类题目实际上考察求职者的是:逻辑思维、归纳总结、快速决策、智力水平等一系列内在“软技能”,而具备以上优秀的素质,在未来职场中帮助自己更快的成长。
tips:际情况下,当一名软件工程师的职场经验逐渐进入更深层次工作领域,比如算法、AI、大数据等,高等数学的基础显得尤为重要,在某些专精于大数据、算法研究的企业中,项目经理会被要求具备数学专业背景),而这也是成为一名优秀软件开发者的必备素质。
总结一下,这位同学面临的情况是:专业能力尚可,实际场景下应用能力不足,逻辑思维能力也需加强。
如果从理论基础、专业能力、综合素质、实践经验这四个维度来看,前三者是息息相关的,理论基础扎实,专业能力的学习自然不会差,逻辑思维等综合素质优秀,也与专业能力相辅相成,而前三者的加强,自然也体现在实际工作中的成长。
结合前面两个细节的分析,大致给到这位同学的建议是:
建议短时间内提高专业领域基本功的掌握程度,同时收集一些笔试题集针对性地训练一下数学/智力题目。用一个形象的比喻就是:基本功是“内功”,内功修炼到炉火纯青,实战中自然得心应手,一法通万法通。
另外,实际的求职环境下,特别是大厂,对于校招软件相关求职者的要求,也更多集中在对专业知识掌握程度,基础能力的考察。
在我以往的咨询案例中,也有求职者遇到过相对“极端”的情况:面试官对简历中提及的所有软件技术、证书、专业课程逐个提问,从而导致求职者在某些掌握程度似是而非的技能上“翻车”。
当然,可能会有同学提出疑问:道理我都懂,我该怎么样去深入的训练,为求职做准备呢?这里也给出几点建议:
1、补强所学软件技术
需要说明的是,很多年轻的求职者常会陷入一种思维误区,即特别想表达类似“我学过/做过××出彩的技术/项目”的想法,而这是片面的;
原因如前面所说,内功是基础,基础能力足够,在职场环境的熏陶和公司平台的加持下,很快会到的历练和成长的机会,而想在笔试、面试环节脱颖而出,不止需要耀眼的实习履历;
另外,面对有丰富经验的面试官,特别是软件技术领域里,所谓“三脚猫”的功夫,很难有吹嘘的空间。
2、结合岗位背景和要求,针对性补足短板
举例来说,这位同学提到有实际应用过java的技术框架,那所应聘的岗位要求是具备哪一业务层面/哪些技术的掌握呢?就需要结合自身所学来与之匹配,如果岗位要求某项技术相对薄弱,就针对性的加强一下学习。
除了应对笔试环节,也可以在面试过程里展示自己的专业能力,如和面试官交流分享不同技术之间的优缺点,自己的掌握程度,实际的应用等等。
3、深度复盘个人经历
这一点建议有两个目的,第一个目的是可以通过复盘自己的经历,了解到过往学习工作中自己遇到的问题和不足,比如前面提到的有所欠缺的应变、决策、思维能力等,来通过大量模拟训练加强,这个过程本身也是学习成长的过程;
另一方面,在复盘的过程中,可以完整的梳理一下思路,总结自己的优点、缺点、特长等等,因为往往身处其境,很难看到一个事物的全貌,也即是通过总结反思。