[如何成为卓有成效的程序员]The Productive Programmer则会教导你: 多用宏吧,启动它,你就可以迅速完成大量重复的工作; 多用脚本吧,你可以提高运行的效率,避免变数和误差; 多用自动化测试吧,你可以迅速定位问题...+阅读
当时看算法本身的文档,然后又回头看线性代数,终于理解了算法,并用程序表达了出来。由于是嵌入式用的,又花了大量时间进行算法优化。
后来跳槽时终于尝到甜头:
1。薪水高,基本上一应聘就是Senior的职位
2。稳定,这个一般大街上招一个程序员是做不来的
3。机会多,这个怎么说呢,反正只要是大公司招人,象微软、Google等,除了问一些语言本身的问题外,基本上就是算法和数据结构的问题。
通常面试那些时间你写源代码是来不及的,基本上就是写伪代码。或说明你的算法基础和思路。答的好一两句话就解决了。
想走这条路的朋友,我首先建议好好读读《数据结构与算法:C++版》,里面所有常用算法和经典算法及数据结构必须烂熟。其次,建议将大学课本找回来,几本高数好好复习复习。《线性代数》《概率和数理统计》《微积分》《常微分》等等。
我们不是大牛,基本上创造不出新算法,但是我们能够将别人的算法实现或者能把一个具体问题分解成已知的算法,那么你就是一个很不错的算法工程师了。
说实在话,语言只是工具,是很容易掌握的。99年2000年泡沫时期,不是很多人突击那么三个月就可以上路做programmer么。就象刀法是很容易学会的。要应用精熟,也不过是长时间的积累而已。
对语言的理解实际上就是对刀法的领悟,有人是顿悟。但是多用总是会渐悟的。
最重要的是基础,就是数学能力,那可是内功。可以这样说,你要想真正和其他程序员拉来差距就在这里。
我朋友的孩子想走计算机编程这条路,考大学我就推荐考数学系!
再有就是多做那些大公司的面试题,一是锻炼自己的大脑,二是熟悉这些算法的应用。
好了,现在能想到的就这几点,这里给几个面试的例子,看看能不能用最简单的描述解答
1.如何生成一组正态分布的随机数?
2.有一个二维迷宫,如何找到出口路径?
3.有数据库存储一股票每五分钟的实时报价,如何生成每小时,每天,每周的股票价格变动曲线?
====我的建议答案
1。生成二维随机数,只取落在正态分布包络线内的数
2。二维连通图深度优先遍历
3。傅利叶变换
延伸阅读:
程序员应建立商业意识玩技术还有一层含义,就是迷恋最新出现的技术,一旦有了新的进展,就要下载尝试一下,或者安装一下玩玩。曾经有一次我们被某公司邀请参加他们的一个技术研讨会。会上有两组开发的团...
从糟糕到不朽程序员的八个级别第四级 一般的程序员 这类程序员的优点在于,他们很清楚地意识到了自己可能这一辈了也无法成为一个伟大的程序员。天才只是很少的一部分人。如果这类程序员有一些商业和人员管...
在公司里,你会是什么样的程序员马上又到了拼命投简历的季节了,很多程序员跃跃欲试,或者左右彷徨,你对入职考虑好了吗?企业为什么会选择你?企业,需要什么样的人? 做过N多的项目,也做了N个项目的负责人,现在苟且当作...
一个程序员从迷茫到坚定到再次迷茫之路后来由于工作调配的关系,把我分到了PB小组,由于我在这里做了时间不短了,薪水却不多(每月1900)而且老板从没有过提薪的打算。加上本人不能容忍从。到PB的退后转换,相当于念完大本念...
35岁前程序员要规划好的4件事经营你的人脉 我觉得程序员除了普遍不善理财外,另外人际沟通也多有问题,很多人在离开公司的剎那,整个人感觉也都被掏空了,而且会有一种担忧,以前别人跟我说话那是因为我是某某公...
程序员个人职业生涯成长公式微软有些部门以成长公式的形式从为什么(Why)、做什么(What)、怎样做(How)和在哪里(Where)角度为员工计划自己的成长提出了方向。比如某部门提出以下公式: 当然了,微软和其他公司企业文...
我们这些老程序员的经验和价值一。人是最好的工具,尤其是软件的性能和难以确定的bug。 最近发现一部分ja写的解析xml程序运行的很慢,使用jprobe跑了一下,搞了一上午,发现问题的所在,检索xml节点时,XPath要进行...
电气工程师的辞职报告范例尊敬的h总、s部长: 你们好! 在蓝迪公司工作的近三年时间里,我从一个刚走出校门的学生,到如今对电气设计有初步了解的电气工程师,专业上得到了很大的提高,生活上也变得更加成熟、理...
电气工程师英文推荐信电气工程师英文推荐信to whom it may concern:as manager of the technical department of zhonghua port ltd., i am very pleased to write this reference letter for mr...