程序员面试总结

这里是读上一篇转载文章《程序员面试什么最重要? 》有感而发。面试归纳。这里是对于找工作的同志或许有用,对于不找工作的个人还是觉得技术牛才是重要。下面就从作者归纳几个方面去讨论。

一、基础知识

基础很重要,基础不够,无法从根本的角度思考问题。举个例子。做.NET的,或许你知道怎么用某些控件,你就能开发出程序了。但是你知道内部实现吗?你有能否改善它,当你需要的时候?再举个例子。你会Java网络编程的,但是你不明白UDP和TCP,你能改善网络传输问题?能提高程序性能吗?而我们最关心的关键的问题,比如性能提升、架构设计、数据处理、代码优化,常常就在于底层是否搞懂了。

二、算法

算法能够提高和保持一个人的逻辑能力。那么逻辑能力有什么用呢?引用一段话说明吧。

 ”技术你已经较好地掌握了,但只有完成逻辑能力的提高,你才能成为 一名职业程序员。打一个比方吧,你会十八般武艺,刀枪棍棒都很精通,但就是力气不够,所以永远都上不了战场,这个力气对程序员而言就是逻辑能力(其本质是 一个人的数学修养,注意,不是数学知识)。逻辑能力也是逐步提高的,开始时你一定是用直观的逻辑能力来编程的,怎么想就怎么编,不对就再改,在改进中提高 自己的逻辑能力,从直观逻辑能力提高到抽象逻辑能力,这是很正常的。提前说一句吧,到达逻辑能力的至高境界,其表现是用数学语言来描述问题和问题的解决办 法,高度抽象!好,说回来吧,你要提高逻辑能力,最快的办法就是读别人写的结构优秀的程序。优秀的代码是百读不厌的(这句话是我抄来的),暂时放放对其中 某种技术和技巧的关注吧,你要推导和学习的是这些好程序的逻辑结构,它们是被精心设计出来的。“(《修炼一名程序员的职业水准》)

三、经验

经验方面,总结一下三点:

1、运用软件工程的知识,软件开发的方法,懂得软件开发流程;

2、懂得如何管理团队、如何合作、如何分配,公司永远的是团体;

3、开发出让用户满意的产品。因为是产品,所以多学习产品的知识,多看用户体验的书籍。因为这些都是要在实践中才能得到提升。(自己第一次做用户软件,就败在这个上面,烦恼至极!)

上面第二点,站在了项目负责人的角度思考的。或许我们正应该有一个管理者的角度,这体现一个人如何把一份工作做好!


总结:天下无难事,只怕有心人


你可能感兴趣的:(就业规划)