锁定老帖子 主题:什么样的技术人才最受欢迎?说下我个人的感受
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-21
我那天去面试,面到最后领导了,
领导就问我 操作系统 问我算法,因为工作后,学校里的很多东西忘了 所以就没打上来,然后他就说我技术不行, 然后我就跟他理论(已经带情绪了,争论了很久), 不过还好,最后那领导改变观点了 |
|
返回顶楼 | |
发表时间:2011-06-21
最后修改:2011-06-21
yizhilong28 写道 jackra 写道 zhao3546 写道 Durian 写道 还要对JVM的内部机制要有所以了解,比如JVM的内存管理,类加载机制等
这些东西有啥用? 我不知道你有没有遇到过Java内存泄漏的问题,Java内存泄漏还分几种,感兴趣自己去找找。 如果你写的代码只有几个人用,可能有些问题你永远都不用考虑; 但假如你的代码每天有几万人、几十万人在用,很多小问题可能都会无限放大变成大问题。 如果你不能深入地去学习一些东西,而只停留在List、Map等几个常用类的使用上,我觉得你应该考虑一下你以后要怎么办。 内存泄漏?我见过,有文件句柄不够的,也有数据库连接超越最大允许数的,还有各种不关游标的,各种不关statment的。 程序员不一定必须要犯这样的错误,片面的强调这些,其实不见得是好事。很难想象在一组嵌套的N千行的function里,一个人能控制自己所有的逻辑代码。一些有好习惯和良好的素质教育的程序员,就算没有经验,也不见得就一定要犯你说的错误,他们在创造外部资源依赖的时候,或许已经就对外部资源进行了关闭。这些其实是基础知识,接受过良好的编程教育或者认真的对待这些经验问题的人,是可以通过学习学到的。 对于资源管理的知识,有些人当回事,有些人不当回事。很难说,把结构搞的很复杂,然后自己的资源控制不住,到底是水平问题,还是智商问题,或者是根本没用心思的问题。 程序员的基本素质,永远不会认为自己没有错误,而是计算机在犯错误。任何的错误都可能是由人导致的,而绝对不会是机器。你可以说JVM会有差异,也可以说操作系统有问题,但是机器永远代表的是现实存在的物理规律,而不是可以随便犯违反规律错误的带有情绪和不确定因素的活物。 聪明的程序员,要想办法防止自己陷入麻烦,进而防止团队陷入麻烦。所以聪明的程序员,应该学会挑选合适的团队、合适的领导、合适的团队,更聪明的程序员,就得做到“宁武子邦有道则知,邦无道则愚;其知可及也,其愚不可及也。”该钓鱼的时候钓鱼,该摸鱼的时候摸鱼吧。 事实上,聪明的程序员,会把麻烦的事情想到合适的解决办法。比如对于可能变化的设计,保存足够的生成代码的资料(详细设计),比如避免重复劳动而花费写时间为需要重复做的事情写脚本,还有必须发现项目的潜在危险(比如不确定的需求,无法确定的客户态度,以及无法确定的领导结构)。但是,其实聪明的程序员,不见得是成功的,毕竟现阶段的环境就是如此,天才也不一定能胜的过天朝。呵呵。 也许有时候,技术并不是真正的核心内容也说不定。永远不要在程序上谈论程序。单纯的程序,什么都不是。只是一些消耗电能的指令而已。 如果执泥于技术,会出现很搞笑的状况,学着学着就看起道德经起来,哈哈 想起很早以前的一本书《J道》以前一直想读,但是水平不够,没读懂,这家伙,估计肯定看过《道德经》 |
|
返回顶楼 | |
发表时间:2011-06-21
受益匪浅,,很是受教了。
只是不知道的还很多,该怎么学呢??? |
|
返回顶楼 | |
发表时间:2011-06-21
真正的疑难杂症不是解决了的..而是无缘无故又好了的..坑爹啊..
|
|
返回顶楼 | |
发表时间:2011-06-21
jackra 写道 zhao3546 写道 Durian 写道 还要对JVM的内部机制要有所以了解,比如JVM的内存管理,类加载机制等
这些东西有啥用? 我不知道你有没有遇到过Java内存泄漏的问题,Java内存泄漏还分几种,感兴趣自己去找找。 如果你写的代码只有几个人用,可能有些问题你永远都不用考虑; 但假如你的代码每天有几万人、几十万人在用,很多小问题可能都会无限放大变成大问题。 如果你不能深入地去学习一些东西,而只停留在List、Map等几个常用类的使用上,我觉得你应该考虑一下你以后要怎么办。 内存泄漏?我见过,有文件句柄不够的,也有数据库连接超越最大允许数的,还有各种不关游标的,各种不关statment的。 程序员不一定必须要犯这样的错误,片面的强调这些,其实不见得是好事。很难想象在一组嵌套的N千行的function里,一个人能控制自己所有的逻辑代码。一些有好习惯和良好的素质教育的程序员,就算没有经验,也不见得就一定要犯你说的错误,他们在创造外部资源依赖的时候,或许已经就对外部资源进行了关闭。这些其实是基础知识,接受过良好的编程教育或者认真的对待这些经验问题的人,是可以通过学习学到的。 对于资源管理的知识,有些人当回事,有些人不当回事。很难说,把结构搞的很复杂,然后自己的资源控制不住,到底是水平问题,还是智商问题,或者是根本没用心思的问题。 程序员的基本素质,永远不会认为自己没有错误,而是计算机在犯错误。任何的错误都可能是由人导致的,而绝对不会是机器。你可以说JVM会有差异,也可以说操作系统有问题,但是机器永远代表的是现实存在的物理规律,而不是可以随便犯违反规律错误的带有情绪和不确定因素的活物。 聪明的程序员,要想办法防止自己陷入麻烦,进而防止团队陷入麻烦。所以聪明的程序员,应该学会挑选合适的团队、合适的领导、合适的团队,更聪明的程序员,就得做到“宁武子邦有道则知,邦无道则愚;其知可及也,其愚不可及也。”该钓鱼的时候钓鱼,该摸鱼的时候摸鱼吧。 事实上,聪明的程序员,会把麻烦的事情想到合适的解决办法。比如对于可能变化的设计,保存足够的生成代码的资料(详细设计),比如避免重复劳动而花费写时间为需要重复做的事情写脚本,还有必须发现项目的潜在危险(比如不确定的需求,无法确定的客户态度,以及无法确定的领导结构)。但是,其实聪明的程序员,不见得是成功的,毕竟现阶段的环境就是如此,天才也不一定能胜的过天朝。呵呵。 也许有时候,技术并不是真正的核心内容也说不定。永远不要在程序上谈论程序。单纯的程序,什么都不是。只是一些消耗电能的指令而已。 如果一个程序员遇到各种难题并能解决,我相信他的基本编程技能肯定是没有问题,至少他遇到过的问题他不会再犯了;另外,解决过一些难题后,心态也会成熟很多,这点我想你多少会有感受。你第一次遇到难题和你第十次遇到难题的心态,肯定会相差很多吧。 你解决技术问题的过程,正是你个人能力和水平的体现,如果你还将这些问题总结并分享出来,在总结的过程中,你个人肯定会收益良多,分享的过程,肯定也会对他人有不少启示。 从长远来看,技术多少还是要为产品服务,如果你做的产品没有任何价值,就算你的技术再先进又能如何? 其实在论坛上和大家交流也是一种分享,就算我的观点你不同意,我的观点多少也引起你的思考了,不是吗? |
|
返回顶楼 | |
发表时间:2011-06-21
jaystarba 写道 受益匪浅,,很是受教了。
只是不知道的还很多,该怎么学呢??? 怎么学?其实很简单,踏实地做好本份工作,在做项目的过程中,适当地拓展和延伸,让自己知识的深度和广度得到发展。 在遇到问题的过程中,适当地加以深入学习,这种方式个人觉得收获最大,印象也最深刻。 我第一次花了两三周解决一个内存泄露的问题后,对JVM的内存管理及JVM的一些高级命令的掌握一下子提升了不少,当然中间的过程也很痛苦,但解决了这个问题后,领导一下子就认可了我。 |
|
返回顶楼 | |
发表时间:2011-06-21
zhao3546 写道 jackra 写道 zhao3546 写道 Durian 写道 还要对JVM的内部机制要有所以了解,比如JVM的内存管理,类加载机制等
这些东西有啥用? 我不知道你有没有遇到过Java内存泄漏的问题,Java内存泄漏还分几种,感兴趣自己去找找。 如果你写的代码只有几个人用,可能有些问题你永远都不用考虑; 但假如你的代码每天有几万人、几十万人在用,很多小问题可能都会无限放大变成大问题。 如果你不能深入地去学习一些东西,而只停留在List、Map等几个常用类的使用上,我觉得你应该考虑一下你以后要怎么办。 内存泄漏?我见过,有文件句柄不够的,也有数据库连接超越最大允许数的,还有各种不关游标的,各种不关statment的。 程序员不一定必须要犯这样的错误,片面的强调这些,其实不见得是好事。很难想象在一组嵌套的N千行的function里,一个人能控制自己所有的逻辑代码。一些有好习惯和良好的素质教育的程序员,就算没有经验,也不见得就一定要犯你说的错误,他们在创造外部资源依赖的时候,或许已经就对外部资源进行了关闭。这些其实是基础知识,接受过良好的编程教育或者认真的对待这些经验问题的人,是可以通过学习学到的。 对于资源管理的知识,有些人当回事,有些人不当回事。很难说,把结构搞的很复杂,然后自己的资源控制不住,到底是水平问题,还是智商问题,或者是根本没用心思的问题。 程序员的基本素质,永远不会认为自己没有错误,而是计算机在犯错误。任何的错误都可能是由人导致的,而绝对不会是机器。你可以说JVM会有差异,也可以说操作系统有问题,但是机器永远代表的是现实存在的物理规律,而不是可以随便犯违反规律错误的带有情绪和不确定因素的活物。 聪明的程序员,要想办法防止自己陷入麻烦,进而防止团队陷入麻烦。所以聪明的程序员,应该学会挑选合适的团队、合适的领导、合适的团队,更聪明的程序员,就得做到“宁武子邦有道则知,邦无道则愚;其知可及也,其愚不可及也。”该钓鱼的时候钓鱼,该摸鱼的时候摸鱼吧。 事实上,聪明的程序员,会把麻烦的事情想到合适的解决办法。比如对于可能变化的设计,保存足够的生成代码的资料(详细设计),比如避免重复劳动而花费写时间为需要重复做的事情写脚本,还有必须发现项目的潜在危险(比如不确定的需求,无法确定的客户态度,以及无法确定的领导结构)。但是,其实聪明的程序员,不见得是成功的,毕竟现阶段的环境就是如此,天才也不一定能胜的过天朝。呵呵。 也许有时候,技术并不是真正的核心内容也说不定。永远不要在程序上谈论程序。单纯的程序,什么都不是。只是一些消耗电能的指令而已。 如果一个程序员遇到各种难题并能解决,我相信他的基本编程技能肯定是没有问题,至少他遇到过的问题他不会再犯了;另外,解决过一些难题后,心态也会成熟很多,这点我想你多少会有感受。你第一次遇到难题和你第十次遇到难题的心态,肯定会相差很多吧。 你解决技术问题的过程,正是你个人能力和水平的体现,如果你还将这些问题总结并分享出来,在总结的过程中,你个人肯定会收益良多,分享的过程,肯定也会对他人有不少启示。 从长远来看,技术多少还是要为产品服务,如果你做的产品没有任何价值,就算你的技术再先进又能如何? 其实在论坛上和大家交流也是一种分享,就算我的观点你不同意,我的观点多少也引起你的思考了,不是吗? 我不是否认你的观点。而是从另一个方面来阐述问题而已。中国文化里有很多很多的“只有。。。才能。。。”可事实情况真的如此吗?最少从一些天才的事件中一次次的在阐述“如果。。。也能。。。”我只是觉得,没有必要给什么所谓的后辈必要的框框,自由的天空下,才有自由的代码飞翔。不可否认,IT方面是有天才的,我无法想象这些天才的大脑,但我尊重他们与众不同的智慧。 |
|
返回顶楼 | |
发表时间:2011-06-22
Durian 写道 zhao3546 写道 Durian 写道 还要对JVM的内部机制要有所以了解,比如JVM的内存管理,类加载机制等
这些东西有啥用? 我不知道你有没有遇到过Java内存泄漏的问题,Java内存泄漏还分几种,感兴趣自己去找找。 如果你写的代码只有几个人用,可能有些问题你永远都不用考虑; 但假如你的代码每天有几万人、几十万人在用,很多小问题可能都会无限放大变成大问题。 如果你不能深入地去学习一些东西,而只停留在List、Map等几个常用类的使用上,我觉得你应该考虑一下你以后要怎么办。 遇到过几次内存溢出。 eclipse编译大工程时候溢出,只要设置eclipse的初始化参数 =256m就可以。 死循环也会溢出 递归次数过大肯定溢出 不确定数据连接不关闭,连接数占满是否溢出? 这些问题靠jvm能解决? 另外,看类加载有啥用? 笑而不语,笑而不语。。。。 |
|
返回顶楼 | |
发表时间:2011-06-22
我觉得楼主说的“先在某一方面成为专家,再扩展知识面”,这一点很有道理
|
|
返回顶楼 | |
发表时间:2011-06-22
要记那些遇到困难的时刻,那平时心情能好吗?要不咋说过劳死呢!我基本上处理完棘手问题只要保证下次在遇到知道就行了,我才不记着过程呢,太伤脑细胞!同意的打钩啊
|
|
返回顶楼 | |