算法之外如何考察程序员

  |  

摘要: 算法之外还能考察程序员哪些内容

【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】
我的网站:潮汐朝夕的生活实验室
我的公众号:算法题刷刷
我的知乎:潮汐朝夕
我的github:FennelDumplings
我的leetcode:FennelDumplings


下面这三个公式是一个微软的人提出的。

程序 = 算法 + 数据结构
软件 = 程序 + 软件工程
公司 = 软件 + 商业模式

从这三个公式的角度看,算法和数据结构在面试时基本都通过算法题考察了。那么算法之外可以考察的点,应该就在第二个公式中的软件工程里了。

对于软件开发或算法开发来说,在软件工程上,下面的几点都是工作中比较难的挑战:

  1. 软件的维护成本远远大于软件的开发成本。
  2. 软件的质量变得越来越重要,所以,测试工作也变得越来越重要。
  3. 软件的需求总是在变的,软件的需求总是一点一点往上加的。
  4. 程序中大量的代码都是在处理一些错误的或是不正常的流程。

对于算法以外的编程能力,可以考察的点有以下几个:

  1. 设计是否满足对需求的理解,并可以应对可能出现的需求变化。
  2. 程序是否易读,易维护
  3. 重构代码的能力如何
  4. 会不会测试自己写好的程序

应该在工作中注意积累这方面的实践经验和自己的一套方法论,并在面试中有意识地考察和交流。


Share