面试后的感悟

    从九月份一直面试过来到现在有种不同与常的感受,而这种感受是常坐实验室是得不来的,即使外面丰富的工作经历也没有如此强烈的感受。整体感觉个人能力还是很差,尤其在面微软,笔works之后。

   期间认真面试的有百度、腾讯、360、微软、works,其他的中小型公司都没去。面百度、腾讯、360后,没有任何的收获。只是下来后对一些知识盲点的不断更新。如segament fault是什么原因造成的,当出现这个错误提示后,判断最可能出错的地方在哪儿?进程虚拟地址向物理地址是怎样转换的过程?01背包问题等。

   但是微软和works的经历后,感觉完全不一样。微软没有出很变态的高级算法题,而是简单的写一个底层函数,如atof,我花了10多分钟就赶忙写完了。面试官很简单的扫描了下整个代码,指出了其中很多的边界问题没有考虑到,一些非法字符串的处理没有考虑完,一些数据溢出没有考虑到,以及不能在atof里面使用strlen来判断长度是否为0,因为这个使得算法复杂度大大的增加了。另一个函数环判断过程中,没有考虑到空指针的问题。写完代码还觉得可以,但是经过他这样分析,那样分析,我就觉得自己写的代码实在是不堪入目,特别对于一个硕士研究生来说,有些低级错误是不能容忍的。我接受了他的意见,的的确确感觉细节的重要性,细节决定成败,我这次感受到这点了。

  works的开放题是比较简单的,我也花了较长的时间去做。今天发来了拒绝信,我在想代码确实在很多的地方效率真的不高。当时的方法也是太一般了,但是当时已经黔驴技穷了,真的想不出再优化的方案了。确实从事计算机行业的软件人员不仅仅是要精通C,C++,Java的语法,这些都是基础之基础,更多的是要学会用不同的算法去努力的解决优化某些复杂的问题,而这点往往是最欠缺的。写程序简单,写高性能程序难。

  所以从事计算机软件就应该有两个基本的素质。细心和算法思想。

猜你喜欢

转载自scofield06.iteye.com/blog/1701681
今日推荐