美文网首页资料笔试题大杂绘
求职路上,结伴而行——我的面试总结

求职路上,结伴而行——我的面试总结

作者: Alphy | 来源:发表于2015-09-23 13:59 被阅读3887次

    大概总结一下自己的面试过程,希望能给求职路上的各位小伙伴一点帮助。

    全文均为作者的个人观点,不足之处欢迎斧正,不喜勿喷。


    自我介绍:

    自我介绍一般应该是自己简历的概述。

    举个例子。我一般会这样开场:“我叫某某某,是来自某某大学的在读研究生。我比较擅长 C 和 C++,写过一些小游戏,所以编程能力也算不错。参加过多次 ACM 竞赛,也取得了一些名次,所以对数据结构和算法也掌握的比较好。我最近在看《Unix高级环境编程》,所以对操作系统有一些了解。”一方面,简洁地介绍自己的专业技能:C/C++、数据结构和算法,等等。另一方面,与简历上面相关的记录对应,比如曾编写过的代码以及取得过的奖励等。


    技术面试:

    这是面试中最重要的部分,成败在此一举。

    项目介绍:

    面试官一般都会先从项目开始问起(当然也有不问项目直接开始问基础知识的),这也是我的自我介绍中不说自己做过的项目和论文的原因。

    我介绍自己的项目,分为三个步骤:1.尽量用两三句话介绍项目的功能或实现的目标。2.项目的难点在何处,或者说项目的具体需求是什么。3.通过什么方法解决上述的问题。

    第一步时,我会尽量通俗易懂、不带任何专业词汇去介绍。一方面,面试官只有能够听明白,才可能产生兴趣;另一方面,如果刚开始介绍,就把项目说的很晦涩难懂,面试官会有理由怀疑你的表达能力。后两步,主要是看你项目的深度,做的越深内容越多。

    我举个我自己介绍项目的例子:

    “我需要实现的是在不同光照情况下检测到路标,从而达到多阈值自适应的目的。其中最主要的是,我要记录不同阈值中的轮廓数据,并将其进行比较,保留合适的数据,并删除不符合条件的数据。也就是说,我需要存储数据、支持快速查找,并能够迅速插入删除。刚开始我使用的是链表,但是发现链表的查找速度太慢,就改成了红黑树。其实使用哈希表也行。”此时,如果面试官感兴趣,他可能会问红黑树或哈希表的具体实现方案,或者是红黑树与哈希表的区别,等等。

    “由于程序中会产生大量的数据,会不停地创建、删除结点,而申请和回收内存的 new 和 delete 操作是比较费时的,因此我做了一个简单的内存管理。”这样,面试官就有可能顺着我的思路问我内存管理是怎么做的,可以如何改进,遇到某种特殊情况时应该如何应对,等等相关的问题。

    介绍项目时,如果面试官对你的项目涉及的领域有了解,会追问一些具体细节,从而考察你的基础知识。否则,若面试官对你的项目不太懂或不感兴趣,则会直接开始问基础。

    基础知识:

    这部分主要是考察自己平时的知识积累,我没有什么太多技巧。

    面试官一般都会从很浅的知识点开始,逐步深入考察你对整个知识体系的了解情况。这种行为被同学戏称“问你问到死”。面对这种情况,除了多看几本书、多看几遍书之外,我没有更好的方法。

    举个我被“问到死”的例子:1.进程和线程的区别。2.进程间切换和线程间切换的区别。3.线程间各自独立的是什么?共享的是什么?前两个问题我能答出来,但第三个问题只能答出一部分,当面试官追问我“除了你刚才说的那些,线程还共享什么内容”时,我只好说我不知道。我只知道,面对一而再再而三的追问,光看一本《计算机操作系统》肯定是不够的。

    有时,面试官会把自己工作中遇到的问题交给你来处理。比如“我有两个读文件的函数,第一个每次读取 3K 数据,第二个函数每次读 4K。经测试我发现第二个函数比第一个函数快,这是为什么?”这种题目,面试官一般不会要求你第一次就能答出来。当你给出了几个答案,却还是无法令面试官满意时,你不妨找他要一点提示。如果能通过提示做出来也是可以的。

    不要害怕向面试官要提示。如果遇到不会的情况,你能够通过寻求帮助来解决问题,不但展现出了你的沟通能力,而且比你直接放弃要好得多。

    编程题:

    和基础知识一样,这部分也是掺不了假的。

    我的做法是,拿到题,1.弄清楚题意;2.确定程序的逻辑;3.考虑好边界情况;4.写代码。

    举个例子:链表排序题。

    1.我会问清楚链表是单链表还是双链表,链表是否有环等细节,直到我觉得我已经完全理解了这道题的题意。

    2.我先说出我的程序逻辑,此时,若不能令面试官满意,他会给出提示。比如,如果我说用直接插入排序,面试官会让我再想想其他方法。当然,有时也会遇到面试官不愿意和我讨论程序逻辑(其实他是希望我能够独立解决问题)的情况,此时就不要继续说下去,自己在脑海中把程序捋清楚。

    3.考虑边界问题,比如考虑输入数据是否会有问题,或者在程序运行时出现问题(比如需要对文件进行操作,但打开文件失败时),应该怎么做(比如,返回一个特殊的值,或者抛出异常)?在考虑边界问题的时候,不妨问问面试官。即使他希望我独立完成问题,但边界情况他还是会给出建议的。

    4.手写代码。如果前三部分都做好了,这部分其实没什么太多需要注意的。在程序的关键位置写上注释,既方便自己掌握整个程序结构,又能给面试官留下拥有良好编程习惯的印象。

    如果需要提升自己的编程能力,不妨挑个提供“代码在线评价”的网站并做一些题目。


    应聘者提问:

    这部分主要显示出你对这份工作、这个公司,甚至是这个行业的兴趣和热情。但是,我觉得,这个环节的表现,只是锦上添花的,并不能起到更实际的作用。比如,语文考试,字写的好看,作文的分数能稍微高那么一点点。

    面试前,我会先调查这家公司的工作环境。面试时,先简述自己对公司工作环境的理解,然后询问面试官,他在这家公司工作是一种什么体验。接着,询问他目前的工作。如果他的工作的某一部分我恰好有了解,那就再先说出自己对这部分的理解,并再次询问他稍微详细一些的内容。总之就是表现出自己对这家公司或这个职位很感兴趣。


    行为面试:

    对行为面试,我谈不上有什么经验。我一般是以真诚为主,适当地吹一点牛皮。

    我大概把非技术问题分为两类问题。第一类是关于整体行业的发展、对公司的看法,或者自己的职业规划的问题。要回答好这种问题,自己必须做足功课,对行业、公司以及应聘职位有一定了解。这类问题早思考会比较容易早有想法。第二类问题,一般是“你有哪些缺点”、“你遇到的困难是什么?你是怎么做的?学到了什么?”这方面的。在回答这类问题时,不只是在讲述一个与该问题相关的故事,更是在向面试官展现自我。所以,不妨先想想每个故事都能体现出自己的哪些特性。


    写在最后:

    求职这条路,我也在一步一步摸索着前进。因此,我不保证你按照我的方式去做就不会出问题。你应该做的,是适当参考,并找到一条适合自己的道路。

    我找工作时,在短期内遭受了许多大大小小的打击和否定。我会及时调整心态,做好准备面对接下来的挑战。所以,你也千万不要任由自己心态爆炸放任自流破罐子破摔。守得云开见月明。

    最后祝你求职顺利~

    相关链接:华为面试阿里面试百度一面百度二面百度三面

    (转载请注明,谢谢。)

    相关文章

      网友评论

      • 960f88ec9dbf:语文考试,字写的好看,作文的分数能稍微高那么一点点。

        我感觉还真能高一点点。。。。
      • 一一无痕:赞,谢谢分享
        一一无痕: @Alphy 很有帮助三🙏了~
        Alphy: @三败了 希望对你有帮助~
      • 萧路:收藏
      • 桑儿:大四汪留用
      • Luckysyt:以后学着用
      • 敖老黑:。。。我都习惯去之前逆向了目标公司的app。。。然后去了就两句自我介绍完了开始装逼。。。
        敖老黑:@Alphy 技术也可以适当的。。。把握好对方心理别太过就行,引导他一直听你说,尽量不给他问问题的机会。
        Alphy:@敖老黑 HR 面可以适当吹吹牛,技术面还是老实点的好- -
      • 狂风落尽深红色绿树成荫子满枝:感觉自我介绍,介绍几次发现面试者就是想先看看简历或听听哪里能引入话题。
        第一次阿里面试被让自我介绍我介绍两句就完了。。。然后面试官顿时不知所措起来。。。
        后来习惯了基本自我介绍着就入话题了,最后感觉面试官没问什么难的问题。。

        Alphy:@狂风落尽深红色绿树成荫子满枝 对对对你说的很好。另外,我觉得面试官问的问题越难越好。问的难,既表示你前面的基础知识回答的不错,又能说明面试官对你有兴趣。
      • 神奇的小狮子:赶紧投稿首页阿!

      本文标题:求职路上,结伴而行——我的面试总结

      本文链接:https://www.haomeiwen.com/subject/kkvicttx.html