2019求职记录(最终稿)

本人机械专业研究生,求职转行码农,求职目标为C++相关岗位。2019年伊始,开始求职至今,现将各种经历做一个总结。

1月

一月面的是网易互娱定向预研项目。此前,由于对求职方向迷茫以及其他一些事情,浪费了时间,因此这时的C++水平和计算机专业知识不多,去面试毫无疑问被虐。
定向预研项目总共面了两个课题,共4次面试。

第一个课题:全身反向动力学

一面

面经如下:
1.自我介绍:科研+学术经历+社团经历
2.为什么选择游戏设计
3.之前的游戏设计经验
4.Python相关
(1)装饰器?
(2)类方法&实例方法?
(3)生成器?
(4)如何遍历Python的list?
(5)使用迭代器遍历和非迭代器遍历区别?
(6)如何自己实现迭代器?
5.C++
(1)多态性?
(2)父类析构函数定义为虚函数后果
(3)malloc和new的区别
(4)vector容器相关知识
6.算法
冒泡排序
链表:如何判断链表是否是循环链表?
算法题:最大子列和
7.操作系统
8.反向动力学
解析法,雅克比迭代法,CCD
9.反问:非CS转行CS的素质

分析

现在看这些问题,其实都不算难,但是当时比较菜,所以只答上来50%。这一面过了。

二面

二面是去网易在杭州滨江的公司面。面经如下:
1.自我介绍
2.在学校的项目
3.反向动力学算法再谈
4.技术面试
(1)类的特点及作用
(2)基于接口的编程内容及优点
(3)Python的内存回收机制
(4)C++的new生成的数据在内存的什么位置
(5)引用和指针的区别
(6)设计模式方
(7)Python类方法的继承以及函数的扩展
(8)Python变量的作用域,重名变量处理
(9)排序算法:各种排序算法及时间复杂度
(10)100万个玩家的得分,每1分钟更新前100名玩家,如何实现?(TopK问题)
(11)手写代码,给定二叉树层序遍历顺序,将其转换为二叉树
5.是否应用过骨骼绑定

分析

现在来看,经过这次面试,菜的程度进一步暴露。这一面不出意外地挂了。

第二个课题:寻路算法

上一轮挂了之后,给了一个重新选择课题的机会,于是选择了这个。同样进行了两轮面试。

一面

吸取前两次的经验教训,这次面试之前复习了一下之前面过的题,并准备了一些问题,不过没有经过系统的学习,只靠背题,还是不行。这次是电话面,而且还有三四天就过年了。
面经如下:
1.自我介绍
2.C++相关
(1)虚函数表,虚函数指针,多重继承下的虚函数表,派生类调用基类虚构函数
(2)析构函数指定为虚函数
(3)结构体等的内存对齐
3.python相关
(1)“==”和“is”的区别
(2)可变对象和不可变对象
(3)小整数缓存
(4)循环引用及如何消灭
(5)元类
(6)GIL锁
4.算法和数据结构相关
(1)堆排序,堆的实现
(2)二叉树的遍历及实现(先,中,后)
(3)链表反向打印:栈、改结构、二叉树的中序遍历
(4)N个数里找k个最大的
5.是否有过寻路算法的相关研究经历

分析

此次面试仍然是只回答上50%的问题。虽然通过了,但是经过前三次面试,感觉还是要尽早学习一遍。

二面

二面是年后,是电话面试。在过年期间除了做没有卵用的假期作业(奇葩的小老板留的),准备了一些链表和二叉树方面常见的算法题,同时确定了回学校后需要学习的内容。
二面面经如下:
一 自我介绍
1.开发方面的经历
二 C++:
1.New/Delete和malloc/Free区别
2.四种强制类型转换:静态转换、常量转换、重解释转换、动态转换(完全不知道)
3.类的虚函数的作用;B类继承A类,AB类中均定义S函数;内部机制(虚函数表)
4.inline内联函数。
5.代码到生成可执行文件的流程;
6.智能指针(也是完全不会)
三 Python:
1.mutable/immutable可变对象与不可变对象
2.list和tuple各自的优势
3.字符串用+连接的缺点;如何连接?
4.Python如何实现垃圾回收(引用计数)
5.==和is区别
四 算法:
1.寻路算法如何实现(A点到B点)
2.图的深度优先和广度优先搜索
3.如何减少无效搜索(不可达点)
4.排序算法:冒泡,选择,堆,插入,希尔
5.排序算法稳定性如何衡量
6.C++中sort()为什么采用快排

