为什么一道很简单的编程题做不出来?

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

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

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

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

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

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

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

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

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

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

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

转载于:https://www.cnblogs.com/studyNT/p/8467985.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值