zoukankan      html  css  js  c++  java
  • 为什么一道很简单的编程题做不出来?

      又到了找工作,跳槽的季节。曾几何时,大家有没有懊恼过,为什么简单得不简单的编程题,会做得这么辛苦?而且还做不出来。会不会有面试官对你鄙视说,这么简单的题目都不会做?反正我是没有见过。做不出来,不是你苯,是因为前面有很多步骤卡住了你。

    要解出一道编程题目,首先要经过几个步骤。

      1. 基本类型,基本几个库函数名字要记住。防止溢出,记得库函数的用法,有哪些坑。

      2. 如果是C/C++,要注意指针的用法,注意各种内存的管理。

      3. 根据具体要求,要实现各种数据结构(链表,树,堆),和与数据结构相应的基本操作函数或者方法。如果能用C++里面的STL自然是更快了。

      4. 处理数据使用各种排序,遍历方法。要识别出应用那种算法,并且自己实现它。虽然算法实现过程看起来简单,但是他的算法复杂度分析推导过程是比较复杂的,如果你没有仔细看书体会推导过程,你自己推导是比较难的,那你只能死记硬背算法和他的时间空间复杂度。

      5. 经过上面的基本处理,数据已经被各种预处理过,再应用自己设计好的算法去解决问题。如果是动态规划问题,要找出重复最优子结构,还是说这个要遍历减枝,要使用贪心算法。

      6. 考虑各种边界条件,单元测试。

      所以,在解决问题的核心问题之前,你就需要处理这么多问题。这个也是一方面表现了C/C++学习曲线陡峭,如果用脚本语言来是做算法题,那肯定是快很多。如果你做不出来编程题,那你就需要看看自己哪个环节比较薄弱,需要花点时间去补一下,而不是死扣题目,拼命涮题,请把前面几个步骤的基础打扎实了。简单的编程题,其实不简单,它包含了两方面(思维方法,代码实操编写),这两者都不简单,除非你背熟了答案。

      在面试的时候如果发生这种情况,面试官认为默认认为你会使用C++ STL,那他心里就会嘀咕,这么简单的问题,他在搞啥呢?这时候,可能你还在满头大汗地实现一个堆结构,还在写排序。其实应聘者也很纠结,因为有些题目就是要你实现一个数据结构,如果你使用STL,那没有意义了,或者意义不大,就是简单证明你会用STL。所以要跟面试官搞清楚能不能使用STL。这也是大家拒绝冷冰冰的笔试的原因,因为希望在解决问题的时候,能与面试官交流,纸上描述并不能囊括题目所有的条件要素,同时面试官也能看清楚应聘者的思考过程,在应聘者遇到小问题卡住,不能进行的时候,能够给予一些小提示小启发,看他是否能排除这个小问题,最终解决整个问题。而不是笔试题目答题纸上冷冰冰的对与错,然后就打发人家回去。

      如果哪个面试官说很简单,那么他也没有理解编程的每一个知识点,只不过从网上下载的面试题,然后就简单地扔给应聘者做,然后觉得很简单,不停地催,这么简单怎么做这么慢啊?面试者跟他交流,由于他不了解题目,他也会觉得,这么简单怎么问得这么啰嗦啊。如果被你被这种面试官刷了,即不幸,也幸运,没有什么大不了的。

  • 相关阅读:
    WSP部署错误—SharePoint管理框架中的对象“SPSolutionLanguagePack Name=0”依赖其他不存在的对象
    Elevate Permissions To Modify User Profile
    Error with Stsadm CommandObject reference not set to an instance of an object
    ASP.NET MVC3添加Controller时没有Scaffolding options
    测试使用Windows Live Writer写日志
    配置TFS 2010出现错误—SQL Server 登录的安全标识符(SID)与某个指定的域或工作组帐户冲突
    使用ADO.NET DbContext Generator出现错误—Unable to locate file
    CSS
    HTML DIV标签
    数据库
  • 原文地址:https://www.cnblogs.com/studyNT/p/8467985.html
Copyright © 2011-2022 走看看