分析

这些问题现在来看应该能答上来80%,当时还是太菜了。此次面试也不出意外的跪了。

2月

寒假结束后回校开始学习操作系统、计算机网络相关的知识,同时巩固C++知识。当快速阅读一遍《C++编程思想》第一卷后,更为之前浪费的时间赶到可惜。第一卷涵盖了许多之前问过的题。
操作系统和计算机网络则以视频为主。为了在3月的暑期实习招聘中能有所准备,采用视频学习的方式快速学习。

3月

由于奇葩小老板时不时恶心人,因此投递了阿里、网易互娱、网易雷火、华为、海康威视、蘑菇街、微策略等在杭州的公司。其中,海康威视和蘑菇街直接建立跪。
阿里的面经之前写过,在如下链接中:
https://www.nowcoder.com/discuss/172869
网易互娱的笔试题对于3月份的我来说很难,只会一道题。同时,由于不了解牛客做题的“循环case处理”,导致唯一会的题一分没得,网易互娱笔试跪。
微策略的面经如下:
技术面

  • 自我介绍
  • 如何获取最新技术的消息,接触到最新技术的信息
  • 了解的C++11新特性(说的智能指针)
  • C++多态和虚函数
  • 如何实现一个只能在堆上建立实例的类
  • 设计模式了解哪些(在寒假的时候看过一些,不过都忘了)
  • 内联函数,将频繁使用的函数定义为内联函数有什么弊端(会造成汇编代码重复过多,代码冗长)
  • 什么是死锁?
  • 算法题,在字符串b中将字符串a中出现的字母删除(原地,采用哈希加双指针可解)

HR面

  • 中文自我介绍
  • 英文描述自己是什么样的人
  • 英文描述微策略和阿里巴巴的区别
  • 中文,如果微策略和阿里巴巴同时给你OFFER,你选哪个?(透过现象看本质,问的其实是找工作看重什么)
  • 如何看待996
  • 职业规划是什么?

分析

微策略的技术面面试官非常nice,一种是在和你探讨技术问题的状态。问题回答对了会总结一下这个问题,回答不上来也会讲解思路。体验很好。
微策略的面试是通过了,但是由于暑期实习名额有限,因此成了备胎。

4月

华为3月末做笔试,笔试题比较良心,得了300多分,但是面试就被安排去面嵌入式了,岗位被安排的完全不匹配。感觉华为的招聘有点乱,首先官网投递时候就分不清每个城市的具体岗位工作,其次感觉如果不加几个交流群,和部门的hr套近乎,很容易被安排。而且同样水平的人,如果之前和hr接触过,被录取的概率感觉也大。秋招的时候要盯紧华为的各个交流群了。。。

5月

在去做华为的心理测试那天中午,简历被阿里钉钉的人捞起来了,就突然来了一场视频交叉面。面经如下:

  • 自我介绍
  • C++内存分区,重复释放同一块内存会出现什么问题
  • 进程和线程的区别
  • 什么是死锁
  • 写代码1:Python写,一个有100个元素,奇偶交替的数组,找出最大的10个。(这是两个问题,首先要实现奇偶交替的数组,然后是TopK)
  • 写代码2:由于我说C++水平一般,就给我出了一个反转链表的题
    此次面试结束后,布置一个任务,在五一假期学一下Objective-C和IOS开发,假期结束后再面一下。现在来看,其实考察的是有没有一套合理的学习方法,包括学习目标的确定、学习资料的选择、学习成果的检验。而我只是快速看了一下OC的知识,然后写了一个小的APP,这可以说是入门了,但是对于钉钉的要求,是不够的。因此,面试跪。

可以说,暑期实习全线崩盘。5月在学习的过程中,又陆陆续续投了一些小公司的实习,也都没有回应。一度怀疑人生。同时,决定如果月末找不到实习,就准备秋招,反正大的公司不要,还有小的公司。这期间也反思了一下各个面试,发现还是缺少一些套路,比如项目经历的叙述格式(总分总,STAR),一些经典HR面的问题,而是觉得只要回答上技术问题就行。因此,也读了一些关于面试的书籍,调整了一下面试方法。

6月

