2017年实习笔试面试经验总结

截止到现在为止,自己在大三时找实习的经历也应该算完全结束了。写这篇文章算作是总结,也算是给大家一个小小的经验介绍吧。总的来说,从3月到5月,自己经历了6轮笔试:CVTE,腾讯,网易游戏,金山,微众银行,阿里7轮面试:腾讯一轮,4399一轮,网易两轮,金山一轮,bigo两轮,在这些笔试面试中,个人技术发挥只能对自己打一个60-70分,在面试过程中,能感觉到自己还很多地方掌握得不好,没有去复习,很多短板等,但是对自己的心态方面,确实是一个不小的成长,最终给自己打一个85分吧。下面就对自己的整个实习过程做个描述:

准备阶段:
在自己大二时,就开始接触到了一些师兄的经历,那时自己的想法可能就跟现在还没有去实习面试过的同学想法差不多吧,觉得实习会问自己什么呢,感觉自己什么都不会,但是也没什么办法,人总要去找实习吧~

  • 接触:那时还在家里,在朋友圈里看到了略师兄的转发,说可以帮忙腾讯实习内推,那时是感觉自己要开始真正去接触实习了,也突然之间觉得自己离腾讯那么近(现在感觉那时的自己好单纯),所以就私聊了师兄,自己不久也就收到了内推成功的短信。

  • 简历:知道自己可以内推腾讯了之后,就开始做简历,在我一筹莫展不知道如何做简历的时候,不知道选什么模版的时候,室友昕神给了一发助攻,直接把他的简历给我了,发现模版还挺不错的,所以就很快把简历填好了。

  • 项目:在项目方面,略师兄指点了一下,说项目最好可以写全面一点,包括时间,做了什么,有什么收获,有什么难点,实现了什么等等,因为就算你不在简历写全,这些东西都是在面试过程中必定会问到的问题,所以总共也就写了3个看起来没那么水的项目,都有大概描述了自己什么时候做的,用了什么工具,实现了什么。此外,略师兄还说我可以加一个自我评价板块,算做再大概介绍一下自己吧,让面试官多了解一下。在这里也是挺感谢略师兄的帮忙的~~

  • 复习:之前问过几个师兄或者师姐关于面试问什么的问题,大体回答都是说基础知识,包括计算机网络,操作系统,编程语言,数据库,算法,数据结构等等。那时自己的策略就是这样的:首先计网和操作系统是大二学的,所以忘的应该不是很多,特别是计网,因为老师的原因,感觉自己学得很扎实,所以认为可以放到后面再来复习,甚至还在简历上写上了“熟悉计算机网络”(这成为了一个坑);算法和数据结构方面,也因为自己一直对那方面感兴趣,自己平时接触得也比较多,所以也还好;数据库还有其他方面,这些知识在面试中被问到的概率比较小,所以放弃了。最终选择的就是先看C++,因为这些知识是大一学的,当时学的时候也没有很认真地去学理论知识,认为可以用就行了,再加上当时室友先去面试了微信,回来说问的C++知识挺多的。因此最终是先复习C++,看的就是《程序员面试宝典》,平常再去牛客网刷一下C++的笔试题,之后再去leetcode上把链表和树的所有题刷完了,之后再去了解了一下十大排序的算法。

    笔试/面试阶段(也是踩坑阶段):
    这里接着按时间顺序来写吧。

  • CVTE笔试(3.18):对于这个笔试,自己就是打算去炮灰的,也没有去认真准备,只是想去看看笔试题型,给自己熟悉一下笔试环境。在这里得到的心得就是:选择题是不定项的;考的也确实就是基础知识,不过具体的忘了。

  • 腾讯内推:当我一直在为腾讯内推面试准备时,时间一天天过去,但我还是没有收到任何通知。当时略师兄就提醒说了一句,就算是内推也是要刷简历的。即便是这样,但是还是觉得挺不科学的,觉得自己简历就算那么差,也不会沦落到被刷的程度吧T T。

  • 腾讯笔试(4.3):之前一直没有注意时间,本来还打算清明假期去澳门玩的,结果考试前几天才发现考试时间是清明假期,只能计划泡汤。但是到了这个时候,也自己清楚地意识到了,内推是莫名其妙地泡汤了,自己好好准备笔试吧。腾讯的笔试内容总的来说,我认为是偏难的,知识点包括了C++的基础语法,多态,计算机网络,操作系统,数据库索引(出了好几题)等,写下还能记住的几题吧:

    • 选择题第二题:斗地主,两人17张牌,一人20张牌,问同一个人拿到大小王的概率是多少?
    • 牛客网多态类似题,选项问输出结果
    • 考察类中public、private、protected成员的区别,以及public、private、protected继承的区别,选项问代码中错误的语句,牛客网原题
    • 计网三次握手中序列号和ACK序列号的变化
    • 数据库索引有几题,但是自己没有复习,所以完全不会,所以题目印象也不深
    • 进程之间交流的方式有哪些?
    • #define经典题
    • 问答题第一题:一个字符串中只有ABCD四种字符,求逆序对个数。
    • 问答题第二题:关于B+树索引和哈希索引占硬盘空间的计算题,没去复习,只能靠印象回答。
    • 编程题第一题:求二叉搜索树中任意3个节点的最近公共祖先。(直接告诉我这题不难,但是没时间做)
    • 编程题第二题:模拟题,给定字符串,把字符串的ASCII码转换成十六进制,然后按格式输出。(只要认真写,应该是能过的)

    总结一下踩的坑:
    做选择题时感觉短板还挺多的,不过也发现复习还是有点效果的,包括遇到了做过的原题,但是因为做完的题目就不能再回去修改和查看,自己犹豫一题的时间太久了,时间分布不是特别好。
    后面大题时,看到逆序对,很有印象,记得大一就做过,所以一开始一直在回忆,之后发现这跟经典的逆序对题没多大关系,反正只有四个字符,直接记录一下次数就好了。踩的大坑就是不知道问答题是可以和编程题来回切换答题的,以为还是跟选择题一样,只能回答完问答题才能做编程题。所以问答题想了很久,看到只剩下半个小时,才草草了事切到编程题。所以也就导致编程题第一题没做出来。

  • 腾讯一面(4.11):做完笔试之后觉得自己也就大体GG了,但是过了大概一周收到了面试短信,并且发现好多同学都去面试了,可能笔试刷的人不是很多。这时我发现自己面试的岗位从“web开发”转到了“移动开发”,突然之间就恍然大悟了:自己内推时填的web开发(那时觉得对这岗位有兴趣),但是简历上写的都是跟C++有关的内容,所以简历才被刷了,因此又得到了一个心得:岗位需要慎重选,自己什么都没有自学过的话,还是老老实实写关于课上内容的岗位。。因为第一次面试,自己也心里一直都有些紧张,上午到了地铁站后,有人指引坐大巴到指定酒店,很多人,一切都觉得很新鲜吧,约的时间本来是上午11点半,但是等了一个多小时,那个时候自己的状态已经由紧张转为了不耐烦了,只想着快点面试完结束。差不多到1点时,终于到自己面试了,在面试中,自己大概就学着网上说的那样自我介绍,说项目,但是还是紧张,没怎么跟面试官眼神交流。比较重点的问答如下:

    • 问:觉得笔试做得怎么样?
    • 答:做得不怎么样吧。。
    • 问:觉得后面的编程题呢?看你还参加过一些程序设计比赛对吧?
    • 答:还行吧,但是第一题没做出来(解释了一下原因),不过感觉第二题应该对了。
    • 问:这样吗?但是你的第二题也没有做对呢
    • 答:。。。
    • 问:讲一下三个项目
    • 答:balabalabala
    • 问:你做的QT有用到渲染?
    • 答:并没有
    • 问:解释一下美赛模型?
    • 答:balabala
    • 问:有学过计算机图形学吗?学过哪些内容
    • 答:(很老实地回忆和回答了一下)
    • 问:那你解释一下怎么把三维模型转换成二维模型?
    • 答:。。。不会(???问我这个干吗,不按套路出牌啊)
    • 我问:请问一下为什么问我计算机图形学方面的问题呢?
    • 他答:因为看你项目做的都是跟游戏有关嘛
    • 答:。。。
    • 问:那给你一题算法题吧,怎么判断线段的2个端点是否在三角形内?
    • 答:(虽然没有好好上计图课,但是还是知道这还是跟计算机图形学有关,所以是有点无语的,只能硬着头皮想一下)
    • (我想题过程中)问:看你简历上说熟悉计算机网络,但是笔试上你计算机网络也做得不怎么好呀
    • 答:。。。
    • 问:提示了我用向量
    • 答:但我还是没想出来~(over)
      总结一下踩的坑:
      心态方面是太紧张了但是也中规中矩吧;最关键的是自己竟然没有注意到自己做的项目是游戏,结果导致面试官问的都是计图知识,导致GG,此外也意识到了笔试的重要性。第一次面试以面试官不按套路出牌告终~
  • 网易游戏笔试(4.13):腾讯面试完了之后就知道自己肯定挂了,也激发了自己再去其他公司笔试和面试。网易游戏的笔试是在学校内,招的岗位只有几个,估计是补招,自己报的是直播平台开发,因为发现这个要求描述才跟自己有点关系。。笔试难度比起腾讯来说,简单了一点,也比较接地气一点,但是题量挺多的,涉及的方面也很多:
    • 高中线性规划题(选择)
    • 多线程中,栈和堆分别是公有还是私有(选择)
    • 2017的阶乘后面有多少个0(填空)
    • 用非递归和非循环的方法判断一个int是否为3的n次方(填空,leetcode原题)
    • 考#define中##的用法(填空)
    • UDP协议包含了哪些内容(填空)
    • 视频编码包括了哪些(选择)
    • 求两个数的最小公倍数(代码)
    • 网页中Forbbiden对应的代号是多少(填空)
    • 类似于背包问题的DP题(代码)
    • TCP协议采用了哪些举措防止拥塞(选择)
      总结:
      总体来说做得中规中矩,很多脑洞题还是没有想出来,重点是发现了自己所谓熟悉计算机网络,却连很多基础的协议内容都忘记了,这真是大坑,自己在腾讯面试完时都还没有深刻认识到,所以考完之后几天恶补认真看了一下《TCP/IP详解卷1:协议》。但是也已经在想万一笔试过了,又会面临的跟腾讯面试一样的尴尬:所谓的熟悉计算机网络,为什么还错了那么多网络题。。
  • 金山WPS笔试(4.14):跟网易笔试隔了一天,再加上已经笔试了2场,也没想那么多了,这个岗位直接就是C++工程师。地点在广工,内容就都是跟C++知识相关的,没问网络,没问操作系统:

    • vector中erase的用法(选择)
    • 析构函数中用多态(选择)
    • 选择题就10题,把《程序员面试宝典》看一遍也就差不多了
    • 导致程序运行崩溃有以下几种可能:非法内存地址访问,访问越界,堆栈溢出,分别解释一下原因,例子还有防止出现这几种情况的措施,并且再举一下其他运行崩溃的原因。(问答)
    • 一个类中可能包含了很多成员,但是有时候大多数成员都是没有用到的,这个时候类的一个对象就会占用了很多没有用到的内存,问怎么设计类可以实现占用内存尽量少点(问答, 我给出的是链表+enum+union的方法)
    • 日期格式转换(代码,水题)
    • 找一个文档中出现了多少个指定的序号数(代码,也是水题)

      总结:
      这次笔试算没有什么坑了,因为之前复习得C++比较多,基本上都答出来了,再加上问答第二题是比较难的,自己想出来了,所以也自信地认为笔试肯定是过了的。

  • 4399一面(4.17):之前经过腾讯面试提醒后,知道自己的简历都是游戏,然后这又是腾讯之后的第二次面试,所以还是挺重视4399的这次面试,因为自己投简历投得很早,所以也就很快就过去公司面试了。那时给我的4399公司环境一般,总体氛围感觉比较压抑,可能也跟自己那时紧张有关,加上下午2点半面试,午觉没怎么睡。到了之后面试的人也就来回2,3个,所以很快就到自己面试了。结果这个面试官只问项目,面试时间大概只有20分钟,当我以为项目问完时终于可以回答一些其他问题时,他居然就说:“今天就到这了”(????),但是项目确实是问的很细:
    • 为什么用vector不用数组?vector有什么好处呢?
    • 你这项目里面具体算法是怎么实现的?
    • 为什么要用DFS不用BFS呢?
      其实这些都是很好答的问题,但是自己却还是跪了,因为项目具体怎么实现的自己都忘了,面试前没有再回去看,其他也胡扯得不好,还是因为心态问题,对于某些问题,即使自己不确定却是在硬撑,也略显紧张,仍然没有眼神交流。
      因此得到的大心得就是:对自己在简历上的项目一定要了如指掌,必要时真的是要了解到某些算法和数据结构为什么会被使用的原因;此外在心态方面,对于面试官问的问题,不用搞得很急很紧张,不会就不会,不懂就不懂,千万不要不懂装懂。。因此在1天后就收到了拒绝信,再一次被面试官不按套路出牌难倒,自己复习的成果在两次面试后仍然没有展示出来,略显失望。。
      在两次面试之后,自己心态上一定程度上受到了打击,觉得自己倒霉,运气不好,甚至在想只要去小公司实习就行了;但又不得不承认,确实是自己的问题,尤其是项目准备不足问题上。这个时候也再次总结了一个坑:为什么自己没有在3月份时就开始投其他公司简历,而是吊死腾讯一棵树上,真是太蠢了~导致当时很多实习招聘都截止了自己却没有去投的局面。
  • 网易游戏一面(4.22):港真,那时收到网易游戏面试的短信,也就没有想太多了,一是因为已经面试了两次,对面试结果已经看得云淡风轻了,二是一直觉得网易游戏逼格很高,觉得自己应该进不了,报岗位时也是发现只有“直播平台开发”这个岗位,自己才有一点点符合。面试时间是中午1点,对于有午睡习惯的我来说,又是一个很尴尬的时间,所以上午都在补觉,也没打算再去看书,心态已经很平和了。到了网易大厦报到之后,过了几分钟HR就叫了自己的名字,于是就跟着HR拿着自己的简历和笔试试卷进入了面试室(不同的是有两个面试官),在随便问了我一下项目之后,就开始问问题,大概问题如下:
    • 有学过快速排序吧?讲一下原理
    • 树这个数据结构是很常用的,说一下在哪些地方用到的了
    • 一开始回答了在文件索引中用到了B+树,因此被继续追问,解释一下B+树(其实一直对B+树了解得不深,于是直接说不怎么会),面试官看我不会,又继续问,那是二叉树吗?(这个简直送分题了。。)
    • 于是我继续想,说到了机器学习中的决策树,这里面试官没再追问下去
    • 接着我又说到了计算机网络中的生成树协议,面试官问到它属于哪一层?(数据链路层)
    • 然后说到了字典树,被问到它是拿来干吗的(回答更快地匹配字符串)
    • 最后面试官发现了我没有想到其他的了,就主动问我,压缩方面用到了有什么树呢?听到这个提醒后就秒回了哈夫曼树了,并且让我详细地解释了哈夫曼树的原理和目的,还在纸上手写演示了一遍建树的过程。
    • 讨论完树这个话题之后,面试官就连续问了几个计算机网络的知识,包括:讲一下TCP的三次握手TCP挥手需要几次(4次);如果TCP连接中,客户端发送了一个目的端口没有打开的请求,服务器会怎么办(这个答到了在网络层方面会发送ICMP,传输层没有答到,面试官直接提醒我是不是会发送RST。。);UDP协议中如何设置UDP报文长度更可靠(跟MTU有关);
    • 接着另外一个面试官让我手写冒泡,并且对于序列2134567,如何优化代码(之前恰好看了这部分内容),然后就结束了。
      总结一下:
      因为自己答出了八九成的问题,所以刚走出来,我就知道这次一面肯定过了,能过的原因主要是因为这次问的问题终于是常规了,并且问的很多都是自己刚看完的计算机网络内容和排序,而且一面面试官居然没有纠结于我笔试试卷,这真是幸运了;其次是心态方面,因为去之前心态就很平和,就以着“死猪不怕开水烫”的心态,所以整个面试过程中,也表现得很自信,眼神也一直都有和面试官交流,对于会和不会的问题,都表现得比较坚定,这就是在面试过程的成长吧~
  • 金山WPS一面(4.24):HR在WPS群里之前是在说五一过后才面试的,对于WPS,知道自己肯定稳过了笔试,所以也就没有想太多,结果在4.24上午就接到了HR的电话,问我下午有没有空过去面试,自己主要也还是没有太多杂念了,想着早点面完也好,就答应了。下午去到了之后,楼下的保安大叔很好,HR姐姐也很好,加上自己心态也不错,所以与面试官的面试自己都没有感觉到压力,就只是觉得在聊天,如下:
    • 面试官首先看了我的笔试试卷,讨论了一下我做错的选择题(就是上文提到的2题),然后跟我讨论了一下大题,其中让我解释了一下什么是堆栈函数调用时入栈的顺序是怎么样(这个没有答出来,应该是参数,函数地址,局部变量)
    • 问了我看过C++的哪些书,答了《C++ primer》,接着问我有没有做后面的习题,对C++11了解多少
    • 接着解释一下项目,面试官一直想了解我是否用过C++的底层库,例如涉及到操作系统或者计算机网络
    • 最后让我有什么问题想问他的,没了。
      总结:
      因为心态好了,所以对于面试结果如何也就没有在乎了,但是在面试过程中,面试官一直对于我自己的C++学习和是否有用过实际库很感兴趣,最后在我问他时,他也就认为我还是知识掌握一般,没有用过库,建议我再认真看一遍C++ primer,并且把后面习题做一遍~总的来说,面试得有点谜,不过收获还是挺多的。
  • 微众银行笔试(4.25):对于这个笔试也没有特别看重,但还是有认真做,先做了好像是80分钟的编程题(3题),再做选择题。编程题总体偏难,自己只做出了一题,题目在这:http://discuss.acmcoder.com/topic/58ff4a0c6cb45cac2032df52;选择题方面,感觉也很难,问的好多关于数据库方面的,这大概因为跟银行有关吧,也有很多看不懂的题,所以都只能蒙。对于这次笔试也就没什么好总结的了,也知道肯定是不会收到面试通知的了。
  • 网易游戏二面(4.26):毕竟这是自己的第一次二面,所以回去之后,好好想了一下一面问的问题和笔试的问题,总结出因为是直播平台开发岗位,难怪会问了压缩,视频解码,以及计算机网络的知识,所以面试之前也还是主要看了一下计算机网络并且恶补了一下B+树知识。到了网易大厦之后,二面没有再组织统一的签到,自己到前台签到了之后,大概等了半个小时,HR带去上了二楼,还是去了一面面试的房间,还是两个面试官:
    • 一个面试看了一眼我的简历,直接说到是搞ACM的啊~,我心里想看来这次碰到行内人了T T,我也只能说到只是对竞赛有兴趣,自己没有特意去学习,中间还问了我为什么省赛才三等,队内只要负责什么题(我:。。)
    • 结束完这个话题之后,就聊起了项目,对于有些面试官质疑的问题,自己也很坚定地回答了;但还是被难倒了几个,扫雷中如何避免某一个区域都是雷(我个人认为这个只要做到了随机,是不需要管的,但是面试官就一直钻牛角尖说万一某个区域都是雷呢~);我谈到了DFS递归太深了可能会堆栈溢出(面试官又说BFS也会。。);最后被问了一下这个项目有什么意义?(我:???)
    • 接着另外一个面试官谈到我的笔试试卷和简历上的“熟悉计算机网络”,为什么熟悉计算机网络笔试试卷里错了好多网络题?(也是意料之中的问题了。。只能圆过去了~)
    • 怎么样设一个内存分配器,可以尽量减少内存碎片?(这个是操作系统上的,自己也没有怎么准备,所以只能按自己的想法答了。。)
    • 最后面试官再让我想想还做过什么项目?(明显对我简历上的项目不满意。。)最后糊弄了一个boggle小项目,关于建字典树匹配字符串的。因此接着让我解释字典树,以及问我如果想要知道整个路径,要怎么办?(其实就是一个很简单的问题,自己却sb地答错了),然后就结束了。
      总结:
      这次面试出来后,感觉自己死的原因很明显,就是因为自己项目经历不足,再加上操作系统一直没怎么看。所以那时想着,自己也面试了五次了,好好沉下心来做项目吧。对于面试经验和心态,自己是有明显地成长的。
  • 阿里笔试(4.26):因为白天刚面试完,觉得自己不需要再面试下去了,对于阿里的笔试也就没怎么在乎,也是因为它不在广州和觉得自己不够level。选择题上,明明岗位是C++,考的确实JAVA代码;还包括了挺多计算题;具体题目也没有怎么记了,总的来说,感觉比腾讯还难。编程题上也是如此,有一题题目是直接看不懂的;其他题目也大概忘了讲什么了~反正都没有完全做出来
  • bigo一面(4.28):bigo(百果园)是YY的一家子公司,之前是有投递简历到HR邮箱了,第一次打电话是在做阿里笔试时,那时离自己投简历的时间都差不多有一个月了。之后是在等车回家车站里,进行电话面试:
    • 了解项目,我大概回答了一下
    • C++中,万一忘记用了delete释放内存,如何防止内存溢出?
    • 进程线程区别?
    • 多线程的优点?
    • 如何解决互斥?
    • 解释一下生产者消费者模型?
    • 解释一下多态?
    • 排好序的数组,怎么快速查找?(好弱智。。)
    • 怎么取出前100个大的数?
    • 怎么判断一个链表存在环?(leetcode)
    • 怎么求链表中倒数第k个几点?(leetcode)
    • 怎么搜一个连通块(DFS啊。。)
    • 网络七层
    • TCP和UDP区别
    • 网络层和传输层区别
    • 数据库里了解的操作有?
      总结:
      总面试时长大概有1个小时,除了项目之外的问题,面试官可以说是把操作系统,C++,计算机网络,算法,数据库,数据结构,排序,查找里面的很基础的都问了一遍,真的是太基础了,但是问题很多,赶着回家也就没有多大感觉了,觉得一面是肯定过了的。
  • 收到网易游戏offer(5.2):五一回来之后,那天下午刚好在图书馆赶作业,突然收到网易HR的电话,在听完自我介绍之后,都在想,连拒绝都要打电话过来,不过也做好心理准备了。但是HR接下来的话,让我下午手脚都抖了好久:“这边技术面试你是通过了,请问一下你现在手里有其他offer吗?(没有。。)你什么时候可以过来实习呢?之后我会把详细的内容发到你邮箱里。。”挂完电话后,就觉得太不真实了。。觉得不可能啊,怎么可能会过二面,怀疑HR是不是打错电话了,是不是诈骗的,尽管接到了电话,但还是不敢完全相信。过了一天后收到了邮箱的正式offer,才真正相信了。。但是到现在都还在想:为什么二面那么水都能过~??不管怎么样都好,自己总算是拿到实习offer了。。期间跟HR打电话还有2个有趣的细节:
    • HR在介绍直播部门情况,说到CC直播整体还是在上升阶段,所以工作强度可能有点大,偶尔可能会加班,但是我们并不会像华为那样上行下效的?(噗。。华为又被黑了)
    • HR说到把offer发到邮箱里,问到,你留的邮箱是QQ邮箱吧?(尴尬。。其实是投完腾讯之后忘了修改了)
  • bigo二面(5.3):接到电话二面时,自己正在看网易发来的邮件offer,因此对于这次面试,也就无欲无求了,只是多一次锻炼的机会。

    • 先问了我什么时候可以过去实习?
    • 之后没怎么问项目内容。问了我什么时候要用到拷贝构造函数?(这个问题在挂电话之后才get到面试官是想问什么的)
    • 跟一面同样的问题,C++中,万一忘记用了delete释放内存,如何防止内存溢出?
    • 有用过API吗?说用过网络编程,解释一下网络编程服务器具体是怎么实现的,用了什么函数?
    • 对于epoll有了解吗?
    • 给很多字符串,要找出出现次数最多的3个串?(哈希)
    • 应该还有问到其他问题,忘了。
  • 收到bigo offer(5.8):过了几天之后,接到了来自北京的电话,第一次接到时还挂了,之后再过来时得知是bigo的HR告诉我面试通过了,那个时候自己就很快地说,因为自己暑假要跟老师做项目,去不了了。之前没有去查怎么拒绝offer,其实自己可以听一下bigo给的待遇之后再拒绝的,并且说实话也没什么关系,不过也罢了~收到这个offer之后,也知道自己的总的实习经历到此结束了~

