首先,介绍一下笔者的情况:末流985软件工程专业,本科。目前秋招取得三个录用意向书,字节、百度、小红书。
先介绍自己,各位读者可以根据自己的情况作为一个参考,专业的不同可能会略有差别,比如笔者计算机专业的校招,据我了解,目前大厂对于学历还是比较看重的(比如阿里,妥妥学历厂啊,京东也有点)。
计算机相比于其他专业,就业机会确实比较多,但各专业目前都面临门槛越来越高,难度越来越大的现状,所以本系列文章诞生,希望能给大家带来帮助。后期内容我会直接将自己秋招的面试问题一一作出介绍,所以后期文章可能专业性和针对性较强不适用于其他专业学生,但这一篇文章,应该可以算是通用,内容也基础,各专业学生都可以参考。(少不更事白面书生,受限于人生阅历的浅显,我不能举例出各行各业的示例,有不足的地方欢迎指正,多多包涵。)
码字不易,点个赞点个关注。(公号:猿小馆)看后续。
一、面试的重要性
众所周知,目前的大学教育对于就业辅导其实略有不足,尽管高校内可能有一些就业辅导课程和专业老师规划,听起来有一些帮助,但是实际是什么样呢?走进任何一所大学的"就业指导中心",:墙上贴着十年前的海报,桌上摆着泛黄的宣传册,老师们热情地推销那些他们自己都没接触过的"求职技巧"。
笑话------一群从未踏出象牙塔的人,教你如何在社会丛林中生存;一群没被简历系统毒打过的理论家,教你如何应对筛选过上千份简历的HR。就像请一个从未下过水的人教你游泳,结果只有一个:一起溺水。
还有一些"职业规划大赛"。一群刚刚结束高考的大一新生,就去编织自己都不相信的职业蓝图。这种自我感动的游戏,除了在综合测评上加那可怜的0.1分,对现实求职毫无意义。
对于大学生真的有帮助吗,我认为应该打个问号。
这个系列的文章会教授面试和技巧,不会涉及职业方向问题的解答,如果是毕业年级学生,那么就要清楚是不是要考公、或者升级学历,对于已经考虑好就业的学生,那你就要考虑好去从事什么方向,比如计算机这边,是去搞算法还是做前端、后端、大数据......
言归正传。
参加的面试的前提是你要珍惜面试机会!
我在今年三月份,暑期实习大量招人的时候计划着找一段相关性更强专业性更强的实习,利于七月开始的秋招,所以试着投了简历,虽然简历中demo项目做的比较拉跨,但是学校位于北京并且应聘时间合适,也接到了一些面试机会,比如快手还有字节等,当时很开心。但是因为缺乏充足的心理建设和情况了解,不知道究竟什么样才可以算得上大厂的标准,准备严重不足!
我记得很清楚,当时连基本的八股都不背,就靠着自己简单的了解就面试,第一场面试,就被拷打。字节的面试官根据简历上的技术栈,问了一些如今看来基础的不能再基础的问题,没答上来,这就算了,我竟然连一些名字都没听说过,比如消息队列,更别说谈代码以及底层了。当时只会java基础,学了redis怎么用,但面试的时候这些是几乎不问的,数据库方面面试官问mysql的事务、MVCC机制、索引、一条SQL的执行过程(连接器,分析器,优化器,执行器)、以及binlog、redolog、undolog;java方面问的是Spring、JVM、JUC;还有问消息中间件。当时一个都不会,问到后面连面试官都问不下去了,也是碰到一个好人,他告诉我"同学你这个状态不行,最起码的知识都不会,后面更深入的就不用提了。"干脆问我那你会什么?当时脸红的受不了,只能一个劲道歉,后面的算法也不会做,到了最后面试官屏幕共享,给我简单说了一下作为一个计算机专业的学生,最起码要会的东西是什么。
面完之后,才知道自己有多菜,急忙联系还没面的hr,把面试推迟了一周,然后想着突击一下,因为我准备做后端,当我把相关课程简单看了一下,才知道一系列技术栈究竟有多大,想一周学完完全是天方夜谭,痛定思痛啊,我直接推掉了所有的面试,从三月份开始,系统开始学习,从java基础开始,还好大学期间基本的课程还是有积累的,计算机底层都了解,学起来没有那么抽象,但还是感觉太多太多,每天逃掉水课,在宿舍楼自习室从十点学到凌晨两点,每天学每天学,不锻炼不打球,学不动了就出去旅旅游什么的,两个多月终于把基础的这些都过了一遍,不是走马观花,对于前面很多基础的,我的笔记是手写,A4纸大概有五百多张,后面的就直接截图什么的放在文档里了,总算打了个基础。
说这些和面试的重要性有什么关系呢?你要明白大厂的面试从来不是简单的淘汰,每次面试面试官都要写面评,记录面试者的能力水平,如果表现太差,会脏面评,同公司的面试官后续再次面试的时候看到上次的不良评价会大大降低本次面试通过率。而且,面试也是非常重要的学习机会!为什么呢?容我慢慢介绍。
秋招进度,我在七月开始做简历,八月开始面试,因为七月才开始准备放弃低效的实习正式开始秋招,虽然不晚,但也不早,等我推脱掉身边的琐事开始投简历的时候,秋招提前批已经结束了,身边有的同学已经斩获六家大厂offer,而我才开始投,说实话虽然准备时间这么长,其实真正怎么样,还是有些不足的,比如简历里的项目,面试官究竟会怎么问,会引申多少问题,以及各种对你对业务问题的理解,还有一些技术栈的问题,总有自己没准备到的知识,怎么办?这都是有技巧的,后面第三部分再讲这个。总之,每次面试都会暴露自己的不足,我还算好,赶上了八月,面试机会多,到九月多共面了五十多场(战绩可查),至于正式面试前的测评、笔试、ai面这些,那就不计其数了!
我就一个感觉,越面越强大,每次面试都可以查漏补缺,后期的面试中面试官几乎没有问题可以卡住我!所以说,不管是不能脏面评,还是面试中的查漏补缺,都不能浪费面试机会,要珍惜每一次面试。除非你有自信可以挑着走。
二、如何获得面试
获得面试,首先对于像我这种普通人,机会虽有限但绝对足够。有些公司看重学历这是无法避免,既限制学校档次又限制学历层次的比比皆是。见识过舅舅在字节可以直接带进去实习、也见识过北大的学生的面经分享,屁都不会就去面京东,只问一些最基础最简单的问题就可以通过面试,没办法,面试官喜欢人家也是人家的能力,因为"竞争力"这个东西考虑方面实在是太多。
那么言归正传,获得面试,抛开能力不谈,最重要的是时机!上文说过被字节拷打的经历,虽然面试官没有太过刁难我,但是对于面评肯定是受影响了,为什么这么说呢,我后面在字节官网投简历,还有滴滴和快手投简历(同样面过),不管是实习还是秋招,简历做的好,HR面筛选能过去,但是后面的用人部门筛选却屡次不过。没办法,总有人家的考量。但是后面七月末,秋招开始大量招的时候,幸运接到了字节hr的面试邀请(有的hr有业绩要求会从简历库捞简历),问了下部门和base,非常喜欢,所以开始面了。还有因为简历准备的早,投的早,很多公司都收到测评收到面试了。
所以说时机非常重要,毕竟现在很卷,如果晚了,面试机会肯定会少。所以要早,早投多投。等待校招推送?恭喜,你已经在起跑线上落后了。
当然了,也要有自己的信心,不要气馁。蚂蚁、菜鸟、钉钉、高德、阿里系,每次测评每次笔试每次ai面试我都参加,投入大量时间精力,但没有收到面试~~~众所周知一次笔试两个小时,再算上我费劲去约面试间去调试双设备,再加上难度很高的算法,一次笔试下来不亚于考一次试,很累很累!也埋怨过,既然看不上我为什么还要搞这么一堆恶心人呢,但后面想了想也没什么,自己也只是一个微小的个体,卷不过实属正常!笔试就当作是复习了!
说完时机,简历也很重要!一个优秀的简历可以极大增加筛选通过率,比如本人这个末流985,简历中关于教育经历那一块,我会加粗985、211、双一流,让更明显。还有布局上,尽量不超过一页,关于布局,像计算机相关投简历,因为大部分都是男的,所以头像可以不用放(最好不要放头像,面试时候面试官会看简历来提问,有的程序员不喜欢不相关元素),但其他岗位比如销售等,头像最好简练大气。剩下的就是突出优势,我的实习经历少,所以我把教育经历介绍很充足,把几个奖学金还有一堆国家级学科类竞赛放上去,这是我的优势,你的优势是什么?是学生干部经历(开发岗大可不必大篇幅去写这个,省出空间去介绍项目,非工科岗的可以详细写)还是竞赛经历亦或是你的证书多,这些都可以!
总之就是扬长避短,突出优势,别再往简历里塞那些"熟练使用Office办公软件"的废话。每一个投出去的简历都应该回答一个问题:为什么是你,而不是其他一百个候选人?
剩下的就是多投了,多投很重要,总有喜欢你的公司。
三、如何准备面试
第一部分讲过,当时投实习就是因为经验不足,乱搞一通,既丢人现眼还脏了面评。那么这些究竟怎么准备呢?对于找offer资料和基础准备的补充,计算机专业可以多刷牛客,其他专业当然也包括计算机专业,小红书也有很多分享,总之,多看!
言归正传。
面试开始,肯定都是自我介绍,自我介绍一定要言简意赅,不要废话自己绩点多少不要废话自己有无挂科是否可以正常毕业,这些都是基本素养不要自我介绍。要介绍自己是谁,什么优势,总之突出你的能力。自我介绍可以提前写一下,背会,直接背,这样就不会紧张乱说,比如我的自我介绍:
面试官您好,我叫***,来自于**大学,专业是软件工程。我在大学期间,努力学习并且参加相关的学科类竞赛和社会实践,取得过中国大学生计算机设计大赛北京市级一等奖和国家级三等奖,还有全国数字媒体大赛等省部级奖励,在学业上我获得过国家级奖学金,和专业一等奖学金、专业二等奖学金等荣誉奖励。
其次是我的个人技能。我主攻Java后端开发方向,Java基础扎实,熟练使用SpringBoot和MyBatis等主流框架。数据库方面,我熟悉MySQL的SQL调优和事务管理,也能熟练运用Redis进行缓存和分布式锁的设计。对于消息队列,我了解像Kafka、RocketMQ这样的消息中间件的核心原理。此外,我对计算机网络、操作系统等基础知识也掌握得比较好,并具备良好的编码习惯。
我在之前做项目的时候也参与过***项目/在***公司实习过,实习期间也跟着导师做过几个比较重点的任务,比如简历中的***和***等模块的设计。这两个模块我都参与并上手了,相关工作也有自己创新性的运营策略,比如在***系统中采用了基于disruptor的异步处理架构来解决消息的缓冲和发送,和***模块的延迟策略来替代传统的定时任务,提高系统效率与用户体验等。
这是我对自己个人情况的一点介绍,谢谢。
这是自我介绍。
还有面试官问问题的时候,千万不要人家问一句你就只说一句,比如面试官问你索引,你不仅要说mysql的几个存储引擎,还要说到有哪些索引以及聚簇非聚簇,还有后期的回表以及联合索引,再说一下索引的底层怎么存储等,一个问题回答两分钟以上为宜。(这是开发岗面试的策略,其他专业可以调整)后期这些具体公司的面试以及具体问题会有后续文章来回答。
总之,全面、系统、具体。要体现出一个专业人士的态度,而且面试要谦虚,实在不会的问题可以说这个问题我暂时没了解过,解释一下,除非面试官让你发散去猜,不要乱编!
最后,面试结束的时候要说"感谢您的时间...",总之,礼貌一点。
基本的这些准备好后,就可以了,不要有负担,平常心即可!
四、如何调整自己
面试的时候不要紧张。当然总有特殊情况,比如面试官迟到,那你可以等个十分钟,等不来就给对接的hr发微信或者打电话或者发邮件,说清楚。
又或者有一些面试官来搞压力面,比如频繁打断你的发言或者表达出你怎么怎么样的那种表情态度,这种时候控制自己心态,稳住,他问什么你说什么,不要忧心!
再就是特殊情况,像我学校的面试亭,有的面试亭说实话网巨烂,会议卡出去的情况也有,回来后一定要解释,并且问明白是不是刚刚的问题重新回答,或者说一下你回答到哪里了,看面试官是否听到了你的回答,不要一言不发看着面试官,因为你对面的面试官虽然在面试你,但他也可能是个二十多岁的同龄人,你一言不发,可能对面也感觉到压力或者不适。
五、题外话
有需要帮助的都可以找我,我很乐意帮助大家。
后续计算机相关的面经,我还会出后续文章,按公司走。几乎很多公司都了解过,可以写很多。关注我,看后续!(公号:猿小馆)看后续。