有一些企业6月开始了提前批,投了VIVO、多益网络、字节跳动的提前批。VIVO投的是安卓开发,只是看到安卓开发的语言要求也有C++,就试着投了一下。VIVO的面经之前也写过,链接在下面:
https://www.nowcoder.com/discuss/198861
也是没想到能够得到一个Offer,无论怎样,这是一次久违的胜利。
在VIVO面试之前,和同学聊了一下找工作的事情,觉得不应只专注于这些互联网企业,机械专业与计算机结合或许能发挥优势。因此投了中望龙腾的提前批,还有601所的暑期开放日活动。这两个的方向都是CAD开发相关。中望的面经如下:
电话面

  • 自我介绍
  • 项目介绍(军工项目,别指望我在牛客上说出来,哈哈哈)
  • 用过什么设计模式(接连被问,在这轮面试结束后,我把工厂模式和单例模式的代码钉在办公室面前的墙上,之前墙上还有各种排序算法的代码,二叉树非递归遍历的代码)
  • 平时有什么爱好,说的读书,类型科幻,然后让我推荐一本,我推了何夕的《天年》
  • C++小问题,在main()中sizeof(a),a是一个字符数组,和在一个函数中sizeof(a[]),输出的结果。(第一个我觉得应该是64,第二个和系统有关,64位x系统的输出是8)
  • 排序问题:问一下快排和冒泡排序
  • 反问:问了一下他们的业务和产品

现场面
去广州现场面试,先进行一小时的笔试,笔试题目都是C++相关的,而且在牛客网上刷到过原题。简答题部分有两道没做出来,第一个是如何输出代码的行数、所在文件和所在函数(结束后查了一下,不禁感叹)。还有一个是编码实现,判断一个点是否在椭球体内,这个不知道椭球体的公式无从下手。
随后的面试不涉及技术问题,只是对简历进行询问,问了项目,问我有没有从事过软件开发(简历上写了开发的项目)整个面试过程感觉对方的态度不是很好,对机械专业似乎有点歧视,觉得你没开发过软件来凑什么热闹的感觉。
这里不禁要感叹一下:互联网公司歧视机械出身的也就罢了,一个CAD软件公司,做出的产品被机械专业的人用,而且招聘要求里的专业要求有机械,为什么还歧视?我们研究所本来就是机械和计算机结合的,对CAD的了解可以说从使用和开发方面都有,这怎么还被专业方向匹配的公司的人歧视了?也许真的是我菜,不过也确实,现在研究所都做项目,没人研究,一切以赚钱为主。如果我不转行,老老实实跟着老师走,毕业后可能机械的工作都难找,还是要提升个人实力。
中望的现场面试就一轮,然后就让回去等结果。从网上搜到的信息,和之前电话面对方说的流程看,没有总监面和hr面,应该是跪了。不过,也算收获了一次经历,同时去广州转了转,见了见老同学,也可以了。
---------------------------------------------更新-------------------------------------------------------------
最后,中望软件还是跪了。不说什么了,归根结底还是自己能力需要再提高。

7月

投了多益网络和字节跳动的游戏专场。不出意外的笔试都跪了。多益网络跪的原因在于前面的小题不太扎实,字节跳动也有这方面的原因。因此接下来需要加强对选择题的练习,在暑期多刷刷题。
7月中旬去了航空工业沈阳飞机设计研究所的暑期开放日,也是想着1-6月那么惨,可能是因为就业方向有问题,于是不如走机械和计算机相关的岗位。总体感觉,如果想在沈阳定居养老,这个研究所是个不错的选择,如果想要赚钱,那么这里还是不要选了。我选择的是数字化设计仿真相关的部门,但是觉得在那里写代码,限制会很多。而且,总觉得自己和周遭格格不入,遂拒绝。

8月