总结(ALL):

  • 项目:项目是一个很重要的内容,通常都会是面试官了解你的第一个方面,其实在找实习之前,再项目是来不及了,这个时候能做的是,把自己做过的项目尽可能包装好点,对于项目里面涉及的问题了解详细全面点,切勿跟我一样被自己的项目坑了。但是,最关键的还是要有干货!在大一大二时,自己多做点项目,有干货,这样可以说面试就成功了一半了。
  • 复习:如果把项目准备好了,剩下的就是复习基础知识,我认为重要的几个部分有:任何一个语言的基础(C++、JAVA之类的)、算法(DFS,BFS,DP,排序,查找)、数据结构(树、链表)、计算机网络(重点在TCP)、操作系统(内存管理,线程、同步互斥)。基础知识无非就是大一大二学过的,所以只要自己大一大二没有太浪,花一定的时间回去复习,是可以补回来的。推荐:《程序员面试宝典》、牛客网、leetcode。
  • 策略:对于找工作,千万不要陷入“吊死在一棵树”的误区,可以多投简历,即使自己已经拿到offer了,也可以继续投简历,有时不是真的为了拿offer,只是为了锻炼自己积累经验。
  • 心态:对于面试,不要把与面试官的关系设定为你是考生,他是考官的上下级关系,一旦这样,可能自己在面试过程中,就会容易变得紧张,害怕出错。看过一篇面经里说的:interview解释为面试还是不太恰当,它应该是面谈,是交流。因此在和面试官聊天(是的,是聊天,不是面试)中,要表现出自己是有自信的,是有底气的,与面试官要更多的eye contact,只要把自己的知识面展示出来了,只要能在这次面试中收获到知识(包括面试官给的建议和面试过程展现出来的知识盲区),这次面试就是有收获的。
  • 经验:其实说了那么多,最重要的一点,还是自己要多去尝试,经验都是人家总结出来的,无论怎么样,都很难做到第一次面试不会紧张,所以只有自己迈出了第一步,自己才会成长地更快。
  • 运气:这是最玄乎的一点了,到现在为止,我还是认为拿到网易游戏的offer更多的原因是运气好。我想所说的运气,更多的是体现在每场不同的面试,因为面试官不同,时间不一样,被面试者不一样,所以被问的问题是不可能会完全一样的。可能你比他人优秀,但如果正好被问到只是盲区,自己也只能认栽;反之,如果自己没怎么准备,但是正好被问的都会,那就笑纳大礼了。对于运气,无可奈何;自己能做的,就是提高实力,多做项目,多打代码,多复习,这样就能把被运气影响的因素降到最低了~

你可能感兴趣的:(面试经验)