8102秋季校招:我的校招经历+Android岗总结(面经+技巧)

前言

这段时间,找工作也算是告一段落了,8102年(手动滑稽)对我真的是一个不平凡的一年,其中的辛酸只有自己知道,最近总算是有了些空闲时间,便总结下这个转折点–秋招的点点滴滴,也算是画上一个句号,同时也方便日后自己能回过头来看看曾经的自己,继而前行,内容可能有点多,如果你时间比较充裕,可以当故事汇看一看,如果你正在找工作,需要干货,就直接把滚动条拉到技巧和面经那里吧,希望能帮你找到一份如意的工作。

概要

1、个人情况及现阶段Android行情
2、老生常谈的考研还是就业
3、我的找工作经历
4、如何高效的准备校招
5、秋招简历和面试技巧
6、Android岗面经大全(含Android+Java+网络+算法)

正文

一、个人情况及现阶段Android行情

1.1 个人情况

先交代下教育背景,武汉某双非大学(非985非211大学),本科学历,可以说这个硬性条件在现在这个年头没半点优势,不知道在哪里看到的新闻还是报道,现在找工作的70%以上都是硕士,还有5%的博士,没错,我就是剩下那一部分头铁的本科生,也不知道那个数据是否真实,但是从我自身经历来看,每次面试等待时,我都会好奇,主动搭话问一问一起面试的同学从哪边过来的,得到的答案基本都是是华科和武大,再就是武理,关键是大部分还是硕士(真的感觉只有我一个头铁的本科生),学校甩一条街就算了,学历也比我高,(:,但是仍然要面带微笑,波澜不惊的迎接接下来的面试!

1.2目前offer情况

因为有春招找实习的惨痛经历,关于秋招准备投递的公司,已早早计划好,为了避免失业,我是尽可能的给自己多争取机会,所以最后投递的公司共有76家,只要是能投的,基本国内的公司都投了,还有一些发邮箱的零碎的投递没计算在内,下面是投递的记录
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
虽然我投了那么多,但是你会发现双非学校这个硬性条件基本一大半的公司简历都过不了,还有一些会发个笔试走一下形式,真正到最后给到面试的,也就十来家,所以对于双非学校出来的找工作,容错率太低了,仅有的几个面试机会没把握住的话,你迎接的就是0 offer,但是对于985学校的同学来说,他们面试机会足够多,甚至可以在面试中边学习边面试,所以有一句话说的好,高考欠下的债是要用一辈子来还的,在这里我是深有体会。

然后再说下今年各大公司招人的一个行情,今年是招聘的一个小年,小年的意思就是今年大部分公司不咋招人,也可能和最近的经济状况有关,这个有点类似高考一年简单一年难的交错效果,在秋季招聘中,一般分为三波,7月份到8月份的提前批,9月份的正式批,10月份的末班车,就今年来看,我实习完回来,已经八月底了,所以我完美的错过了提前批,再加上今年又是一个小年,大部分公司在提前批已经招满了,就拿BAT TMD JW等大厂来说,网易、腾讯等基本提前批招的差不多了,到了九月你会发现网易官网很多岗位都已经撤销了,腾讯HR面挂了我估计也是没什么hc了,美团去年是大年,招了很多人,所以今年也不怎么招人,所以再想进的话,真的只有特别特别特别优秀了,这就少了三个大厂了,然后滴滴,正好赶上最近的顺风车事件,你懂的,然后京东玄学面试,简历没过,头条招的又都是acm级别的人,对算法要求高,不刷个上百道leetcode mid难度以上的题,估计悬,然后只剩下B和A了,有幸B给了面试机会,并最终通关,所以今年整个招人的行情,对想进大厂的同学来说,可以说很不友好了。当然除了这些公司,还是有很多其它很棒的公司的,比如顺丰同城科技,至少我在面试的时候,感觉这家公司的面试官和hr都是非常的nice,团队虽然成立不久,但是据说是原先百度外卖的团队,所以技术肯定是没问题的,而且公司现在刚起步,现在这个阶段加入进去,一般都会委以重任,是可以学到不少东西的,做几年,估计就可以带个小团队了,美滋滋~~

其中还有一些特别不愉快的求职经历,我就不多说,苏宁现场面试十分钟左右就打发走了(等了tm两个小时),呵呵,趣店简历投递不到一个小时显示暂不匹配,呵呵。

截止目前,真正给到手的offer有三个:百度(深圳)、顺丰同城科技(北京)、金山WPS(武汉),剩下的还有一些笔试和面试都拒了,金山在武汉,所以没有考虑,因为我还是想去一线城市奋斗,再加上百度的技术氛围和平台和炒鸡nice的面试官给我留下了深刻的映像(悄悄告诉你,百度的面试官是世界上最好的面试官),最终决定去百度。

1.3 Android近些年行情

再交代下时代和行情背景,今年已经是8102年了,由于我找的是Android岗,所以主要说下Android的近几年行情,Android开发在10年左右萌芽,开始出现在市场招聘岗位中,随后Android系统更新迭代频繁,智能手机的飞速普及,市场上Android开发的岗位需求激增,直到15年达到巅峰,然而好景不长,随后16年开始出现一个词,叫做“移动互联网寒冬”,大部分新生的移动互联网公司关门,大量涌入的Android开发人找不到工作,市场已经饱和,供远大于求,失业,彷徨,低谷,,,,,而此时此刻的我,还是一个小萌新,在大学里写着自己的小APP,不亦乐乎,外界的这些事情貌似与我无关,当时也没想过工作的事,只单纯的认为Android挺有趣的,好玩,仅此而已,然后就一直学下去,后来,周围同学开始张罗着考研和工作了,我于是也根据自己的情况深思熟虑了下,最终决定工作,但是各大“知乎”“新闻”上的一些字眼,也就是“移动互联网寒冬”开始进入我的视野,我便各种搜集资料,发现外界Android的行情极其不理想,同时好多学Android的都失业了,我开始动摇了,各种Android开发找不到工作了的言论,各种劝转行的言论,充斥在我的耳边,我很难受,好一段时间没心思继续学Android,一度想要放弃,我这么喜欢和热衷的Android怎么会这个样子,我以后该怎么办,何去何从,已经快两年了,就因为行情要放弃了吗?确实,行情不好,这已经是一个不争的事实,但是it这个圈子仍然有另外一种声音,高端人才永远都是稀缺资源,只有初级开发者才会面临被淘汰,高级工程师是永远不会是失业的,那么行情不好这个问题就可以被转换为自身实力不足,只有足够强大,你才可以波澜不惊,坚若磐石,所以很多人学Android之后,发现行情不好,就转去学后台、前端等,这也不失为一种明智的举动,但是像我这种出于兴趣和热情而在Android上一直坚持的人,让我去转行,我实在是难以接受,即便转行了,因为无感,我可能也只是泛泛而学,学习效率低,被动学习,很可能后期会迷茫而手足无措,所以我当时的决定是,继续在Android上走下去,迎难而上,既然前面有山,那么咱就翻过去,转行绕行对我来说并不是可取的,只有提升自己,即便再累,我也心甘情愿。

扯了这么多,貌似有点远,现阶段Android行情依然不乐观,寒冬已经持续接近三年,Android的需求人数已经急剧下降,拿数据来感受下吧,牛客网会为每个求职的方向建立一个求职QQ群,具体包括前端、后台、算法、Android等,每个群包含全国各地各大学的所有应届生,大家都是相同的方向,我自然是加入的Android这个方向的群,此群截止到现在仅有308人,隔壁Java后台群,2000人数的群满了,又建了一个,其它方向,算法岗的也是一个千人群满了,又新建了一个,可见寒冬之后,Android岗的求职者已经所剩无几,我想这些人可能大多和我一样,曾经犹豫徘徊过,到底要不要坚持下去,正处于寒冬,不可避免的可能面临失业,这是一个严峻的问题,但是大家最终都没有放弃,共同在8102年参与Android岗的秋季求职。

说了这么多,好像一直在说寒冬,其实对于今年来说,作为Android求职的同学,相比于算法等岗位还是非常友好的,寒冬刚过,骤减的求职人数和岗位需求数对比,还是基本处于55开的,尽管岗位少,但是求职者更少,记得群里有朋友说,今年去XX大学(211)校园招聘,整个大学投递Android岗的人数就四个,我也很惊讶,当然也可能是学校专业设置的原因,但是至少从这个事情可以看出,前些年的大量涌入移动端开发的现象已经不复存在了,这个行业会逐年基本慢慢稳定,供需比也会逐渐平衡,当然随着行业的发展,对求职者的水平要求也会逐年提高,所以要入这一行,可能不是像之前那样简单看看书和视频,写几个demo就可以的,如果你已经确定走这条路,至于具体怎么准备,后面会详细讲到。

1.4 扯一扯算法岗情况

然后还想啰嗦下今年算法岗的一个情况,相比于Android这边所剩不多的求职者之外,算法岗可谓是一个“爆棚”的状态,供远大于求,其实简单分析一下,也是有迹可循的,15年,AlaphGo的AI红极一时,掀起一波AI热潮,这时,我们这一届正好入学,赶上这波热潮,周围到处都是充斥着“算法”、“机器学习”、“深度学习”、“计算机视觉”等高大上的字眼,同时,你要再多加留心,还会发现对于研发岗来说,算法岗的起薪是要普遍高出5w到10w的,试想一下,一个当前正热门的方向,也是未来发展的趋势,岗位需求逐年增加,求贤如渴的新闻不断,薪酬还高,“天花板”也高,谁不想挤破头都要加入到这波大军里来,于是到我这一届秋招的时候,大家都跃跃欲试,畅想美好未来,大批的算法蜂拥而上,这就带来一个不可避免的问题,一家公司算法岗位可能只招20个,但是可能会收到上千上万份简历都不足为奇,那怎么选呢?自然水涨船高,只有真正有实力有扎实根基的人才能在激烈的竞争中脱颖而出,大部分跟随热潮学习的人可能就是面临–0 offer,随之而来的失眠、焦虑相伴着这些同学每个夜晚,牛客网上每晚都有凌晨睡不着觉失眠的帖子,不是这些同学不够优秀,是算法竞争太激烈,有些同学没准备好的,就直接抱团开始从现在准备春招了,其实也是一个后知后觉的醒悟,也是一个不失为理智的选择,至少他们的毅力和决心是感染到我的,仿佛看到了春招的自己,因为我自己也是一个春招的失败者,3月春招找实习的时候,面试连一面都撑不过,现在还是触目惊心,犹在眼前,多少个失眠焦虑的夜晚,唉~~。时间一晃,回到现在,还是觉得春招是我一段十分值得珍惜的经历,也正是因为春招,让我清晰的认识了自己(有了B数),我也祝福那些从现在开始备战春招的同学能够最终决胜归来。

总之,我们作为这个世界中平凡的一粒,无法去预测未知的风险,也无法掌控市场的趋势,所以不管我们准备在哪个方向上走,唯有提升自己是最正确的选择。只有足够强大,你才可以波澜不惊,坚若磐石

二、老生常谈的考研还是工作

关于这个问题,其实真的已经是不能再老生常谈的一个问题了,但是我还是想说一下我现在的看法,本身这个问题是没有答案的,没有对与错之分,只是不同的选择而已。

2.1 我是怎么选择的

至于这二者的优劣,我就不对比了,我先说一下我自己是怎么选择的,我的最终选择是工作,主要原因是自己在Android已经坚持了快两年了,而且似乎热情不减,我学习Android的效率也较高,当然还有一些其它原因,在校成绩一般,学校不是特别好,要考上理想的985高校难度很大,但是这都不是最主要原因,我觉得我不考研还是因为自己不喜欢没有实操的学习,对枯燥的知识没有热情,对书本中的高数、政治等完全没有兴趣,所以我可能复习的话,效率也非常低下,被动学习,相比直接找工作,可能考研带来的风险更大,因为之前已有所准备(具体怎么准备,后面会说到),所有我直接工作的决心更加坚定。

2.2 如果没有自己感兴趣的

这里还想说一下我自己看到的一些现象,有很多同学在大学期间没能找到自己的兴趣,也没能花课外时间好好学习某个方向的知识,那么这些同学去找工作的话,肯定是准备不足的,虽然也有临时抱佛脚两个月,最后找到一份还算不错的工作,但是毕竟是少数,排除一些运气成分,咱们还是要尽量一点,如果这类同学已经确定要找工作了的话,那么最好提前准备,否则真正到了秋招将会寸步难行,所以如果有条件,这类同学就继续读研深造吧,但是我希望在读研期间,就不要像本科阶段那样了,一定要找一个方向,然后深入下去,不要雨露均沾,今天心血来潮学前端,明天又后台,但是我的意思又并不是说其它方向完全不闻不问,还是要适当的在时间充裕的时候,接触了解一下,知识除了深度还有广度,二者同等重要,一个主,一个辅,应该能明白,具体就不细说。

2.2 如果找到了自己感兴趣的

还有另外一些同学在大学期间找到了自己喜欢的方向并坚持了下来,比如有同学大学就一直在ACM呆着,最后想找算法的岗位,那么这个就有点特殊,算法岗相对研发岗要求较高,需要时间来沉淀,所以我建议这个方向的尽量选择读研,因为很多公司招聘算法岗就直接写明了,硕士及以上,而且这个岗位也确实是这样,没有研究生期间两年的积累和沉淀,很难对算法有一个深层次的认知,当然万事不能决对,本科生期间能够足够优秀得到企业的认可,那么我还是建议去企业(最好是大厂)深造,至于研发方向,考虑到研究生期间导师占有很大作用的情况下,如果能去大厂(BAT TMD JW),就去大厂,否则,还是建议考研,其它不说,考研之后你的工资相比本科是平均高出2K的。

2.3 我认为考研需要注意的

至于考研,因为我自己也没考研,所以我就说下我自己一次面试时,和一个本市某985硕士聊起的他的一段经历,那天下午我去面试搜狗的Android机器翻译岗,旁边等待的还有几个同学,我肯定会坐不住,便主动搭话和他聊了起来,他说他是某985硕士,本科是某双非(和我学校差不多水平),他当时花了很长时间备考才考上这个985,我觉得他已经很厉害了,至少这个难度我觉得丝毫不亚于当初高考直接上一个名牌大学,于是问他研究生期间主要都做些什么,他说没做什么(也可能是谦虚哈),然后他开始和我抱怨道,他现在被导师“卖”去外包公司,每天做些无意义的活,如果不干,导师还会卡着让你毕不了业,现在正值秋招,他因为不在学校,在外包公司附近住着,导致很多来他学校宣讲的宣讲会也去不了,之前也不让实习,现在简历上只能写写外包公司的水项目,没有实习,没有厉害的项目,现在找工作也是很难,我打趣的说到,至少你们有面试机会,我好多公司面试机会都没有,然后他回,那有什么用,没有任何亮点,有面试也无济于事,,。这是一个活生生的例子,我原以为对985硕来说,找工作如喝水的,但是实际情况好像并不是这样,但是也没必要因此而对考研抱有否定态度,毕竟你要相信大多数导师还是好心的,同时从这个同学的经历可以看出,考研的话,一个好的导师是非常重要的,并不是随口说说,会直接影响毕业以及找工作的,所以希望你考研的话,能在看到这段文字之后,重视导师这个至关重要的角色。

2.4 不要逃避,就是干

还有一些现象,一小部分人在面临考研和工作的选择上,选择逃避,因为逃避工作所以去考研,我觉得这样的心态应该尽早更正,大家都是成年人了,特别是男生,需要有责任心和独当一面的本领,逃避是解决不了问题的,所以尽早磨练一把属于你的武器,然后拿起它,奔向战场吧,少年!!!

三、我的找工作经历

因为每个人的经历都不同,我分享我自己的找工作经历,一来是让自己可以回顾,回首过往,更进一步,二来是希望你能从我的经历中有一些自己的想法和思考,从而制定你自己的找工作计划。

3.1 惨痛的春招

由于之前只是决定工作,但并没有准备,准确的说,我萌生正式开始准备的念头是去年接近寒假的时候,因为我知道过完年后,就是即将到来的春招,那时的我没有什么紧迫感,加上当时正同时参与两个软件比赛,所以也没有什么闲工夫,原定寒假在家复习准备春招的,结果最后整个寒假全部用来做参与比赛的APP了,再跑几家亲戚,一个寒假很快过去,关键是最后还没获奖,什么都没有,虽然不服气,但是也没办法(这波现在想想还是有点亏的),后来过完年,开学了,一开学就是知道春招居然tm已经开始了半个月了,我,,,不是说好金三银四的吗,都是大猪蹄子,再也不相信了,,,在得知这个消息后,有点方,因为自己还啥也没准备啊,没办法,只能硬着头皮上了,第一步就是先弄份像样的简历,我也没啥经验,便随便找了个看上去还像点样子的简历模板改了下,慌慌忙忙的投了几家,因为对公司也不了解,只知道一些比较知名的公司,比如阿里,腾讯,百度,网易这样的,不是我膨胀不投其它公司,因为我不知道有哪些公司,所以就只投了这些,后来我又对着自己的手机上面的软件(现在想想这个方法真够有趣的),看看还有哪些公司,,然后我也不知道有哪些渠道,就跑去官网投递,投递完就傻乎乎的等消息,慢慢的杂七杂八投了大概二三十家左右,然后陆陆续续收到了很多笔试,然后就是每天晚上七点开始做笔试,但是因为没有复习,每次笔试都是一顿被虐,计网,操作系统,算法,数据结构,编程题也AC不了,中间很绝望,但是没有任何办法,于是开始记录笔试遇到的题目,看题解,但是因为不会太多了,明显感觉已经补不过来了,尽管无济于事,但还是咬牙坚持着,心想着能补一个是一个,就这样又过了一段时间。

一天下午我在寝室看面经补基础,突然一个武汉的电话号码打来,我一接,原来是面试电话,是在BOSS直聘上投递的一个公司,叫佰钧成,然后我找工作的第一次面试就这样猝不及防的开始了,你知道ART和JVM和区别吗?你知道堆和栈的区别吗?一个个问题问的我无地自容,整个气氛也尴尬无比,问啥啥不会,最后面试官还是强行把这个面试流程走完了,整个过程持续了大概持续了40分钟,最后挂掉电话的时候,我在椅子上坐了很久,感觉很懵,仿佛自己是个傻子一样,这个形容一点都不夸张,最后我特别沮丧,不知道做什么好,也不想说话,大概就是这种状态吧,但是我知道我没有时间让我一直这样持续下去,这只是第一个,后面还有面试在等着我,我不能再像这样,然后开始继续恶补基础。

再后来一天下午突然接到了腾讯打过来的面试预约电话,当时可把我兴奋坏了,但是兴奋之余,自己更多的是担心和焦虑,自己啥也不会,有了上一次电话面试的经历,我知道了一般会问什么。面试官会怎么问,然后我再对着别人分享的面经,一般十个问题能答出两三个就不错了,继续恶补了一两天知识,就到了预约的电话面试时间,我非常不淡定的等着电话打来,电话打来,特别没自信的语气说完自我介绍之后,就是等待审问,有点像个无辜的宝宝,心疼一下那时的自己,面试结束后,面试官告诉我等通知,我当时还傻乎乎的以为真的有通知,其实只是婉拒罢了。

在大概一个月后,我居然又接到腾讯的面试电话,估计是被另外一个部门捞起来了,然后这次面试又把我问的怀疑人生,各种C、操作系统、数据结构,,,当时电话里真的感觉无地自容,不过值得欣慰的是,当时自己那么菜,都能得到腾讯的两次面试机会,说明腾讯还是很宽容的,感谢腾讯给的机会。

再后来,阿里和美图相继给了面试机会,不出意外,基础不扎实,一面都过不了,挂了之后就再没其它大公司给面试了。

再后来,我知道想去大厂实习已经是不可能的了,于是中间在实习僧和BOSS直聘上投递过其它小公司,还有学院的就业群里发的一些招聘信息也投过,最后拿到一家武汉本地的小公司offer和一家深圳做早教机器人公司的offer,能拿到offer,也完全得益于我连续几个月恶补的基础知识,经过权衡,最终选择深圳的公司实习,我深知我此次去实习身上还有另外一个重担,就是马上9月份的秋招,我必须在实习的时候就开始准备,否则我的秋招可能又要和春招一样,凉的透透的,所以学校的事情结束后,我就马上买票去了深圳,第一次坐了13个小时的绿皮火车,真是一次奇妙的经历。

3.2 在深圳的实习

在来到深圳后,我第一件事就是尽快适应实习公司的节奏和环境,然后给自己制定秋招备战计划,然后在实习的时候,如果正事处理完了,就悄咪咪的刷题刷算法看书,继续恶补基础。

公司的作息制度是996,我一般每天8点起床,吃个早餐之后,走到公司,大约8.50左右,然后一天开始,如果公司有任务,以公司任务为主,做完之后,我便会按照我的计划备战秋招,大概中午12点整,下班吃饭,我一般会就近或以较快的速度吃完,然后回到公司,这时候还可以学一会,直到1.20左右,由于不能到床上午睡,所以我睡不着,就趴在桌子上咪半个小时,然后1.50公司会放主题曲《当我们一起走过 - 苏打绿》(个人觉得这首歌非常好听,非常励志,已加入歌单),下午2.00,下午的工作开始,一般我会把一些需要长时间集中精力做的事情放在这个点,因为下午会持续到晚上6.00,足足四个小时,当然累了,公司有免费的咖啡,可以冲着喝,吃完晚饭,7.00左右回到公司,开始晚上的工作,晚上一般是我思维最清晰地时候,我也不知道为啥,一般我会把一些难以解决的问题留到晚上做,晚上9.00,公司正常下班,但是我一般会到晚上10.00再走,10.00离开公司,一般会走回去,而且这段走回去路上的时间是一天中最奇妙的时间,这段时间我总是会想很多事情,看着周围灯红酒绿的世界,我会想这个城市到底是不是我的归宿,我能否在这个城市作出一翻自己的事业,我未来会怎样发展等等哲理性问题,时而踌躇满志,时而怅然若失,大约10.40到住的地方,洗漱完毕之后,大概11.10,上床,刷20道牛客Java基础&Android基础选择题之后,再玩会其它的娱乐一下,一天结束。

总的来说,这次实习期间,我每一天时间的利用率是非常高的(相比学校),也就是在这段时间,加上之前春招开始一直持续恶补的基础,我的基础知识基本巩固的差不多了,当然也要得益于公司的任务并没有想象中的那么繁重,然后就是这次深圳实习,让我对深圳有了一些初步的认识,其中最最体会深刻的就是,深圳居民的素质真的高,很多次小细节让我一个异地过来的实习生特别暖心,比如有一次夜晚下雨后,我在回去住的地方的路上都是积水,这时候,一个司机从我身边经过(那条路有点窄,但是也没必要减速到很慢),可以明显感觉到是因为要靠近我了,才减速到特别慢的(真的特别慢),然后离我有点距离之后,再加速开走,就是为了不让水溅到我身上,诸如此类的小事情还有很多,就不一一说了,最后我还有一点想说的是,在公司附近,有一家叫自由人的餐厅是真的好吃,离开的时候,最最舍不得的应该就是那家餐厅了(以及实习遇到的几个小伙伴们),过段时间再去深圳的时候,我一定要再去那家餐厅吃一次,哈哈哈哈!

3.3 正式秋招

3.3.1 秋招初期

实习结束之后,回家过了几天,便马上来到学校,期间开始疯狂搜集招聘信息,再对简历进行修改,加上实习的经历和实习接触的项目,也开始疯狂加各种招聘的微信群,微信公众号,QQ群,没事就去牛客网刷帖子,然后花了几乎整整两天时间将能投递的简历全部以各种渠道投递出去,随后,迎来了秋招第一个正式面试 - 贝壳找房,北京现场面,毫不犹豫,直接提前一天买高铁票过去,第二天早晨10.00的样子,便赶到了面试地点,开始等待叫号面试,由于我去的比较早,加上Android岗的投递数量不多,所以我是第一个面试的,由于很久没面试了,我多多少少还是有些紧张的,面试官也是今天第一次面试,所以我俩都是第一次,感觉我们都有点不在状态,哈哈哈,但是我比较紧张,面试官也觉得随机问问题会无法考察我,所以尽量让我去说,虽然我中间很多地方表现的并不如意,但是最后我仍然过了,估计是勉强过的,然后二面就挂了,北京之行,也是初次来北京,就此结束,下午就坐高铁会武汉了,可能因为并没有抱太大的希望,所以我并没有太大的失落感,当然在回武汉的高铁上还是很失落的,毕竟已经失去了一次机会,回学校后,第一件事,就是总结这次面试中还可以提升的地方,然后记录下来,下次避免犯错。

随后的一段很长时间再没有面试,我开始有点方了,因为已经九月了,一个月总共才30天,随着时间一天天的流逝,既巴不得时间慢点,可以多看几个题,又巴不得时间快点,面试快点到来,这种复杂的心情只有经历过才知道,当然也就是从这段时间开始,每天都是查漏补缺+无限笔试,笔试完之后就是总结归纳记录,没有面试的时候,好几个晚上都没法睡好觉,随后终于迎来了一小波面试,分别是B站和蘑菇街的电话面试,由于是电话面试,加上之前看的一个帖子,电话面试可以开启录音,然后事后再回听,查看自己这次面试遇到的问题,然后总结下来,虽然结果不理想,都是一面挂,然后就没有任何其它消息了,但是我在这两次面试中,学到了很多有用的东西,因为这两次面试问的都比较细,而且两个面试官问的风格完全不同,侧重点也不同,所以让我知道我在目前这个阶段还有哪些地方需要提升的,这种发现问题并及时弥补的感觉还是很棒的,虽然在没有后续消息之后,还是小不开心了一下,随后就来到了我认为是我秋招的一个转折点 - 美团面试。

3.3.2 秋招转折点 - 美团面试

美团面试前,因为我还没有拿到offer,只是一直在刷题总结归纳,无限循环,所以这时的我还是有点紧张和没有底气的,既想在面试中表现的好点,又担心被问到不会的问题而表现差,再加上美团今年没hc的消息(很可能知只是一面游),所以直到我在面试等候区等待叫号的时候,还在看剑指offer的算法题,只想争取一下,或许并不会被问到,但是可以给自己的一个心理安慰,所以整个人处于一个紧绷的状态去面试,面试官是一个比较和蔼的人,像平常一样递上简历和自我介绍之后,先来一波基础知识的轰炸开开胃,好在我也从春招开始准备了这么久,这波轰炸我是感觉还是OK的,大部分都答上来了,只有一些小瑕疵,但是可能我精神状态蹦的比较紧,所以我表述的不是那么流畅,逻辑可能不是那么清晰,但是我最有成就感的是,我之前刷题总结归纳的知识终于派上用场了,内心有一种功夫不负有心人的感觉,随后基础知识轰炸完毕,然后会问一些开放性问题,探测一下我的思维和潜力,这部分倒还比较轻松,因为之前刷面经的时候,也对这一块做过很充分的准备,然后在面试结束的时候,再手撕两道算法题结束面试官的提问环节,然后我礼貌性的提几个问题之后,面试官明确表示他在想,要不要让我通过,可能因为我的表述能力和细节以及一些项目不是特别深,然后问了我一个比较难以回答的问题:如果我把你挂了,你觉得可能是因为什么原因?然后我就分析了一波我再面试中的不足,最后他仍然是很纠结,我的精神也一直紧绷着,突然,他话锋一转,你说一下快排的思想,来了个加问,一瞬间,我内心一喜,那个感觉很奇妙,很舒服,因为正好撞枪口上了,昨天又把七大排序全部重新烂熟于心了一遍,所以我不带一秒思考的秒答了他这个问题,然后结束了整场面试,回到等候区等待的时候,我的大脑已经很晕了,心中想着,最后那个加面会力挽狂澜让我通过这次面试吗?,而且这次面试中被问到的问题,百分之八十自己都已经归纳总结过,也就是说这次面试是对我刷题归纳总结以来最为有成效的一次面试,怀着忐忑的心情,等待了大约十五分钟后,去前台问结果,被告知通过,内心瞬间一喜,然后告诉我如果我要二面的话,得等到晚上七点,所以我将时间改为了第二天上午,这样今天晚上回去又可以复习总结一波,第二天上午一早,来到面试地点,开始面试之后,前半部分还比较顺利,但是面试官却一直不问我Android,一直死怼网络和数据结构和Java基础(后来才知道是一个Java面试官),最后直接给我出了三个算法题,结果一个杨氏矩阵求指定数字的题没做出来,但是另外一个题,给一个序列,判断是否是二叉排序树的后序遍历,这个我拿到的时候是懵的,因为第一道算法题没做出来,当时就感觉有点急,一急就没法正常思考,所以这个题拿到的时候,已经处于比较紧张的状态,但是我仍然强压冷静下来,仔细分析这道题,虽然最后花了很长时间,但是我仍然将它做出来了,当时内心还是很佩服我自己的,毕竟不是一个做算法的,而且在这么特殊的强压环境下,把这个题做出来了,不管怎么说,我在内心给自己点个赞 ,最后回到等候区等待结果的时候,被告知面试已结束。

虽然美团的这次面试挂了,但是我觉得这次面试让我变得强大起来,我从一面中,第一次亲身体会到了这么长时间以来,总结归纳的知识终于显现了实际效果,而且效果很棒,同时我发现目前阶段最需要提升的是自己表达一个问题时的逻辑,之后我便有针对性的弥补这方面的不足,我从二面中,我看到了自己的算法能力和抗压能力并不弱,从这次面试之后,我就突然好像有一种豁然开朗的感觉,变得特别自信,随后第二波面试正在赶来。

3.3.3 糟心的一天

在美团面试之后,我开始变得自信起来,但是依然挡不住奇葩的面试和不可预知的神奇事情,接下来的一波面试试图打击我,但是未遂,哈哈哈哈哈哈哈哈。

第二波面试赶在了同一天,那一天一共有四个面试,但是时间却没有冲突,所以我没有改时间,早上10.00苏宁现场面试,下午2.00人人网现场一面,下午5.00百度现场一面,晚上7.00小米电话面试,苏宁第一个,去的早,只是为了不耽误后面的人人网面试,结果等了快两个小时,想到下午2.00还有人人的面试,现在已经12.00了,我开始急了,因为赶到人人网那边的面试地点还有点远,结果在12.20左右的时候终于tm叫到我了(虽然心中mmp,但是脸上还是要笑嘻嘻),然后我兴冲冲跑过去,居然是两个面试官(当时没多想),然后我像常规一样自我介绍后,左边那个就随便问了几个很偏的基础问题,然后问完了,跟右边的说,你还有什么要问的吗,右边的一脸不在意的样子,也随便提了2个问题,然后告诉我面试结束,我的内心:?????????????????,这不是才开始吗?几个意思,然后我让他点评一下我这次面试,他急急忙忙说:这个我们结果不会现场通知的,你回去等通知,我的内心:???????????????,你这么敷衍,我就要你点评一下这次面试,又没问你结果,他又急忙敷衍说:我现在给你一个应用,你肯定会做,但是你还要知道其中的底层原理,你需要知道怎么实现的。我的内心:????????????????????????,你问我了吗?你就说我不懂,你tm得问我啊,把我问的心服口服啊,结果就默认我不懂??????????????okok,行吧,整场面试十分钟打发走,一点不尊重人,这样的公司还好没进去,进去毁一生,再见,拜拜,直奔下家(带着一肚子火)–>>人人网

因为离约定的两点已经没多少时间了,所以我没有时间吃午饭,饿着肚子按照人人网给的面试地点来到指定位置后,发现居然tm不是人人网,大老远的跑过来我容易吗,这是几个意思,耍我呢?????????本身刚才苏宁就搞的一肚子火,现在又弄这一出,心态彻底爆炸,然后约定的下午两点到了,我也没按照约定时间到达,我就找相关的人员问地址是不是发错了,结果一直告诉我没错,那我tm直接复制粘贴这个地址,导航的就是这个地方,你告诉我地址没问题???????又窝了一肚子火,然后问工作人员无果之后,尝试用地址中的一些关键字眼重新搜索,结果搜到了两个地址特别相似的地方,一个叫XXXXXXE4栋,一个叫XXXXXXE城E4栋,我现在按照他给的地址是E4栋,这个地方根本没有什么人人网,然后我尝试跑到E城E4栋这个地方,才发现原来他给的地址是个错的,如果按照他给的地址,导航的地点是另一个地方,呵呵,连公司地址都弄不对,我倒要看看你面试能面试个啥来,这个时候我已经白白耽误了快一个小时,来到指定地方,结果问我:是来面试技术还是非技术的,我说技术,然后告诉我:技术的不在这边面试,我:???????????(之前还专门打电话告诉我面试地点改到了这里),然后来了个人把我带到另外一栋楼里的一个房间,等了一会,开始一面(整个过程可以看出这个公司的招聘没有一点规划,管理混乱,一个面试地点都通知不到位),一面完二面,二面面试官态度比较傲,随便问了几个问题之后,就甩给我我一道leetcode hard题目,然后让手写,随后他自己就去别处抽烟了(呵呵),二面完等待的时候,已经五点了,到了百度的约定时间,然后百度那边的hr打电话问我怎么没来,当时感觉自己特别愧疚,然后深表歉意之后,问了下人人这边的情况,说我在等三面,然后我请求更换到明天上午,随后马上叫了个滴滴就赶往百度的面试地点。

结果那天特别不凑巧,正好周五,路上特别堵,当时看了下时间已经快六点了,也就是我迟到了快一个小时了,中途百度hr又打了一次电话,说我怎么还没来,当时自己除了愧疚还是愧疚,毕竟让人家面试官等了那么久,实在是太不好意思了,结果hr那边态度却出乎意料的好,态度语气真的特别特别特别特别好,就是那种为我着想的语气和态度,尽量为我争取这次面试机会,最后电话里告诉我,我赶到的时候直接进去面试官房间就行,我当时特别感动,因为这是我自己的时间规划问题,我甚至在想我可能赶过去的时候面试官已经不会给我面试机会了,真的很感激hr姐姐帮我及时做好和面试官的沟通反馈,及时向面试官反映我这边正在赶过来的情况,最后我赶到的时候,我看了下时间,六点半,我迟到了整整一个半小时,心里那个愧疚,真的不知道该如何表达,到了面试房间之后第一件事就是向面试官表达我的歉意,然后开始这次来之不易的面试。

本来对这次面试不抱什么希望的,只是过来攒攒经验,而且我还迟到了,心想面试官会很生气吧,可能也会像早上的苏宁一样,随便问两个问题就把我打发走吧,下午的人人面试地点也是坑,搞的我心情极差,有委屈说不出,就这样带着这样一种心态开始了面试,没想到面试官上来就和其它面试官不一样,在我问好并表达迟到的歉意后,他连忙说没事没事,没关系没关系,非常的和善,对我表示了理解和宽容,然后他就首先交代了一些事情(非常郑重的语气):在这次面试中,如果你有什么没听清楚或者不理解的地方,你可以随时打断我,随时向我提问,,,我心里咯噔一下,感觉自己受到了极大的尊重(相比今天的苏宁和人人面试),顿时一股暖流涌入心上(和今天的两次面试产生的鲜明对比,真的让我在奔波一天之后还没吃饭饿着肚子感觉特别温暖),但是我没有时间多想,然后我像平常一样做完自我介绍之后,就回答问题,然后这次面试除了基础知识之外,还考察了很多思维性的东西,最最最最最不同的是,整个面试过程中,对于我不懂或者我回答的不全或者不好的问题,面试官不是像其它面试官一样,直接说:好,我们下一个问题,而是对我进行循循善诱,引导我说出正确答案,这是最最最最最令我佩服的,因为一个问题我本来是不直道答案的,最后被引导着说出了正确答案,自己都觉得不可思议,那种感觉真的很奇妙,最后面试结束的时候,面试官还主动站起来和我握手,礼貌的说声谢谢,送我出门(真的太好了,居然还送出门~~~),我赶紧配合,然后也说谢谢(内心:不愧是百度的面试官,那种对人的尊重和体现出来的素质,真的让我折服),我觉得这个面试官是我这次秋招以来碰到的最最最最好的面试官了,而且对我这个菜鸟做了就很多开阔视野的知识补充,我当时特别佩服他,所以在临走的时候有点舍不得,一下子不要脸,我就问能不能加个微信(嘿嘿),结果他居然同意了,然后小小窃喜之后,完成了百度一面。

在走出酒店之后,我的内心很复杂,首先是很饿,今天一天都没吃饭,但是感觉还好,因为我没有时间去把注意力放在饿着的肚子上,然后这次面试让我认识了一个特别特别特别特别好的面试官,不管结果如何,这次面试让我学到了特别多特别多的东西,不仅仅是知识上的,更让我折服的是面试官体现的那种素质,发自内心的崇拜,还加到了微信,以后有问题还可以再请教,这个又让我有点开心,然后今天的三场现场面试算是结束了,苏宁凉了,人人没面完,被我推到了明天上午,百度估计也是一轮游,唉,不想了,已经及其疲惫了,找个地铁口回学校吧,然后在地铁上突然接到了来自南京的一个电话,这才猛然想起,晚上七点的小米电话面试被我忘了,在犹豫接还是不接,心想接了吧,然后跟面试官说明一下我这边情况, 然后下个地铁站就下车,然后就在地铁站面试算了,结果面试官得知我在地铁上的时候,就说要不推迟到九点吧,然后我也答应了,随后为了赶时间,就叫了滴滴回学校,然后赶紧找个地吃了碗蛋炒饭,看着时间快到九点了,就回寝室等待小米的电话面试,说实话,当时自己已经非常累了,但是仍然要强行打起十二分精神,九点,结果面试官打来电话说,那边有事情需要处理,就推到了明天,我得知后,这才放松下来,一天也终于结束了。

3.3.4 为了争取一个面试机会

从上面讲到的“糟心的一天”开始,后面的面试就相继而来,先说下上面三家的最终情况,苏宁十分钟面试打发我走之后,没有任何消息,结果过了快大半个月,hr又给我打电话,也没告诉我前面的面试是否通过,直接就问了些hr常问的问题,因为反正不准备去,所以整个过程很放松,面完之后,到现在又没消息,呵呵,真是一家有趣的公司,然后就是人人,三面被我推到第二天上午之后,我第二天上午就去面了,三面面试官还是很不错的一个人,也很有素质,很礼貌,面完他告诉我武汉这边可能没有安卓的岗了,可能会去北京,当时可能我的小心思被他看出来了(我是这样想的,如果薪资低于15k,我就还是老实待在武汉吧),所以人人就没有后续了,最后是百度,百度的效率很高,第二天居然就通知我一面过了,内心那叫一个惊讶和激动,因为毕竟是没抱太大希望的,而且自己的一面我觉得表现的并不是特别如意,可能是一些开放性问题答的比较好,看出我的潜力了吗?(臭不要脸1次)又或者是被我简历上的照片所迷惑?(臭不要脸2次),哈哈,开玩笑的啦,我现在回头来看的话,我觉得面试官之所以让我一面过了,很大可能是因为我在整个面试过程中,表现的是一个很喜欢思考的性格,以小白的身份向他请教了很多问题(当然都是围绕面试官问我的问题),对于一些问题能有自己的思考,即便不那么正确,能够在面试官的循循善诱下,能最终找到正确的答案,我觉得可能是这个原因让我通过了面试。

随后中间穿插了一个顺丰同城科技的面试,本身我是并没有投递这家公司的,我投递的是顺丰科技,但是顺丰科技貌似简历都不了,笔试也没给,可能提前批招完了,我投递的时候已经招满了吧,但是顺丰同城科技给我发了招聘的邮件,告知了我现场笔试的时间和地点,我觉得人家非常有诚意,但是在时间上,下午2.30-4.30正好有腾讯的在线笔试,而顺丰同城科技的现场笔试时间是在下午5.00,也就是说中间只有半个小时的间隔时间,我学校过去面试地点要做2个小时的公交,当天晚上7.00还有360企业安全的在线笔试,也就是说我如果要参加顺丰同城科技的现场笔试的话,我必须得中午先坐车过去,带上电脑,然后找个地方先做腾讯的现场笔试,笔完,立马赶到顺丰同城科技的现场笔试点进行笔试,笔试完,再找个地方做晚上7.00的360企业安全的线上笔试。虽然我可以放弃顺丰同城科技的现场笔试,这样我就可以在寝室舒服的做两个线上笔试了,而且现场笔试都是985的学生,我过去真的会通过吗,可能十有八九就是千里送人头,但是为了给自己多争取一个机会,还是选择累一点,能争取的机会绝不放过,哪怕只有一丝可能,于是大中午的就跑过去,结果在笔试现场的周围找了半天,没有合适的地方,加上没吃午饭,就找了个兰州拉面馆,吃了碗拉面,吃完发现,哎哟,这的风景和环境还不错,主要是比较幽静,适合笔试(本来是准备去网吧的和麦当劳的,但是网吧没有插孔,怕电脑没电,麦当劳附近也没有),而且桌子下面正好有插孔,于是厚着脸皮跟老板说能不能在这坐一会,一会有些事情需要处理,然后老板人也比较好,就同意了,于是就不要脸的赖在了拉面馆,老板可能以为我只坐一小会,结果我笔试两个小时后坐到了4.30,老板估计内心有点崩溃,好奇我咋还不走吧(手动笑哭),做完腾讯笔试之后,迅速赶到顺丰同城科技的现场笔试点做完了笔试,感觉难度还是有点大的,一道数据库的联合查询没写出来,一道快速幂取余的算法题没写出来,心里感觉有点凉,但是也没多想,至少自己争取了,不留遗憾就行,然后晚上7.00-9.00做完360企业安全的线上笔试题之后,已经晚上九点了,然后坐车回学校,虽然本不必这么累,完全可以放弃卡在中间的现场笔试,但时在心里还是要给自己加油,一天结束。

3.3.5 收到的第一个offer

功夫不负有心人,在顺丰同城科技现场笔试完回到学校之后,当天晚上大概十点多接到笔试通过的电话,邀请第二天去现场面试,特别开心,感觉自己今天的选择是对的,虽然累,但是给自己争取到了一个难得的面试机会,切身体会到付出是会有回报的,感觉自己大老远跑过去做的一切都是值的,再加上之前面试美团让我有了自信,所以这次面试是我最自信的一次面试,第二天如约面试,没有了之前的忐忑和精神紧绷,而且面试官居然又是一个超级高冷好看的小(高)姐姐(因为感觉比较高,哈哈哈哈)(为什么我说“又”呢,后面就知道啦),这种感觉很奇妙,再加上我没有那么紧张,全称比较自信和放松,所以整个面试很流畅,最后小姐姐直接告诉我,我的表现不错,看能不能今天给我安排一下二面,然后看了下时间排序后,应该是今天排满了, 所以就推到了第二天,但是这都无关紧要啦,这次面试有一个非常好的积极作用就是对我进行了肯定,肯定了我的知识基础,肯定了我的自信的面试状态是非常好的,然后接下里的面试中,我就再也没有哪怕一丝丝紧张了,感觉自己状态特别好,对面试的态度已经发生了很大的改变,随后的二面,我也轻松过了,至此也面了几场了,基本轻车熟路,加上自信的状态,感觉已经可以应付大部分面试,二面当天面完后,面试官直接带我找了前台小姐姐,小姐姐带我去hr面,hr面完后,没几天就通知去现场签约意向,后来在签约当天才得知这个hr居然是北大的(厉害厉害厉害,我见到的第一个北大人,感觉和我们正常人长的挺像的,看着没啥区别嘛,手动笑哭),然后一同过来签约的都是武汉某985外加一个武汉某211,顿时感觉到压力,感觉周围都是大佬,内心悄悄告诉自己,要加油鸭。

在这之后,我算是拿到了秋招第一个offer,感谢顺丰同城科技,在摆脱了0 offer之后(之前没offer的日子真的心酸,本来自认为很乐观的我,晚上翻来覆去睡不着,焦虑,害怕失业,,,),秋招的巨大压力总算是可以减一减了,但是我还有百度的面试正在进行中,我在内心告诉自己要再争取一下。

3.3.6 百度offer Get !

继上次百度一面之后,同时有了顺丰同城科技offer,加上自信的状态,我的面试越来越流畅,感觉说话都比以前利索了(手动狗头),同时自然而然的回答一个问题的时候,逻辑也比以前更加的清晰有条理了,然后迎来了百度二面,当天上午赶到面试现场的酒店,清了清嗓子,整理下仪表,就进去面试房间了,一看面试官,哇,居然是小姐姐诶(超可爱超甜的那种小姐姐),这是我秋招以来遇到的第一个小姐姐面试官(顺丰同城科技是第二个,而且还是同一天,顺丰是下午,百度是上午),之前一直以为技术类面试官都是男的,感觉自己真幸运,哈哈哈哈,然后假装什么内心活动都没有,向小姐姐问好之后,递上简历,然后自我介绍,常规的项目介绍之后就是项目考察+基础知识考察,然后问了一道算法题结束,大约一个小时,面完之后感觉还行,但是又有一个定律是,一般自我感觉好的面试,往往是错觉,所以我也没敢肯定能不能过,猜不到小姐姐面试官会给我怎么样的评价,单从整个面试的聊天过程,她应该对我映像还不错吧(臭不要脸),但是女人心,海底针,还是不要猜测了吧,希望能过(内心:小姐姐那么美腻可爱,肯定会让我过的),然后就这样一天过去了,以为晚上会打电话的,结果啥消息没有,开始有点担忧了。

然后百度二面之后接下来的一段时间基本上处于阻塞状态,啥也做不了,也不想复习,就紧紧的抱着手机,一刻都不能让手机离身,生怕错过一个来自北京的电话,甚至做梦都能梦见自己接电话告知面试通过的场景,有时候一看手机,是北京打来的,然后马上从咸鱼状态进入正常状态,清清嗓子,“歪~”,“同学您好,我这边是XXXXXX,想邀请您参加我们的宣讲会,您有时间来参加吗?”,“。。。。。。好的,我会过去参加你们的宣讲会的。”,就这样持续了大概两三天后,一天晚上七点正在做滴滴的笔试,突然接到一个电话,“歪,您好,是hq吗?” “嗯,对,是的” “这边看到您二面过了,想跟您约一下三面的时间,XXXXX,您还看有空吗?” “嗯嗯,好,时间ok” ,挂断后,内心一阵狂喜,感谢美腻可爱大方善解人意温文儒雅的二面面试官小姐姐,然后已经完全没有心思接着做滴滴笔试了,脑子里全是百度三面的事情,最后做不下去了,直接关了笔试网页,当时更多的是开心和喜悦,但是据说百度三面是主管面,于是开始想,主管,那肯定是气场十分强大的领导人,能不能hold住这场面试,于是去牛客网看了下其它面试的小伙伴有没有主管面的帖子,但是没有找到什么实质性的东西,于是就索性坦然对待,明天面试就表现一个最真实的自己就行,抱着这样一个态度,我顺利完成了三面(主管很帅,看上去很年轻,气场也很足),三面主要是技术综合面,问了些操作系统知识,老实回答这个了解的不多,然后手写了两个简单算法(生产者消费者,字符串匹配),中间穿插一些工作地点的聊天,三面就结束啦,三面结束后,就回去等消息,这个时候,整个人才算是完全放松下来,静静的回去等消息,本以为我会很轻松,但是并没有,在结果没有出来的这段时间,基本上无心复习,又阻塞了,啥也做不了,吃饭也没胃口,睡也睡不太好,时刻关注着最新的状态,没事就跑去官网查一查状态,最后终于,在中秋节后的第一天,微信的等结果群里有小伙伴说官网状态变了,我赶紧登陆官网查看,没变,心凉了一大截,然后才发现那位小伙伴不是武汉地区的,猜测可能是分批变的,所以就又等,从当天上午一直等到晚饭时间,还是没变,实在是磨人,受不了了,就索性跑到床上去睡觉了,虽然睡不着,但是一直这样等,也是有体力消耗的,于是就眯了不知道多久,然后起床看时间,大约快的样子,再跑到官网一查状态,哇,,,,,,,,激动的不行,看着眼前的四个字

面试通过

开心开心开心开心开心开心开心开心开心开心开心开心开心开心开心开心开心开心开心开心
啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦阿拉啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦
嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻

然后才算是彻底放松下来,至此,百度offer Get !!!

3.3.7 秋招尾声

在拿到心仪的百度offer之后,心想的是秋招已经基本可以结束了,中间穿插着去面试了武汉金山WPS,一天走完二面+Hr面,中秋节后拒了,也很感谢金山能给我这次机会,金山那边氛围还是很棒的,然后对着自己的投递进度表看了下剩下的还有没有可以争取的,TMD JW,还有小米,这个时间节点大部分已经招满了,然后能有消息的基本早该有消息了,也不会拖到现在,所以还可以争取一下就是T和A,但是A的劝退笔试,如果没人捞的话,估计也不会有后续消息了,好消息是T后来给我面试了,然后我保持着之前的状态,顺利通关到Hr面试,当天面试完后,以为结束了,因为已经走完了两轮技术+1轮Hr,结果第二天下午再电影院看电影看的好好的,一个深圳腾讯的电话打过来,我以为是结果通知之类的电话,就接了,哪想到是一个部门加面的电话,全程死怼大学计算机基础,问的很深,差点hold不住,还穿插一些智力题,不过这个智力题是非常有意思的,如下

有1000桶酒,其中1桶有毒。而一旦吃了,毒性会在1周后发作。
现在我们用小老鼠做实验,要在1周后找出那桶毒酒,问最少需要多少老鼠。

感兴趣的可以思考下,很有趣,当时我没答上来,思路就有问题,最后感觉答的一般般,在面试的最后,面试官直接问我,如果给我offer,我最终会选择百度还是腾讯,我当时回答,会根据两个offer的工作内容来选择一个感兴趣的,现在回过头来想,还是年轻了,也可能是我内心已经有答案了吧,已经决定去百度了,如果我没有百度的offer,可能就直接表态,只要腾讯给我offer,我就过去,结束秋招。这是最明智的回答,后来过几天我去腾讯官网查状态,发现状态变灰了,也是意料之中,而且之前听说腾讯已经没啥hc了,我能走到hr面走完,再加面,我觉得自己已经可以了(悄悄给自己点个赞),从某方面来说,最后没给offer,我就不用去拒绝这样一个offer了,也不算是一个坏事,哈哈哈。

剩下的还有一些零零散散的笔试和面试,为了不耽误人家的招聘流程,我也都婉拒了,至此,我的秋招结束!

四、如何高效的准备校招

这个问题可能对于即将要参与秋招的同学,或者秋招以及考研失利,准备参与明年春招的同学来说是非常关心的,因为我曾经就是这样一个人,对于校招一无所知,不知道流程是什么样的,不知道该怎么去准备,只能自己摸索着准备,没有一个方法,所以就很可能会带来一个低效,耗时,结果还差的结局,所以我根据我自己的校招历程,总结一下,如果给我一次重来的机会,我会如何高效的准备秋招。

4.1 一个拿到offer的所有流程

我们首先需要知道在校招中,从0到拿到offer的整个流程是什么,这样我们再针对这个流程中的各个环节再去精心准备,才能有一个清晰的目标和方向。
首先对于校招来说,分为如下几个步骤

网申(投简历) -> 笔试 -> 一面 -> 二面 -> Hr面 -> 根据面试情况以及hc择优录取 -> offer

当然上面这个流程只是一个普适情况,例如腾讯就还会在hr面后来个加面,这些都是不确定的,不过我们不必惊慌,只要把上面这些环节做好,我们自然能达到宠辱不惊,以不变应万变,任他是什么加面还是减面,这都是小问题。

ok,然后再分别细说下每个环节,首先是网申,这个没啥好说的,去对应的招聘官网投递简历即可,如果简历筛选通过,然后会发给你笔试链接,否则,你就无法进入到笔试环节,按照我的情况来看,大部分公司还会很友好的,但是也不排除有一些比较“过分”的公司,例如,趣店,简历投递不到一个小时,一查,挂了,这也有可能是他们这个岗位的hc问题,人家招满了,所以为了不耽误你时间,直接挂了你。

这个时候,你来到了笔试环节,按照预定的时间,提前10-15分钟进入系统之后,一般会要求填写一些个人信息,然后这段时间最好能熟悉下系统,编程环境等,一般是牛客网和赛码网这两个平台,也可以提前关注下,笔试难度根据公司不同而有很大差别,一般包含基础知识选择题和2-3个编程算法题,还有一些会加几个问答题。笔试通过后,一般会以电话、短信、邮件这三种方式的其中一种通知你进行一面,当然也不排除有一些直接电话打过来就开始面试了,大部分还是会提前告诉你,或者预约一下的。

来到一面环节,一般考察基础知识,需要有扎实的大学计算机基础,才能比较轻松的应对,当然这只是普遍情况,也有一些一面上来直接问项目的,不过是少数,咱们还是那句话,面面俱到,宠辱不惊,一面通过后,会在0-3个工作日内通知进行二面,当然也不排除有的隔一个星期甚至以上的,所以不到最后,都还是有希望的,但是一般是0-3天。

二面和一面一样,只是考察的侧重点不同,二面主要是项目+基础知识进阶,一般比一面要难一点,如果二面通过的话,那么一般拿到offer的几率就比较大了,大约百分之七八十吧,刷人也主要是在一面和二面刷人,然后会在0-3个工作日内预约你进行hr面,如果没有预约,同样也没必要灰心,耐心等待,不到最后,都还是有希望的。

到了hr面,一般就相对前两面来说比较轻松了,这个面试主要是考察你的性格,以及岗位匹配度,比如你的工作城市是北京,问你能不能接受,工作时间上有没有什么要求,996能接受吗,加班怎么看,期望薪资等,这个一般如实回答就好了,主要是和未来的工作相关。

hr面走完而之后就是静待消息,然后公司会根据你的面试表现和当前hc情况,对所有候选人进行录用排序,最后择优选择。

被pick之后,一般会邀约你到现场进行意向书的签约(两方),或者给你邮箱发一封意向书的邮件,好了,你的offer已经到手,好好抱紧它别让它被抢走了哦!

4.2 基础知识如何准备

从上面一个拿到offer的流程来看,我们可以发现不管是笔试还是一面或者二面,都会涉及到基础知识的考察,所以在准备校招的过程中,最最最核心的就是要把基础知识打牢,具体包括,一门你最熟悉的语言,假设是Java,那么Java基础你肯定是要烂熟于心,包括

  • Java关键字的含义和作用
  • 接口和抽象类
  • 多态和继承
  • 装箱和拆箱

具体有哪些我会在后面整理出来,当然只会基础,可能二面就比较难,所以还要进阶,对于Java,进阶包括

  • Java内存区域
  • Java内存模型
  • Java GC机制
  • 多线程安全

这里只是举几个例子感受一下,那么我该如何来准备呢?答案:看书+实践+思考+总结
可能这样有点泛,那就举一个例子,比如现在在学volatile关键字的作用,初一看,没见过,没关系,这时候可以看书,或者直接百度博客去学,这时候你对它有了初步的认识,可能只是一个概念上的理解,但是我们要实践,真正的在代码中去感受这个关键字存在的意义,于是你写了一段代码,没用volatile和用了volatile是两个完全不同的运行结果,然后你再思考其中的原理,不懂,就再看书或者博客,最后你总算弄明白了这个关键字的作用,然后最最最最最重要的一步,请一定不要漏了,那就是总结,好记性不如烂笔头,请你将你的这次学习,归纳总结出来,可以是一个word文档,这样你下次想起这个关键字的时候,直接翻一翻你归纳总结的,可能两分钟你就明白了,而且这样也方便你在面试前快速高效的复习。

上面提到了看书,由于我对其它语言不了解,主要学习的是Java,所以我主要推荐一本书,书不求多,但求精,《深入理解Java虚拟机》,这本就够了,如果你是找Java相关的工作,请一定要买,你会回来感谢我的。
这本书在看的时候,一定要理解,反复看,直到理解为止,切不可背,否则面试官一问就知道了你的底,一般看个两遍就差不多了,然后Java进阶的知识你也掌握了一大半,剩下的可以通过去看面经来补,继续夯实基础和进阶。

说完了Java基础,其实还有很多其它的基础,包括计算机网络、操作系统、算法、数据结构、设计模式等,这些基础是所有方向都要考察的通用基础,除了这些,还有专业基础,这个就要分行业和方向的不同而区分了,比如Android岗的话,自然还有Android基础,后台的话,自然Spring那些基础要掌握。

只要我们掌握了方法,不管去学哪个基础都是可以高效和快速的掌握的,至于每个部分具体包括哪些内容,别急,这些我都总结好了,放在第六点 - 面经里面,咱们先一步步来。

4.3 算法题如何准备

关于算法题如何准备,这个其实是最不好准备的,也是最容易准备的,算法题在整个拿offer的流程中处于一个特殊的地位,在笔试环节中,基本每个笔试题,最后都是两道算法题,如果不能AC一半以上,那么通过笔试的几率就比较小,如果能全部AC,当然更佳,除了笔试,在一面和二面中,一般都会以手撕两道算法题来结束面试,当然这两道手撕的算法题如果能直接给出最优解并写出完整的代码,那么即便你前面的基础和项目答的并不好,也是一个非常大的亮点,也可以让你这次面试通过的几率提升很多,所以算法题起着举足轻重的作用,在整个offer流程中。

那么如何准备呢?首先关于算法,我建议首先在学算法前,先由简至难,基础掌握之后,直接去LeetCode官网从mid难度开始刷题,等mid难度差不多后,再挑战hard难度,一般做客户端开发,如果能够刷上50道hard难度的题目,基本大部分面试的算法题都可以给出思路了,如果追求完美和保险,建议hard难度的题能刷多少是多少,多多益善。

上面谈到由简至难,可能这个词又有点泛,所以我还是具体点,简,什么难度叫简?首先如果对数据结构还不熟悉的话,那么我是强烈建议你去先把常用数据结构做到滚瓜烂熟的,常用数据结构具体包括,链表(单向、双向)、栈、队列(双端队列、阻塞队列)、树(二叉树、平衡二叉树、二叉搜索树、红黑树)、堆、图(主要是深度优先遍历和广度优先遍历)。数据结构熟悉之后,再对基本算法思想有认识,具体包括蛮力、贪心、分治(二分)、递归、回溯、动态规划。每个算法思想,如果不能理解,建议找一个典型例题去感受这种算法思想,比如对动态规划很抽象,那么直接以实例去理解,例如01背包问题。

掌握了基本数据结构和常见算法思想之后,可以再拿七大排序算法来做开胃菜,具体包括冒泡、选择、插入、归并、快排、堆排、希尔排序,开胃菜完毕之后,就可以去LeetCode上按照我上面说的去闯关了,随着你积累到一定深度之后,我相信你这样一套下来,平常笔试中的算法题和面试中的算法对你都是小case了。

如果这时候你情况特殊,比如并没有时间允许你像上面说的那样去系统的学习数据结构和算法,那么有一条相对靠谱的捷径(捷径意味着风险),首先七大排序我希望能滚瓜烂熟,这是必考的,然后就是直接刷《剑指offer》这本书,这本书上大约有60道面试常考算法题,都是非常经典的,你很有可能遇到这上面的原题,但是你不能靠背这些题来通过面试中遇到的算法题,以我自己的经验来看,大部分是类似的题目,仍然需要自己去发散思维才能解题,但是这本书能够给你带来一个最大的好处就是他可以让你认识到,面试中的算法题是什么类型的,大多都是小而巧的算法题,我们可以通过里面的题目来感受难度和锻炼我们解这种小而巧的算法题的思维能力,比如找一个单向链表倒数第K个节点,相信大家都能做出来,但是要求只遍历一遍呢?这就是面试中的算法题。

4.4 项目如何准备

因为我自己是做安卓的,但是我想不管是哪个方向,关于简历上写的项目,面试官肯定都是会先让你挑一个最熟悉的来讲,那么问题来了,我该怎么将一个项目清晰的叙述给面试官呢,同时还要吸引面试官,让这个项目成为亮点?

关于这个问题,我们首先需要明确的是,我们在陈述任何一个问题的时候,逻辑一定要清晰,说话不要跳着说,那么怎么清晰的表达呢?分点+简洁的概括。怎么分点?比如有一个项目,我一般是分三点来讲述,一、这个项目实现的功能,二、你在项目中具体做了什么工作,三、取得的成效,然后就是简洁的概括出来,这个比较有难度,所以强烈建议,每个项目都按照这三点事先准备概括好,然后随着面试次数的增加,你就会形成肌肉记忆,之后,当面试官再让你介绍一个项目的时候,毫不夸张的说你会发现你可以不带脑子的回答这个问题。

如果还是觉得上面说的抽象和空泛了,那么我以我自己的一个项目来做个演示:
项目名:特种设备检测
项目介绍:这个项目名叫特种设备检测,手机端主要实现的功能是检验人员可下单完成电梯、起重机等特种设备的检测,以及提交检测报告,审核检验报告等(这是第一点,不要啰里啰嗦,两句话就够了)。我在这个项目中主要负责仪器申领业务模块的开发工作以及整个项目消息推送的实现,消息推送借助极光推送(这是第二点,仍然是两句话说完)。项目目前已经上线,能完成基本的业务需求,消息推送也能正常运作和服务(这是第三点,两句话说清楚)。

当然也可以在上面加上一些扩展,一般是项目中设计到的技术要点,例如RxJava+MVP+…balabala

总之就是紧扣分点+简洁这两个主旨,ok,这时候,你按照我的套路介绍完项目之后,面试官90%的可能会这样接着问你,你觉得这个项目最大的亮点是什么?或者你说下你做这个项目遇到的最大的难点是什么?很多时候,这个问题就把大部分同学难倒了,如果这个项目确实是很有难度,然后你在其中解决了一个非常牛B的问题,那么你可以忽略以下内容,但是我相信大部分同学的项目可能都和我一样,是一些非常普通的项目,并没有特别难的地方,那么就引出了这样一个问题,

项目太普通了,没有难度也没有亮点,怎么办?

我的回答是,你的项目不普通,也不简单。是你不会动脑思考这个问题而已,包括我自己,我在秋招初期面试蘑菇街的时候,被问到了项目最大的亮点是什么的时候,当时有点懵,我的项目的亮点?不好意思,我的项目没有亮点,谢谢(微笑脸),然后我随便说了个比较复杂的布局,因为我这里没怎么准备,所以说的也有点乱,最后他没听懂,也不想继续听了,这次面试之后,项目太普通没有亮点这个问题也困扰了我很长一段时间,我甚至开始抱怨我当初为啥没能做一个非常牛B的项目,都做的是这么普通的项目呢,其实这个思想就是错误的,本身项目是没有啥问题的,我们应该要学会发现项目中潜在的一些亮点,并正确的叙述出来,例如我的特种设备检测这个项目,在Android端确实没有什么亮点,但是我可以像下面这样说:

其实在Android这端的话,主要是做一些数据的显示和业务逻辑的增删改查,原生控件配合当前流行的开源库即可满足大部分场景,原生控件不能满足需求的话,则采用自定义view即可,如果要说亮点的话,可能对我来说一个比较大的挑战就是,我需要对整个项目的业务逻辑烂熟于心,因为我负责的业务逻辑正好处于整个业务流程的中间环节,我需要做好和负责前面业务逻辑的同学以及后面业务逻辑的同学的一个交接工作,我需要保证整个业务流程在我这里不出错,因为一旦我这里出错,很可能就会牵连到后面所有业务逻辑的同学的开发工作,带来一些灾难性的bug。

当然每个人的情况不一样,照搬可能不适用于你的情况,所以最好能加入自己的元素,我这里只是一个抛砖引玉,我相信即便你再普通的项目,多思考,多动脑,没有什么问题是没有办法解决的。

4.5 秋招一定要有实习经历吗

之所以写这个问题,其实也是因为这个问题曾经困扰了我很久,在我春招没能找到一个好的实习之后,我就在想一个问题,我到底去不去实习,如果去了的话,按照时间来看,秋招马上就要开始了,必然会影响我的秋招,但是如果我不去,我可以从现在开始全心全意的备战秋招,但是与之相反的是我参加秋招将会面临没有实习经验,我最后在几经权衡之后,还是决定去实习,我的想法就是,累就累点,我边实习边准备秋招。

最后从我自己的秋招经历来看,我觉得这段实习经历还是在秋招中给我加了不少分的,总的来说这段实习带给我的利是要大于弊的,好几个面试机会都是因为面试官对我这段实习经历感兴趣才给我面试机会的,比如B站,而且有了这段实习经历,在跟面试官聊项目的时候,也多了一个项目可以聊,不至于只有一个项目,虽然我在实习中做的工作不多,但是至少我参与接触了,剩下的就全靠一张嘴了(手动滑稽)。

话说回来,秋招一定要实习经历吗?答案当然是不一定。没有实习也没关系,只要你基础知识扎实,准备的足够充分,完全可以用自己的一些项目来弥补这方面的不足,但是如果能够去实习的话,最好是一些比较知名的公司,不是知名公司,你觉得能学到东西的公司也行,那么我还是强烈建议你去实习的,如果担心实习影响秋招的话,那么就累点,咱们边实习边秋招,既然做出了选择,那么这中间肯定有很多冲突的地方,比如没有时间复习怎么办,比如实习上班频繁接电话引起领导不满等等,这些问题,我相信能够想办法解决的,本身就只是一种选择,就看你愿不愿意那么累,因为毕竟又要实习,又要参与秋招,想两边兼顾,必然是要付出代价的,稍微好点的选择是实习公司最好是上五天班的那种,这样即便再忙,你周末也有整整两天时间用来复习备战秋招。

当然如果实习的公司特别好的话,还可以好好表现,争取转正,这样秋招就不用参加啦,提前结束秋招,美滋滋!

4.6 hr面如何准备

这个问题其实主要是针对校招小白的,首先有一点需要明确的是,一般技术面试到了hr面试,基本80%的可能就稳了,大部分hr面都是不会刷人的,当然一些极个别的公司除外,所以到了hr面,不用那么紧张,正常对话交流即可,我们先来看看一般hr面会问些什么问题,感受一下hr面的具体内容

  • 给前两次面试打打分?为什么?
  • 对上班时间有要求吗?加班怎么看?
  • 你压力最大的是什么时候,怎么应对的?
  • 你未来的职业规划是什么?

好了,你现在对hr面试的内容应该有了一个初步的了解,主要就是一些价值观的问题,基本上只要你思想正常,没有什么极端或者奇葩的思想,怎么回答都是ok的,然后这里有一点我要说的是,在hr面试中,要尽量做到谦虚和礼貌,同时不要去说谎,真诚的回答就行,如果你特别想去这家公司的话,还有个小技巧,这里后面说到。如果你实在害怕在hr面试中不知道怎么回答这些开放性问题,那么有一个简单的方法,你可以在第六点-面经中,我搜集的常问hr问题,你可以对着这些问题,把答案事先准备好,到时候被问到就直接按照准备好的答案回答,这样不至于hr面试的时候手足无措。

4.7 最最最最重要的简历上写的知识一定要会

这个之所以放到最后,是因为这个是最快速有效的短期速成准备方法,如果我们因为总总共原因,在时间上不允许像上面那样去系统的准备基础+项目+算法,那么我希望你至少做到简历上的写的知识能够经得起问,所以,简历上写的知识就一定要滚瓜烂熟,个人建议,尽量写自己熟悉的点,和尽量写有难度同时自己又有把握回答出来的点,你肯定会说有难度的我都不会,只会些简单的,那就是之前没准备好,所以准备的意义也就在这里,如果实在是没时间,那么可以挑两到三个点,例如Java的话,Java GC机制,Java synchrnoized关键字(锁),不求多,但是要能做到经得起问,然后写在简历上,这两个点,花个2天应该能搞定,然后其它的就尽量写自己会的。

写完简历之后,一定要知道自己简历上涉及了哪些知识点,自己再将这些涉及到的知识点都总结归纳出来,例如,写了Java多线程,那么怎么保证多线程,多线程锁的类型,常见的生产者消费者模型手写,这些就必须要会,当然你也可以假设自己是个面试官,看到自己的这份简历,可能会怎么来考察自己,无非就是写了什么就尽量问什么,对吧,所以最保险的就是把简历上的知识点抽取出来,然后罗列一个知识点清单,再对着这个清单上的每个点去一个个总结归纳能考察的问题。

五、秋招简历和面试技巧

在整个春招到秋招的过程中,其实所有的技巧都不能算是技巧,只是一些个人觉得比较有用的办法,对我来说,真正谈得上技巧的可以就用两个字来概括:

记录

所以,不管你是对什么做的归纳总结,请一定要将其记录下来,可以是word文档或者markdown文档或者自己喜欢的形式,然后最好分个类。下面开始具体讲这些“有用的办法”

5.1 简历怎么写

其实简历怎么写这个问题,基本上已经被说烂了,但是我还是啰嗦一下,我就主要说一下如果找技术类岗位,简历该怎么写,首先,技术类岗位的简历不要花里胡哨的,不要弄一些很炫的背景图之类的,完全没有必要,这样做不仅仅没有加分,反而只会影响面试官阅读你的简历,对面试官产生干扰,所以只需尽量的追求简洁和突出核心内容即可,基本上只要围绕这两点来写就没什么大问题,然后我们需要知道简历需要包括哪些内容,一般简历包括如下内容:

  • 个人基本信息,姓名,手机号,邮箱,学历(本/硕),现居地址,博客(若有)
  • 技能证书,六级证书等
  • 荣誉奖励,竞赛获奖,奖学金等
  • 教育背景,大学名字,学院,专业等
  • 实践情况,主要介绍大学四年做了哪些有意义的事,和工作方向相关,否则就不要写了
  • 项目情况,下面会具体讲到怎么写
  • 个人技能,主要写会的知识,比如熟悉Android四大组件等

如果你觉得对于具体的某一块内容不知道怎么去以简洁和突出核心的表达出来的话,咱们就还是举个例子来说明,比如在简历中我想增加一个项目经历,如果不做任何优化的话,你可能会像下面这样写

在2017年9月至2018年4月,跟随导师项目组做了特种设备检测项目,APP端的主要功能是检验人员可下单完成设备检测以及撰写审核检验报告等,主要人员有后台开发10余人,APP端5余人。在项目中,我主要担任Android端开发, 主要负责,APP端仪器相关业务模块的实现,以及项目整个消息推送的完整实现。涉及到的技术有RxJava+Retrofit+RxAndroid+Glide+极光推送+后台SSM。

ok,如果你是面试官,你看到这样一“坨”文字,有想读下去的欲望吗?而且作为面试官,必须要在短时间内浏览一个应聘者的简历,然后开始面试环节,所以像上面这种表达形式,我是不推荐的,那么我们怎么围绕刚才说的两点,也就是简介和突出核心,来做出相应的修改呢,见下图
在这里插入图片描述
怎么样,有没有觉得这种描述方式相比上面更加的突出重点,更加的言简意赅,而且还分点,看着舒服多了,面试官可能完全不必要去浏览下面的文字,只浏览一下标题部分就知道这个项目的大致内容了。

可以说我的简历,几乎全部采用这种形式来描述,包括实践情况,项目经历,以及教育经历,除了这点之外,还有一点需要注意的是,在我们描述项目经历的时候,可能有多个项目经历,所以就涉及到一个排序问题,较符合正常人阅读的习惯是从上往下,所以我们简历上同一栏的内容最好是按照从上往下按时间倒序排列。

再就是一些细枝末节的问题,比如在描述个人技能的时候,尽量分点分类来答,同时注意用词的准确性,最好不要写“精通”等过于浮夸的字眼,尽量用“熟悉”“了解”“基本”等字眼,首先你如果在简历上写你“精通Java”,面试官一看,居然说精通Java,然后就是对你底层JVM一顿狂轰滥炸,所以咱还是低调的好,空说无凭,我放上我自己的个人技能的描述,如下图
在这里插入图片描述
然后还有一个比较常见的问题就是,作为一个技术类简历,到底需不需要放照片在上面,这个问题其实仁者见仁,智者见智,我觉得最好放一下,即便颜值不是那么高,但是你可以花钱去一些专门拍摄证件照的店去照一个漂亮的正见照,拍完之后人家会给你修一下图,还有PS美图,所以,你懂的(手动滑稽),大概需要花个50块钱左右,但是我觉得都到了找工作这个节点上了,这点钱就没必要省了。

5.2 简历中的重点和闪光点

当然如果我们需要自己的简历在成千上万份简历中脱颖而出,除了按照上面的方法去修饰简历之外,还需要明白哪些点是简历中的重点,然后尽量将这些点放在显眼的地方,那么具体有哪些是简历中的重点呢?主要包括项目经历和实习经历,这两个尽量放到简历的正中央区域,其它的荣誉奖励,个人技能等,可以 放在侧面或者最下面,教育情况一般放在最上面,也就是我们的简历最终完成之后,一眼看过去,看到的主体内容是项目经历或者实习经历,这样效果就比较好。

说完了重点,再说说简历中有哪些可以博得面试官青睐的闪光点,既然是闪光点,那么肯定是一个很大的加分项,对技术岗来说,主要有这些闪光点

  • 有属于自己的博客,里面的博文都是有质量的
  • github上有开源的库,或者对某个流行开源库有过重构或者代码贡献
  • ACM竞赛金银铜奖

当然除了这些,例如我找的Android岗的话,如果能有自己完善成熟的上线作品,能够直接掏出APP现场演示给面试官看的话,自然也是一个非常大的加分项。

5.3 笔试中的小技巧

笔试的具体内容上面已经说过了,一般时间是两个小时,比较合理的时间安排是,40分钟做完30-40道选择题,剩下1个小时20分钟做最后的两道算法题。

选择题都是基础知识考察,这里更多的是考察的一个知识的广度,不会考的很深,所以遇到听都没听说过的名词是再正常不过的事情,广度嘛,当然如果按照我上面说的方法准备充分了,基本没什么大问题。可能唯一需要注意的是在后面的编程算法题,在最完选择题之后,请一定要先把所有的编程题都浏览一遍,然后选择最有把握的先做,我见过太多这种比较坑的试卷,第一题难度极高,花了一个小时,最后只AC0.2,然后剩下一点点时间,再来看第二题,wc,第二题这么简单,但是因为第一题浪费了太多时间,所以急急忙忙的做送分题,结果本是送分题的因为时间关系却没AC,这就很亏了,希望你们不要重蹈我的覆辙。

5.4 面试中的小技巧

5.4.1 大厂面试和小厂面试的内容区别

从春招到现在大大小小的面过小公司,也有大公司,先说下小公司的面试和大公司面试内容的最大区别:小公司要求比较低,问的问题更多是偏向实际业务解决问题的,然后问题具有很大的跳跃性和随机性,更多的是对着简历问。既然对着简历问,所以只要简历上的知识点滚瓜烂熟,基本就OK。大公司要求稍微高点,但是不难,偏基础,偏深,他们需要的就是“底子好”的人。

我们知道小公司和大公司面试内容的区别之后,就可以心中有数,怎么去准备了。下面说下面试中的开始环节,自我介绍怎么说,然后就是面试遇到不会的,怎么回答。

5.4.2 自我介绍怎么说

其实这个问题也没有一个固定的答案,所以仁者见仁,如果你不知道怎么合适的进行自我介绍的话,可以参考我的方法进行自我介绍。

首先我们需要知道我们的自我介绍包括哪些内容,首先是个人信息,然后就是自己的求职方向,然后可以介绍一下自己大学期间主要做了哪些事情,最简单的就是大一做了什么,大二做了什么,大三做了什么,实习做了什么,但是在介绍做了什么的时候,不要脱离带水,啰里啰嗦,要言简意赅,一两句话即可,我知道这样理解起来可能还是有点抽象,那么我就直接把我的自我介绍拿出来,按照上面的思路,看看我的自我介绍:

面试官,您好!,我叫XX,在大学期间主要学习的是Java和Android,我在大一大二期间主要是在学校的XX工作室学习和接触了Java和Android,在这期间做过XXX项目,在大三期间,跟随学院导师项目组做实际项目实战,参与了XXXX项目的Android端开发,前段时间暑假,去XXX公司实习,现在刚实习完回来。主要情况就是这些。

当然每个人的经历不同,所以只需要按照我上面说的思路去自我介绍,就像套模板一样,然后你就每次自我介绍就这样向面试官介绍自己就Ok了。

5.4.3 遇到不会的怎么说

这个问题其实既简单也难,我建议要分两种情况,如果面试官和你现在聊的很嗨,或者说你们现在聊的氛围是比较融洽的,那么遇到不会的(完全不会的那种问题),如果是电话面试的话,可以这样答:很抱歉,这个问题之前我还没有关注过,回去把这个问题详细的了解一下,学习一下。如果是现场面试的话,可以尝试这样答:不好意思,我这个问题真没有注意过,可以向您请教吗。因为是现场面试,所以面试官在给你讲解的时候,是比较方便的。电话面试有时候不那么方便,对于一些复杂的问题,可能面试官不太方便给你讲解。

如果你和面试官的氛围此刻比较庄严(这种情况一般是面试官比较高冷,或者是部门主管面试,气场比较强的),遇到不会的就直接坦诚相待,直接回答:这个了解的不多,我还不懂。

总之,这里最最忌讳的就是:不懂装懂。千万不要不懂装懂,这样会引起面试官的强烈反感。

5.4.4 向面试官提问环节

不管是电话面试还是现场面试,在我们面试的最后,面试官一般都会这样问我们:好了,我这边没什么问题了,你还有什么问题要问的吗?针对这个问题,网上有各种姿势的回答,我觉得都ok,但是就我来看,我觉得这个问题最优秀的是这样回答:可以请您对我这次面试做一个点评吗?(屡试不爽,/斜眼笑)
这样回答有什么巧妙之处呢?首先你可以从面试官的回答当中,知道你在这次面试中的不足,这样可以每次面试都是一次查漏补缺和提高,其次,这样问,会将主导权再次交给面试官,会让他在整个面试中都处于一个主导地位,或者说“高姿态”,他会觉得很舒适,试想,如果你在最后提问环节,一不小心问了一个他不会的问题,那岂不是。。。,对吧,所以这个回答是非常巧妙的。

其次,如果你觉得在这次面试中,感觉和面试官聊的很嗨的话,你也可以问一下应聘的这个职位在工作中主要做哪些业务,来表达你对这份工作的关心(都tm是套路)。

5.4.5 电话面试需要注意的

在电话面试中。为了我们整个电话过程的顺利进行,请务必选择一个安静的环境,保证手机电量充足,同时手机的一些消息推送的铃声,尽量都关闭,为什么呢?亲身体会过的自然就懂,在打电话的时候,邮箱和垃圾短信过一会来一个,过一会来一个,每来一个就“叮咚”一下,有时候面试官说的一个问题都听不清楚,然后还得再问一遍,带来极不好的体验,也影响自己的心情。

5.4.6 现场面试需要注意的

现场面试一般需要携带简历,所以不要忘记携带简历,简历最好是彩印,不要舍不得钱,都这个节骨眼上了,然后就是主动向面试官问好,递给面试官简历,然后面试官会让你做个自我介绍,然后你按照上面的套路做完了自我介绍,然后面试官再开始考察你的知识。

然后,对现场面试来说,如果是酒店单独的一个房间的话,那还好,如果现场环境比较吵的话,那就一定要注意说话的声音不要太小,然后面试的桌子上一般会有草稿纸和笔,这个纸一般用于面试结束的时候,给你手撕两道算法使用,但是这个纸我们最好把它利用起来,当我们阐述回答一个问题的时候,尽量分点写在纸上,同时还可以配合画图,这样面试官更容易理解你的答案,同时这也是我觉得现场面试相对电话面试一个最大的优势,因为对于有些问题,在电话里去纯口述,真的不太好去说清楚说明白,现场面试有了纸之后,就完全不一样了,资源要学会利用。

5.5 其它需要知道的点点滴滴

这里主要列举一下秋招中其它零零碎碎的小细节。

5.5.1 如何高效的获取招聘信息

秋招形式一般分为两种:正式校招和内推。校招,我们可以直接去公司的官网注册填写简历申请即可。内推相比校招,其实也没什么优势,如果能走内推就走内推,可以稍微快点得到反馈,同时为了保险,也要去官网走一下正式校招(有的公司不需要)。

如果是校招,虽然我们可以直接去公司官网申请,但是那么多公司,我怎么知道有哪些公司开始校招了呢?所以我们需要知道在国内,有哪些比较知名的大公司,这里推荐一个网站,牛客网,牛客网上有一个宣讲日程,这里面会把国内知名的公司都罗列出来,然后也会写上校招开始的时间,你可以对着上面罗列的公司,一个个去官网投递,如下
在这里插入图片描述

如果是内推,内推信息一般获取的渠道比较多,推荐几个比较靠谱的渠道:

  • 牛客网讨论区的帖子和搜索栏搜索
    在这里插入图片描述
    例如,我想找阿里的内推,直接搜索,阿里内推,即可。
  • 微信公众号,例如:内推军,以及当地985、211学校的就业官方微信公众号
  • QQ群、微信群,一般是985、211学校的求职交流群

最后个人强烈建议,对自己准备投递和已经投递的公司作一个记录,可以用excel做一个表格,方便自己掌握自己的投递进度,同时也可以知道自己目前投递了哪些公司,心中有数。

5.5.2 秋招“提前批”

这里主要说下,关于秋招的另一个概念,叫做“提前批”,说实话,我在没参与秋招之前,是完全不知道秋招居然还有“提前批”这个东西的,之前只知道金九银十,就傻乎乎的以为秋招真的只是九月份才开始,现在才知道是多么的年轻,其实提前批,顾名思义,就是企业为了争抢人才的一种手段而已,大概在七月中旬开始,持续到八月底。同时这个阶段的招人要求也相对来说高一点,一般这个阶段能拿到Offer的话,给的钱也比较多,俗称sp(special offer),相当于提前拿offer,如果对自己能力比较自信,然后也在这个时间点准备充分了的话,建议直接参加提前批,提前进入秋招状态,到时候也可以为九月份的正式秋招减轻一些压力,否则大部分公司积压到了九月份这个时间点,很容易引发时间上的冲突。

如果提前批开始了,但是你还没准备好的话,这时候一定不要急,再抓紧准备一段时间,等正式校招开始的时候,再开始投简历,参加正式批。

5.5.3 时间冲突了怎么办

如果你像我一样,投的公司特别多的话,那么难免会遇到一天的同一个时间点有两个甚至三个笔试,导致时间冲突,那么这种情况,首先需要明确哪些笔试是可以顺延的,一般如果笔试机会只有一次的话,那么在笔试通知邮件中是会有红字标注的,所以如果冲突了,尽量选择只有一次笔试机会的做,其它的选择放弃参加,然后写上“时间冲突”,下次笔试的时候,就会再发给你一封笔试邮件。

如果两次笔试的机会都只有一次,并且时间冲突了,那就只能选择一个来做了,这时候,我的建议是,如果是两个差不多的厂(都是非BAT),那么我建议选择一个自己喜欢的做,如果是和BAT或者其它你非常想去的厂冲突了,那么尽量选择BAT或者你特别想去的厂。

如果是面试时间冲突了,比如之前约好下午两点去XX酒店面试,结果后来这个点有其它的面试或者笔试,那么我建议你尽量想办法找到hr的联系方式,然后打电话过去问,请求修改下面试时间,大部分情况下都是可以修改的,如果实在不能修改,那就还是做一个选择吧。

5.5.4 素质(软实力)加分点(说话逻辑清晰,响亮。)

这里说的素质(软实力),其实不仅仅只是在面试中才用到,很多时候,我们生活中也需要这样去做。主要包括如下几个要注意的点

  • 礼貌,在电话面试的时候,我们要主动问好,自我介绍的时候也是一样,要说:“面试官,您好”,然后再继续其它的,在现场面试的时候,也是一样,主动问好,然后如果是面试地点是在酒店的某个房间内的话,那么这里有一点我个人认为比较重要的建议,一般在你到达酒店房间门口的时候,会发现房间门是开着的,这时候可能有些同学就直接“冲”进去了,这样不是特别好,建议最好是先敲一下开着的门,以引起里面面试官的注意,然后他会让你进来,这时候你再进去。
  • 仪表,对技术面试来说,一般不需要穿正装,但是一定不能穿的太随意,太花里胡哨的,比如花花绿绿的就不太好,做到穿着打扮给人干净整洁大方即可,男生的胡子和头发,女生就可以画个淡妆。
  • 谈吐,很多人面试的时候会非常紧张,导致说话声音很小或者磕磕巴巴的,其实这样给人的映像不是特别好,要知道一个人在一个团队中,是需要和其他人去交流的,所以一个人的谈吐和交流表达能力非常棒的话,也是一个加分点,会给面试官留下一个很好的映像。这方面如果有所欠缺的话,可以通过下一个点来弥补
  • 回答问题的逻辑性,这个其实也是应该要归类到谈吐里面的,但是我专门拆分出来,就是因为这个是可以训练的,怎么做到回答问题的逻辑性很强呢?分点答,不管我们回答什么问题,我们要形成分点回答的潜意识,比如,面试官问到:线程的实现方式时,你的第一句话应该是:线程的实现方式一共有三种,然后再说:第一种:XXX,第二种:XXX,第三种:XXX。
  • 语速控制,这个其实也是要归类到谈吐里面的,但是我为什么又专门拆分出来了呢,是因为这个也有一个比较好的训练方法,通常我们在面试这种不那么放松的场景下,语速很容易不自觉的过快,那么怎么控制呢,我的办法是,压低声音,降低声调,但是并不是小点声音,可以自己练习一下,同时这样做还可以缓解情绪,做到有条不紊,显得很沉稳。
5.5.5 如何克服暂时没有offer的压力(保持体力)

在秋招的这段时间内,如果你和你小伙伴一起秋招的话,当别人陆陆续续拿到offer之后,而自己还是0 offer,那么这种感觉是非常难受的,特别是部分心理素质不是很好的同学,可能会失眠,可能会吃不下饭,可能会觉得要失业了,啥也没心情做,但其实可能只是差了点运气或者公司流程慢等原因,我在牛客网看到一句特别映像深刻的话:offer会迟到,但是永远不会缺席。希望你带着这句话在秋招中迎接你的offer。

那么话说回来,我们如果真的因为0 offer而感到焦虑和压力,应该有什么办法来缓解呢?这个其实也因人而异,首先你要明白这是对自己的一个考验,当做一个对自己的考试,大不了就明年春招再战,是吧,何况秋招只是自己人生链表的一个节点而已,总会next的,所以心态要放平。

我就说说我是怎么缓解的,可以化压力和动力,疯狂复习整理的知识点,或者复习剑指offer上的算法题,充实自己的时间,这样就没有太多时间想那些有的没的。或者,去良品铺子买很多好吃的小零食~~,看到这么多好吃的零食,心情就会好许多了(手动滑稽)

5.5 让我们回到最初的起点

好了,到这里,基本上一些该注意的点和技巧都说完了,这时候,如果你是一下子看完的,你肯定觉得内容有点多,一下子接受了很多东西,有点消化不过来,所以,我建议你此刻

新建一个word文档,或者拿出一支笔和一个小本本

(为了让你们确实付诸于行动,真正将我的东西转化为你们自己的东西,我也是煞费苦心)
开始你的记录,从第四大点,如何高效的准备秋招,到第五点,秋招简历和面试技巧,以及后面的第六点面经,从这三点中提炼出你认为对你自己最有价值的东西,然后记录下来,从此刻开始,希望你养成一个记录-总结-记录-总结的习惯,直至你收获到你满意的Offer,当然日后的code生涯中,也希望你一直能够将这个习惯保持下去。

六、Android岗面经大全(含Android+Java+网络+算法)

如果你把上面的准备和技巧看完的话,出现最多的一个词就是基础知识和基础知识进阶,所以这个“基础知识”到底是什么,具体到每个问题又是什么,所以我按照我整个春招到秋招所遇到的问题,将其整理了出来,用以参考,主要包含Android、Java、计算机网络、算法这四个大类,本身还有另一个大类是项目,但是因为各个方向不同,所以涉及到的项目也不同,这个就因人而异了,只要按照上面说的“如何去准备项目”来准备就行。

但是毕竟我一个人精力有限,整理的面经难免会有片面的地方,所以我们需要知道从哪里获取面经。

6.1 如何获取面经

这个其实网上零零碎碎有很多,但是最快速最有新的获取最新的面经的方法还是:牛客网 -> 讨论区 -> 笔经面经

6.2 我总结的面经

主要分为四个方面

6.2.1 Android

首先Android这一块,个人建议除了一些基础知识上的正确理解之外,一定要看源码,至少要看Handler机制、AsyncTask以及两三个开源库的源码,有时间的话,可以对着下面的清单该看源码的一定要看,例如Glide、OkHttp等,这样你才不会被打上,只是一个会使用工具的人的标签,而是一个懂得工具原理的人,这会让你在面试中有一个很大的加分。

  1. Android各个版本的特性(例如6.0,动态权限)
  2. ANR的原因
  3. Android中进程间通信的方式和对比
  4. AsyncTask的实现原理及优缺点
  5. Handler机制
  6. 自定义view三部曲,流程(或者实际场景题,例如实现一个表盘,怎么做)
  7. FrameWork层次结构
  8. Activity生命周期(A跳转到B,A和B中生命周期的执行顺序)
  9. Dvlik、ART、JVM三种虚拟机的区别
  10. 能不能在非UI线程更新UI
  11. Service和IntentService的区别
  12. Thread和HandlerThread的区别
  13. Touch事件分发机制
  14. 怎么知道一个Activity是否发生了泄露
  15. 从点击一个APP图标开始发生了什么
  16. Activity启动流程(源码看一遍,能大致讲出来就行)
  17. Activity启动模式(四种)
  18. Intent启动Activity的方式
  19. onStart和onResume的区别
  20. LruCache以及实现原理
  21. Android中的MVC、MVP、MVVM的区别和联系
  22. Parcelable和Serializable的区别
  23. Service生命周期
  24. Service的启动方式及区别
  25. Binder机制
  26. onSaveInstanceState和onRestoreInstanceState的调用时机(需要理解,一般会出个场景让你判断)
  27. onNewIntent的调用时机(同上)
  28. Android中的性能优化和内存优化
  29. RxJava说一下(常用操作符,背压,线程切换原理,实际应用)
  30. RxAndroid说一下
  31. EventBus原理
  32. Volley原理
  33. OkHttp原理
  34. Retrofit原理
  35. RxJava和Retrofit结合
  36. Dagger2原理
  37. 组件化介绍一下(为什么要有组件化,怎么解决合并冲突问题)
  38. 快应用介绍一下
  39. 屏幕适配的常用方法
  40. Service、进程保活
  41. Glide原理
  42. AsyncTask原理
  43. SurfaceView和普通View的区别
  44. 依赖注入框架的实现原理
  45. Git项目管理
  46. 什么是三级缓存
6.2.2 Java(重点)

这里罗列的知识点,很多都是需要去真正消化理解,例如知道了保证线程安全的实现方式,那么也要会解决一些实际场景,比如手写一个生产者消费者模型,或者,一个线程打印奇数,一个线程打印偶数,交替打印,最终输出1,2,3,4…等。所以不要死记硬背,理解性记忆也是最高效的一种方式。

  1. 常用的设计模式(掌握常见的大约10种就Ok)
  2. ThreadLoal的作用及原理
  3. 线程的实现方式和实现原理
  4. 线程的状态,怎么创建线程,线程状态之间的转化(例如什么情况下线程会由运行变为阻塞)
  5. 进程的状态
  6. transient关键字的作用
  7. sleep()和wait()的区别
  8. hashcode()方法的作用
  9. ==和equals()方法区别(为什么重写了equals()方法还要重写hashcode方法)
  10. Java的三大特性
  11. 接口和抽象类的区别
  12. 进程和线程的区别
  13. 线程池各参数的含义,以及四种常用线程池的应用场景
  14. 阻塞队列的特点和原理和应用场景
  15. yield()方法的作用
  16. 多线程锁的类型,ReentrantLock,Lock,synchrnoized关键字等
  17. volatile关键字的作用(在单例中的作用)
  18. 闭包的概念
  19. 泛型(什么是类型擦除,为什么要有泛型)
  20. 锁优化方式(自旋锁、自适应自旋、锁消除、锁粗化、偏向锁)
  21. 类执行顺序
  22. StringBuffer和StringBuilder的区别
  23. HashMap的实现原理(最好是1.8之前和1.8之后都要知道)
  24. ConcurrentHashMap的实现原理(同1.8之前和之后都要知道)
  25. ArrayList和LinkedList的区别
  26. Java内存区域(堆区和栈区的区别,什么是运行时常量池)
  27. 装箱和拆箱
  28. OOM异常
  29. GC机制(GC区域,如何判断一个对象是否可以回收,GC算法,GC策略)
  30. 类加载机制(类加载过程双亲委派模型)
  31. Java内存模型(主内存与工作内存)
  32. 原子性(AtomicInteger原理)、可见性(volatile关键字)、有序性,如何保证
  33. 先行发生原则(happens-before原则)
  34. 线程安全的实现方法
  35. 锁的类型(悲观锁,乐观锁CAS算法,公平锁,非公平锁等怎么实现)
  36. StringBuffer和StringBuilder区别
  37. 注解(自定义注解)
  38. 四种引用的概念和区别
6.2.3 计算机网络

这部分因为我简历上写的是HTTP、TCP、UDP,所以一般问的就是这三个协议,也相对简单点,所以只要把这三个协议的方方面面都掌握就基本ok了,尽量不要写其它的协议,避免挖坑。

  1. HTTP协议(头结构,几种请求方法,缓存机制,各版本的区别)
  2. HTTPS协议,和HTTP协议的区别,密钥协商的过程,SSL机制
  3. 对称加密和非对称加密
  4. TCP和UDP的区别
  5. TCP的三次握手、四次挥手(包括状态码,以及四次挥手后为什么要等待2*TIME_WAIT)
  6. TCP拥塞控制机制
  7. TCP滑动窗口机制
  8. TCP超时重传机制
  9. DNS协议
  10. 五层网络模型(物理层,数据链路层,网络层,传输层,应用层)
  11. IP头部
  12. 在浏览器地址输入一个网址,发生了什么
6.2.4 数据结构及算法
  1. 链表(单向链表,双向链表)
  2. 数组(旋转数组)
  3. 队列(双端队列,阻塞队列,优先级队列)
  4. 堆(大根堆、小根堆)
  5. 二叉树(完全二叉树、满二叉树、二叉排序树、平衡二叉树,红黑树)(深度遍历,层序遍历)
  6. 图(重点掌握图的深度优先遍历和广度优先遍历)
  7. 七大排序算法(冒泡,选择,插入,归并排序,快速排序,堆排序,希尔排序)
  8. 剑指offer上的算法题(能够对着目录,一看题目,能有思路,就ok)
  9. 二分查找
  10. 两个栈实现一个队列,两个队列实现一个栈
  11. 海量数据排序
  12. topK问题,有1千万个数,怎么快速找出最大的100个
  13. 合并两个有序数组,合并两个有序链表
  14. 杨氏矩阵(横向递增,纵向递增)中如何找到指定的数字
  15. 翻转一句话,例如I am 3 years old,翻转后,old years 3 am I
  16. 有10亿条数据,现在只有200M内存,怎么找出这10亿条数据中出现次数最多的100条数据

结语

总的来说,在这次秋招中,让我深有体会的主要有两个点,一个是,早做准备比什么都重要,大部分秋招得意者都是从春招开始就持续准备,成功和机遇总是会眷顾有准备的人,运气在这中间固然会占有一些比重,但是仅凭运气,是远远不够的;第二个,在面试中,一个人有没有自信,完全可以判若两人,同时也会很大程度上影响最终结果,自信,真的是一种很优秀的品质,这种品质会让你整个人散发无穷的个人魅力

再说一些心里话,真心的希望这篇文章能够帮助你们收获满意的offer,这是我这篇文章的初衷,然后秋招真的是一场长跑,既然是长跑,所以有毅力和能坚持的人才能跑到最后,而这一切的前提都是我们需要有一个健康的身体,不管处于哪个阶段,我们都要按时吃饭睡觉,保持充沛的精神(又啰嗦了一下,舒服了)

最后再说下我最近的一些小思考,人的一生感觉就是在不断的做着各种各样的选择题,每个选择都是自己做的,追随本心,这些选择本身是无所谓对与错的,在这些选择中磕磕绊绊的回首与前行,最终这些选择连成一条折线,指示着我们人生的方向,绘制着我们的生活,活出自己,世界很精彩,潇洒的体验这个世界的美好。

我的学生生涯结束,即将迈向人生的下一个阶段,期待ing!!!!!!

  • 42
    点赞
  • 56
    收藏
  • 打赏
    打赏
  • 26
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:精致技术 设计师:CSDN官方博客 返回首页
评论 26

打赏作者

黄庆庆

觉得有用可以赞助下呀

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值