这是一个不断刷题,不断面试,面到怀疑人生,面到自闭的月份。
阿里面试,可能是投的部门不好,智能制造部门,直接简历面跪,简历面没有问一个技术问题,面完就发感谢信,这算浪费了阿里一次校招机会吧。
随后是网易互娱。由于选择用他们的模拟笔试练手,然后全A,于是获得直通面试的资格。面的初级游戏研发,一面一直在怼技术,从C++基础,STL到操作系统到计算机网络,随后一道开放设计buff系统题,一道Leetcode上的等概率返回圆中某个点的问题。鄙人平生学的最不好的就是概率,痛恨概率问题,也没想着刷Leetcode上相关题目。后来略微总结一下,概率问题最常用的方法即为拒绝采样法,如果知道这一点,也不至于落得如此狼狈。更奇怪的是别人两轮技术面,我第二轮变成纯hr面,后来才意识到,这是劝退面吧。。。
接下来是拼多多学霸批。这个写过面经,链接如下:
https://www.nowcoder.com/discuss/217106
学霸批最终跪了。有时候题做不出来,还没有强的项目,就容易跪。
然后是字节跳动后台C++面试,那是一个下暴雨的周日,从下午3点半到晚上8点,连续三轮的技术面试,每一轮结束后,都精疲力尽。最终,三面结束后10分钟,收到了面试未通过的信息。不得不说,多刷Leetcode有助于通过字节跳动面试算法题,我写到的所有题目,都是Leetcode的原题。不过,鄙人这种只有基础知识没有深入项目经历的选手,不能通过面试也是正常的。不过字节跳动的面试仿佛有毒,面试前各种拉肚子,面试结束后需要缓解1周才能走出阴影。
腾讯的前两次笔试,做到自闭,对我来说太难了。。。
所以,8月结束时,手里仍然只有一个能去的offer,于是不得不接着海投。。

9月

秋天也许是收获的季节吧。
本来没抱多大希望,投了拼多多的寻梦计划,意外的过了面试,在收到学霸批感谢信的第二天,收到了寻梦计划的意向书。所以有时候面试真的是玄学,看命。
随后,字节跳动北京的客户端岗位把我捞起来,进行了一轮面试。和面试官进行了一个小时亲切友好的交谈,从Leetcode上的LRU缓存题聊到数据结构,操作系统、计算机网络、加密学、数据库、设计模式,最后面试官给了一个进二面的忠告,然后第二天反手一个挂。然后和之前一样,我又缓了好几天才脱离字节跳动的毒。
之前投了小米的未来星,然后简历跪,随后开了一个C++工程师的正式批。小米的笔试和两轮面试难度适中,C++来看的话我只被问到过语言基础、算法题、操作系统,也许是和岗位有关吧,没问到计算机网络和数据库,随后,收获了第四个offer。
网易雷火第一批笔试正好在拼多多学霸批面试那天,所以推了一下笔试到9月。雷火的笔试总是那么强,4个小时6道题,前4道加起来满分100,后两道各50。相比于春季实习做的稀碎的笔试,这次勉强砍过了60分,进入面试。不过没抱着能通过的希望,只要能吃到网易的免费午餐就可以了。雷火面试每人打底两轮交叉技术面,由于没有游戏开发的经历,只和面试官就基础知识进行了愉快的交流后,就去吃午饭了。下午回来竟然意外的进入了3面,不过还是因为没有游戏开发的经历,最终三面跪了。此次面试结束后,决定再也不投游戏相关的岗位了。
接下来是华为面试,7月初投递的简历,终于在9月听到了回响。由于暑期实习被随机安排面试,这次决定提前找好大腿抱,选择了一个业务交流会上说“只要会C++”就行的部门。一面面试官从软件工程专业的角度对我进行考察,然而我并没有系统学过软件工程向专业知识,因此有的问题没有答上来。然后笔试复盘复盘的是3月暑期实习笔试的题,我全部用Python写的,这就有点尴尬了。后来手写算法题,没有考虑到特殊的测试样例,或者说,想复杂了,写的不是很好,好在一面过了。二面面试官终于问了点数据结构和C++基础的问题,然后出了一道Leetcode的单词搜索题,先让我说思路,然后问我能写吗?我回答,我试试吧。写出来后,面试官指出我在dfs的时候没有进行现场恢复,我一开始觉得他说得对,但是立刻意识到,我这个visited矩阵是vector的值传递,当递归结束时会自动进行现场恢复,而不是引用传递,于是便和面试官说明情况,面试官说,“我虽然不知道你这个vector是什么,但是我感觉和数组一样,是通过指针进行传递的,我也不太清楚你这个&符号是怎么回事balabala....”当时我心里一惊。。。不过貌似最后我把他说服了吧。。。三面结束后,10月收到了录用意向书。
广联达是在8月末那个怀疑人生的时期投的,想着好歹工资高点吧,然后通过了他们的text编程笔试(全部Leetcode原题,最后一题是买卖股票II,貌似)在一面中和面试官就C++基础,STL,操作系统等进行了亲切交流,然后让给出一个银行叫号软件的实现方案,随便答了一下队列、多线程、加锁互斥等;二面是HR面,进行了一些人生观价值观的亲切交流后,在国庆前收到了意向书。
腾讯的最后一次笔试,或许是来了一个大放水。最后两道题,我提交了针对边界测试用例的代码,没想到全通过了,收获了4.3的自己三次笔试的最高成绩。然后在月末,收到了光子的一面邀请。但是之前网易雷火面完后,我深刻意识到,做游戏实在是不合适,于是,这一轮面试,也面的稀碎,也是各种海量数据处理问题、概率问题。腾讯和百度一样,都是一轮游结束。想进一线大厂,对我来说还是太难了。。。
这个月还有同一时间段做阅文和英伟达笔试的经历,英伟达一面怼C语言库函数的学习经历。。。一个忙碌的月份

