有过迷茫,有过努力,也有不少收获。为了记录这一年以来的感觉,因而有了这篇文章 壹 offer一览面试
offer状况算法
通过了长达一年左右的复习,秋招也收到了几个比较满意的 Offer,参加面试的都经过了。 百度,企业智能平台; 阿里,高德地图,部门已联系,目前还在申报 Offer 中; 腾讯,IEG 游戏平台,后台研发,SP; 字节跳动,头条后台研发,SSP; 华为,Cloud Bu; 网易游戏,梦幻事业部; 顺丰科技数据库
贰
复制代码
前期准备编程
前期准备安全
也是在去年十一月份左右,看着身边两年制的同窗经历了长时间而又艰难的秋招,我开始意识到本身应该提早准备了,不然本身的秋招会很惨。微信
本科的时候,虽然学过计算机网络、操做系统和数据结构等课程,并且 Leetcode 也刷了一两百题,可是离招聘要求还差的很远,学的都很浅只够应付考试,也没有实际的项目经验。网络
个人研究生方向是计算机图形学,研究生期间主要作一些科研项目。在选择招聘方向的时候,我也纠结了是否是找图形学相关方向的,可是考虑到图形学的选择不是不少,因此仍是决定投后台研发相关的岗位。数据结构
因而开始收集各类学习资料,也买了不少纸质书。最开始的学习效率并非很高,很迷茫,以为要学的内容不少无从下手。那时候看别人的面经,感受本身太弱了,不少内容都没接触过,因而更加迷茫。迷茫的时候总想着逃避,要是不复习多好,玩玩游戏天天多简单。架构
可是游戏玩的越多,那种焦虑感越是强烈。解决焦虑的惟一办法就是想办法解决当前问题。当慢慢地从消极的学习态度中调整过来,掌握的知识越多,那种焦虑感也随之消失。固然这个过程并不容易,不只须要很好的毅力,也要根据自身状况找到问题的有效解决方法。并发
叁
复制代码
春招历程 春招开始
三月份各个公司就开始春招了,那时候刚把一些基础知识简单地复习了一下,Leetcode 刷到了三四百题。可是没有后台研发相关的项目,因而花了一个星期左右用 PHP 作了一个微博系统。当时作简历特别痛苦,没内容能够写,看着其余人简历各类新技术,本身都没掌握,因此很虚。
阿里一轮游
最开始投的阿里,实验室大几届有个师兄在天猫精灵团队,因此给我内推了。因而我人生中第一场面试就是阿里,很天然地被虐了一遍。记得当时约好下午两点电话面试,午餐都没吃,怕吃完以后犯困影响状态,而后找了一个很安静又没人的地方呆到了两点,调整本身的状态。
但是面试官忽然打电话来讲有个会议要开,因此推迟了大概一个小时。苦苦等到三点左右,面试正式开始,不出所料面得很是糟糕。首先本身表述的颇有问题,不少内容没回答到关键点上,本身会的内容也不怎么继续扩展回答。
其次知识掌握得确实不够,连线程安全、ThreadLocal、函数式编程都不会。虽然被虐的很惨,可是也有好处,知道了面试究竟是怎样的,本身还有哪方面的不足,该怎么准备。
腾讯被鞭尸
第二场面试是腾讯,在经历了阿里的面试以后,而且又继续复习了一段时间,我对面试就比较有信心了。一面其实回答的挺理想的,虽然不少问题没有立马回答出来,可是通过面试官的耐心提示以后都能回答一些内容。
当时面了一个半小时,面试体验特别好。印象比较深入的题目有,阅读一个 Redis 源码,分析存在哪些问题。其实就是一个计数器实现的限流算法,会有临界值的问题,可是当时没回答出来,只能听面试官给我解释。还有一个微信扫二维码,这个过程发生了什么,也没回答得很好,不过面试官也很耐心地纠正我回答上的错误。一面顺利经过了,可是总监面挂了。
总监面没有问什么技术问题,就是问了问项目和职业规划。本身的项目确实比较 Low,我本身在介绍的时候也说得很不堪。职业规划我说本身但愿在一些方面深刻学习,由于本身如今在这些方面还很薄弱... 面完以后我就知道挂了,由于整个面试过程我都特别虚,还主动说本身技术能力不行。不出所料,面完的当天晚上,状态变成了不合适。
可是过了几天,忽然收到腾讯的电话,问我是否愿意去深圳参加面试(笔者学校在广州)。固然我绝不犹豫地答应了,很开心腾讯还能给我机会。通过了上一场面试的启示,此次面试我表现地很是自信,本身知道的知识都颇有信心地表达出来,被问到不会的内容也不会那么慌张,和面试官探讨一些细节,而后说说本身的想法,还有本身看过相关的内容。
因为这是腾讯云部门,对 Linux 内核和 C++ 有很高的要求,问了几个相关的问题我都没回答出来,好比如何实现守护进程,Linux 信号机制,Linux 线程的不可中断阻塞状态如何进入等等。除了这些问题,其它地回答的都还行。遗憾的是,当天晚上面试官打电话告知我面试没经过。可是他说我其它方面都很不错,因此问我愿不肯意参加腾讯云 Java 部门的招聘,因而次日我又去了一个新的部门面试。
此次面试是在部门的会议室进行的,进到公司以后说实话没有本身想象中那么好,工位很挤环境通常。一开始就先随便聊聊,学校的研究工做,学习之类的。而后看了看项目,看完以后我就知道凉了一半,这个项目确实太水了,面试官看了以后没有接着问,也能感觉到面试官有点嫌弃。而后他就问了一些基础知识,问到进程调度算法,面试官让我实现一个任务调度系统。
由于是第一次手写代码,并且以前确实没考虑过这个问题,而后就胡乱写了一堆代码,特别乱,并且处处涂改。显然面试官是不满意的,写了也有十几分钟以后,我本身都知道已经凉了,而后面试官没让我接着写,也没给我任何提示,说就到这里,面试结束了,还有没有什么问题想问的。
固然看过任务调度系统相关的文章会以为挺容易的,好比使用时间轮实现等等。我依然记得面试官送我出门时候的热情,送我坐电梯的时候还很热情地和我说,很是感谢参加本次面试,辛苦了。
肆
复制代码
春招战果 虎牙过于自信
通过了阿里和腾讯的面试以后,我以为本身大概已经知道该怎么面试了,面试时候该注意什么,该怎么表达等等。并且腾讯面试表现也不差,虽然最后没经过。因此在虎牙面试的时候特别放松,以为应该能经过。
前面面的也都还行,虽然有几个问题没回答好,好比分析一下微博的时间线。经过了第一轮面试直接等第二轮,等到了晚上七点多才等到我。虎牙面试仍是很注重技术的,虽然问的都不是很深刻,只要简单回答到点上就不会接着问下去。
二面也有一些问题没回答好,好比 ConcurrentHashMap 的并发机制,问 Spring 直接说不会。也有一些问题回答得比较乱,没有条理。可是我以为大部分问题都回答的不错,应该能经过。
但是面试完以后,面试官问有没有什么问题要问他,因为太过放松,我就问大家都加班到这么晚不吃饭吗,好饿啊,周六周日还加班吗... 问完以后面试官就很严肃了,说日常不加班的,我忽然意识到了问题的严重性... 最后仍是凉了。
百度第一个offer
被三家连续拒了以后,都开始怀疑本身了,不过仍是提醒本身要保持信心。
幸运的是,百度的面试很是适合我,三轮都是技术面,并且手写算法题目居多,而我准备最多的是算法,因此很顺利经过了面试。可是面试表现并无特别好,过了比较长的时间才被捞,并且是工程效率部门,作内部工具的,对我的成长并很差,因此不是特别满意。
网易游戏 最好的游戏体验
其实最开始没有打算投网易游戏的,由于被脉脉洗脑,已经放弃了作游戏。可是由于前面面试基本被拒了,担忧没有实习 Offer,所以就试试看。
由于没有特别想去网易游戏,因此面试过程也比较放松,就当去聊聊天。面试官很是 nice,那天下午挤了好久地铁,比较口渴,而后面试官看我说得沙哑了,到门口帮我买了一瓶可乐,很是感激。面试以前我就提出我对 C++ 不熟悉,最近主要看 Java 的内容。
面试官仍是说不要紧,尽可能回答就好。固然最后我都把问题往 Java 那里回答了,好比 Map 的实现,内存管理等等。最后聊了一些玩过的游戏,就让我回去等消息。网易游戏就一轮面试,确实就一轮。周五参加的面试,下周一就给 Offer 了,效率特别高。
微众玄学面试
经过微众面试我本身都很是吃惊,一面的时候就简单自我介绍了一下,而后面试官开始介绍他本身的工做经历,以及如今部门在作的内容。
以后问了我一个场景分析问题,我想了一下子没想出来,因而面试官拿起草稿纸把各类需求详细说了一遍,而后把系统架构图也画了出来... 最后他问还有什么我优点的地方他没问到的,我问他怎么不问问算法题,他说笔试都经过了不必再问。
面完以后我以为聊得很开心,可是技术问题没回答好,出乎意料收到了二面通知。二面没问技术,就让介绍了项目,再问问家住哪之类的问题,也顺利经过了。HR 面就不用介绍。
收到了微众的 Offer,得知了部门是贷款科技部,很是核心,很吃香,近几年也在扩展一些业务,仍是有点当心动的。虽然最后没选择去微众实习,可是一面面试官加了我微信,我很感谢他一面很是耐心给我讲解,并让我经过。他说我是他面试的第一顺位,也就是第一个面试者,因此会放宽不少,也但愿我秋招能加入他们。
伍
复制代码
实习回忆 实习选择
其实最理想的是去百度实习,秋招也会容易不少。可是考虑到百度是在北京,部门很边缘,并且须要实习很长时间也不必定能转正,因此仍是放弃了。 最后只能在网易游戏和微众选,虽然本身不想作游戏,可是考虑到网易游戏的平台承认程度比微众好,秋招确定会更容易一些。并且秋招若是还想进微众的话也会比较容易,由于面试官和 HR 都说秋招的时候会优先考虑我,因此最后仍是去了网易游戏实习。
实习以前的快速学习期
经历了春招以后,认识到了本身身上的不足,好比交流表达能力的欠缺,知识积累得不够,项目深度不够。所以在实习以前的两三个月,开始针对这些问题逐个解决。 交流表达能力欠缺,就提早准备好各类非技术问题,而后对着镜子回答,把本身当成听众,而且也用录音机录下来。 知识积累不够,采起的策略是保证广度优先,而且在重要的内容上保证深度。其实以前基础知识已经掌握的比较好了,再学其它技术的时候都有不少相同的地方,因此学起来很快。 项目深度不够,就把那个微博系统作了一点改进,学了 Spring 以后改用 Java 实现。 不那么安心的实习
去实习的时候仍是挺惊喜的,由于我被安排的工做是游戏引擎相关的,和本身的研究生方向紧密相关,我以为作完实习项目以后本身的毕业论文也会比较有灵感。
但不幸的是,在去的第一天部门接待聚餐上,服务端主程就说,咱们部门工做制是九九六,如今互联网都是九九六。在实习以前我了解的是实习生六点就能够走,并且只用上五天班,听到他这么一说心都凉透了,由于已经想好了晚上和周末时间用来复习。若是知道是九九六,我会选择去百度。
其实网易游戏部门氛围仍是不错的,对员工很好,并且个人实习导师人也很好,在我生病的那几天很关心我。可是九九六的工做制对秋招复习仍是有很大影响的,并且天天上下班花在路上的时间超过了两个小时,下班回寝室以后总想着看会儿视频休息一下,而后又要早早睡觉赶着次日上班。没办法只能在上下班地铁上复习,还有就是午休时间接着复习。
陆
复制代码
秋招启程
秋招准备
实习以后已是九月份了,那时候已经错过了全部提早批。并且实习的时候没怎么复习,九月初仍是感受没怎么准备充分,因此就又等了半个月才开始投简历。
可是这个时候和春招相比,已经把大部分后台研发相关的知识点过了一遍,不少重要的内容前先后后也看了十几遍,没有春招时候那么迷茫和焦虑。即便被问到没有掌握的知识,我也有把握经过讨论的方式,给出大概的思路,由于不少技术确实是相通的。
阿里看不懂的内部流程
秋招第一个投递的依然是阿里,最开始系统自动发起了一个新的流程,而后过了几天自动回绝了... 八月末的时候也找人内推了,可是又被阿里直接回绝了... 那时候已经以为多是春招面试表现太差,今生无缘阿里了。
但是过了一段时间,正式校招的时候,阿里又发起了一个新的流程戏弄我,收到笔试通知的时候,我还犹豫了到底参不参加,由于那时候已经九月中旬,据说阿里已经没有 HC 了。并且按前面回绝个人态度,感受即便笔试经过面试也经过不了。
笔试那天晚上,原本准备看个电影放松一下,后来想了想仍是参加了笔试,笔试各类机器学习和数学题,感受拿错了试卷,笔试完我已经把阿里从个人公司进度列表中删除了,再也不纠结阿里。但是过了一段时间收到阿里的面试通知,我觉得是走走形式,可能参加笔试的人不多了,因此才选中我参加面试。
那时候阿里招聘官网状态一排的已回绝,让我对阿里有一种恐惧感,以为面试确定挂。可是真正面试的时候却意外的顺利,收到二面通知的时候特别激动,而后面完二面又让直接等 HR 面,HR 面虽然不是很理想,可是没有很大的问题。
又过了很长一段时间,在我去深圳参加腾讯招聘的高铁上,收到了高德地图 HR 的电话,问是否愿意去。虽然得知部门在北京有点小失落,可是仍是很开心终于被阿里承认了,摆脱了对阿里的恐惧。
实验室上届毕业在阿里云的大佬某天忽然和我说,他们部门有新的 HC,让我把简历发给他,他要帮我内推,会帮我安排一场线下面试,若是经过的话,到时候和高德的 HR 沟通一下,直接把我从高德捞过来。
很感谢大佬向他老大极力推荐我,给我了此次面试机会。线下面试也很顺利,聊聊实习项目,问问个人开源博客,而后问些 Paxos 等分布式的问题,还有就是手写代码,信号量实现生产者消费者,以及一个位运算的问题。
其实位运算的问题面试的时候写的不完善,面试官让我以后完善了再发给他,由于面试一个多小时有点长了。事后我写了详细文档讲解了思路,以及使用 JUnit 进行了详细的单元测试,把文档和代码都发给了他。如今面试已经经过了,可是最近阿里集团 HC 比较紧张,也不知道能不能批到 HC。
百度又是不那么满意的部门
虽然阿里是最早开始流程,可是第一个参加面试的是百度。由于实习的时候经过了百度的面试,因此此次面试仍是比较有信心的。百度面试连续三天,都在同一个地方,最后签约也在同一个地方。还记得每次都坐一个小时左右的地铁去那里,路线已经很是熟悉了,和天天去实习的感受相似。
百度面试比较注重技术,三轮面试基本都是问技术问题,并且问的也比较深刻,内容也很是广。可是面的不是那么理想,有两点缘由,首先是由于确实有些知识点还没掌握好,好比 AC 自动机,系统故障分析等等;其次是对实习项目的描述上还不够好,没有把实习内容的闪光点描述出来,也没有讲清楚为何作这个项目,本身经过什么方法去作,以及最后的结果。
最后百度给了白菜价,部门是企业智能平台,主要是内部系统,虽然会接触到机器学习和大数据。
腾讯虐我千百遍
秋招腾讯第一场面试和实习参加腾讯面试的感受很是像,第一轮技术面感受很好,手写堆排序算法,二部图分析等等。
面完以后通知待会儿二面,听到以后仍是很激动的,以为此次应该没问题了。我在等二面的时候,碰到了室友(他常常不住宿舍,因此不清楚他也去面试),聊着聊着竟然发现我两是同一个面试官,并且他是来二面的,也就是等一下我两就要一前一后进去面试。
二面的感受和实习二面很是像,非技术问题回答的支支吾吾,而后面试官开始质疑我说的内容,给我压力,我没有当场反驳,就说了哦,好像是这样的。由于面试官全程都绷着脸,因此我也比较紧张,不少问题没回答好。
过了几天,室友和我说收到 HR 面试通知了,我去官网看了一下状态,已经变成了熟悉的不合适。此次面试失败的主要缘由是本身在应对这种压力时处理地不是很好,主要体如今失去信心以及紧张。
解决方法也简单,作好充分准备来保持信心,受到质疑的时候积极反驳,紧张的时候计时调整心态,能够试试深呼吸或者喝水。
由于实习有被捞起来的经历,因此被拒以后我特别但愿能继续被捞起来,而后把简历上的面试城市改为了深圳。苦苦等到深圳场面试的前几天,在不经意的一个下午手机忽然响了,我记得是短信邮件同时收到面试通知。因而又开始了新一轮被腾讯虐的面试之旅。
一面和以前同样也是意外地顺利,虽然问了一些 C++ 的问题,可是我都说到 Java 相关的实现上。在一些问题上确实回答的深度不够,好比网络编程里面的水平触发和边缘触发等问题。而后问了几个算法,原本要求手写,我说我实现过,因此就讲了讲思路。
面试和腾讯第一场面试同样持续了一个半小时,面试官也很好,不少问题都会给提示,即便最开始回答的有问题。二面面试官也很好,问了问实习项目,而后再聊一聊一些技术,通过了以前的面试,到此次面试真的就像在聊天同样而不是面试,咱们都会说一些对技术上的理解。
HR 面其实面得不好,对于非技术问题的吹水能力我仍是不太行。最终和我预期的同样,给了我 SP 的 Offer,由于以为本身面得还能够,可是也不够好到给 SSP,有些 C++ 问题仍是没回答的特别好。
柒
复制代码
秋招收关
头条意外的惊喜
以前看到学弟收到头条的 Offer,薪资很是诱人,因此也想去试试。也据说头条面试难度很是大,主要考察手写算法,由于本身算法方面准备得比较充分,因此以为会比较顺利,可是也没有特别高的预期。
前两面中规中矩,算法题和其它问题我都回答的比较好,到三面的时候,问了一个错排问题,其实最开始我给了正确的递推公式,但不是面试官想要的答案,因此让我再想一想。
我想了十几分钟仍是以为没问题,那时候以为本身已经凉了,由于面试官一直不满意。后面的几个问题也没回答的很好,分析一个 SQL 语句的具体执行过程,好比会怎么利用索引,怎么优化之类的,虽然在他的提示下仍是回答了,可是感受并很差。
面完以后我立马查了一下那个错排问题,证明了个人答案是正确的,因而写了一个详细的文档,联系 HR 让她发给面试官。出乎意料的是,HR 让我不用担忧,他说面试官对个人评价很好... 不过最后仍是让她把文档发给了面试官。
以后收到了加面通知,头条加面有两种状况,一是三轮评级都是 4 能够评 SSP,二是面试官评价差异很大,再面一轮决定是否录用。收到加面的时候彻底不知道本身属于哪种,感受两种状况都有可能。加面回答的也很差,主要是问项目,面了 25 分钟就草草结束,最后面试官说有些内容须要找一些文献参考参考。
面完以后我以为,即便我属于第一种要评 SSP 的状况,加面面的那么差应该也没但愿了。苦苦等了好多天以后,最后肯定是 SSP 以后,仍是很惊喜的,感受是对本身这么长时间复习的一个承认。
顺丰最后的保底
投顺丰是由于九月中旬不少公司都结束了招聘,因此那时候比较慌,就投了顺丰当作保底,顺便也练练手。最开始还担忧顺丰笔试没经过,由于编程题最后一题没作出来,那题的题目都出错了,并且题目是网上直接 copy 过来的,网上的源码都不能经过,更别说我本身的实现了。
顺丰面试主要问了数据库的内容,并且问的特别深,几乎把每种日志的实现和做用都问了一遍。面顺丰的时候也比较早,那时候有些问题的回答上没有组织好,回答得比较凌乱,虽然最后也算给了一个小 SP。
华为最纠结的部门
去华为面试确实是没有压力的,由于都知道华为面试不怎么问技术,虽然仍是问了我一些技术问题,不过不是问的很深。面试主要介绍项目,我对本身的实习项目仍是比较有信心的,由于以为作的确实不错,并且面了不少场了,知道该怎么介绍项目。
面试官问我我的意愿,我说本身对分布式中间件等比较感兴趣,因而面试官把我推荐到了 Cloud Bu。原本没打算签华为的,现场签约也就去看看到底给我开多少。
最开始其实给我开了十四级最高的薪资,我原本不是很想去,虽然对这个部门感兴趣,可是薪资确实比不上头条。而后随口问了一句可不能够给十五级,原本 HR 说是能够试着申请一下,不过最后没申请成功。
捌
复制代码
小结 不少人都说,面试和考试同样,要背不少没用的东西。最开始我也认同这种见解,但是参加了几场面试以后,我就不这么认为了。由于面试出的问题,有不少是实际开发中碰到的,因此准备面试至关于提早作入职准备。并且面试中考察的思惟能力、交流表达能力、应对压力能力,都是真正工做中所须要的。
我以为本身比别人作的好的地方是,有很强烈的想找到好工做的意愿,才驱使我不断学习,因此态度很重要。
信心源自于充分准备,有了信心,面试的时候才能游刃有余。而毫无依据的自我感受良好,在每次失败以后都看不到自身的不足,而是怪罪于外界因素。