我个人是比较喜欢实践经验比较多的,对于技术上能聊得开的就更好了。但是公司要求面试的时候一定要问一些基础的算法,如平衡二叉树什么之类的,这样导致有过比较多项目经验的同学反而相对比较吃亏,面试到底该考察什么呢?
随手上网能找到的东西还需要死记硬背下来么。。。
歪楼一下,我曾经去做过某个公司的笔试题,他们招聘的是 java 程序员, 但是一上来就来 A4 正反面日译汉、A4 正反面汉译日,20+ 页正反面日语编程题 10 道左右,从 sql 到前端,从 java 到 C,并且包括图像处理以及服务器调优之类的东东。 以至于我随便的写了 2 小时交卷的时候问他们:你们招的是翻译么?
如果代码对性能要求不高的话,那么基本上不会用到算法。 但是如果你想成为一个优秀的程序员的话, 那么你还是应该学一下数据结构和算法,不要求精通,但起码要了解。 我编程已经 10 年多啦,的确遇到几个项目,需要使用算法和数据结构。 但是绝大多数项目,都用不到。
程序员都需要一定的数学基础吧,比如单纯形法求最优解之类,有的时候还会用到的,可以不精通,不能说不会,而且毕业生是系统学习数学应该印象还最深的一批人,如果这时候数学就能忘干净,那还指望以后么