10月

10月主要是OPPO和TP-LINK的招聘流程,二者都是TEXT编程加选择题。OPPO的一轮技术面给我的感觉还是很专业的,就多个方面进行了亲切的交流,但是主管面真的是迷,不太理解为什么会是这样的迷,看来想集齐四大手机厂的Offer,还是太难了。
TP-LINK的一面就算法题复盘,简历项目,网络层以下的协议,C++基础等进行了亲切交流。然后二面就项目和兴趣进行了交流,最后收获了一棵白菜。

总结

这10个月下来,一个切身的感受就是,转行要趁早,秋招要趁早。
转行要趁早,这个行业的门槛不是很高,入门比较容易,但是深度的积累需要时间。毕竟计算机专业的人,花了7年左右的时间,而自己,只花了1年多,肯定会有很大差距。如果自己能再提前半年准备,可能就不会是现在这个样子。虽然能去的地方不算少,但是待遇,基本都一样。。。还是惋惜自己研二上学期的时光,就那么迷茫着,不务正业的浪费了。
秋招要趁早,否则最后只是别人(OPPO)刷kpi的牺牲品,越早投入,越早进入状态,相应的hc也会越多吧。
至于C++方向的转行攻略什么的,我这样的比不上大佬们,就不献丑了。不过还是推荐学习一下STL,浅层面来说,做算法题的时候使用STL提供的容器、算法(不想写二分法的时候可以用lower_bound)、仿函数(仿函数或者函数对象的应用是学过STL后才意识到的,十分有趣,有时也有用的一种应用),stringstream进行刷题,所获得的体验有时候可以和python媲美。深层面来说,《STL源码剖析》中对iterator_traits的设计,unrodered_map的设计,stack和queue对deque的封装,都是经典的设计案例。
秋招的上岸意味着一个新的开始,在保证能毕业的同时,还要保证未来不被淘汰,毕竟,水平上还差的很多。
截图留念:
图片说明

图片说明

#阿里巴巴##网易##华为##C++工程师##面经##vivo##秋招#
全部评论
我也机械的,不容易啊真的🤣
点赞 回复
分享
发布于 2019-07-02 01:04
加油,很优秀了!
点赞 回复
分享
发布于 2019-07-02 14:48
秋招专场
校招火热招聘中
官网直投
校友同转行,真的难。。
点赞 回复
分享
发布于 2019-07-02 17:58
同老和山,机电,同转C++,真的难😒
点赞 回复
分享
发布于 2019-07-06 14:31
唉,看到了同校学长,非科班转码真的挺难,一起加油~
点赞 回复
分享
发布于 2019-07-24 19:16
点赞 回复
分享
发布于 2019-07-24 19:19
狠呐
点赞 回复
分享
发布于 2019-08-11 19:22
差不多的背景😂
点赞 回复
分享
发布于 2019-08-13 01:02
可以忙下一阶段了
点赞 回复
分享
发布于 2019-10-23 20:39
楼主去哪了
点赞 回复
分享
发布于 2019-10-24 06:59
从头看到尾~  厉害了
点赞 回复
分享
发布于 2019-10-25 08:39
厉害了大神级别的。
点赞 回复
分享
发布于 2019-10-26 16:43
厉害厉害,21届机械转行C++后台开发,想问下楼主的项目是啥
点赞 回复
分享
发布于 2020-04-07 08:14
楼主去年毕业的吗?
点赞 回复
分享
发布于 2020-04-26 20:45
请问楼主项目这一块是怎么准备的呢
点赞 回复
分享
发布于 2020-05-27 16:03
求问楼主沈阳601所的暑期开放日信息是哪里看到的呀
点赞 回复
分享
发布于 2020-06-16 10:45

相关推荐

33 248 评论
分享
牛客网
牛客企业服务