首页 考试吧论坛 Exam8视线 考试商城 网络课程 面授课程 模拟考试 实用文档 缤纷校园 英语学习 | ||
2010考研 | 自学考试 | 成人高考 | 专 升 本 | 法律硕士 | MBA/MPA | 中 科 院 | ||
四六级 | 商务英语 | 公共英语 | 职称日语 | 职称英语 | 博思 | 口译笔译 | GRE GMAT | 日语 | 托福 | ||
雅思 | 专四专八 | 新概念 | 自考英语 | 零起点英、法、德、日、韩语 | 在职申硕英语 | ||
在职攻硕英语 | 成人英语三级 | ||
等级考试 | 水平考试 | 微软认证 | 思科认证 | Oracle认证 | Linux认证 | ||
公务员 | 报关员 | 报检员 | 外销员 | 司法考试 | 导游考试 | 教师资格 | 国际商务师 | 跟单员 | ||
单证员 | 物流师 | 价格鉴证师 | 银行从业资格 | 证券从业资格 | 人力资源管理师 | 管理咨询师 | ||
期货从业资格 | 社会工作者 | ||
会计职称 | 注会CPA | 经济师 | 统计师 | 注册税务师 | 评估师 | 精算师 | 高会 | ACCA | 审计师 | ||
法律顾问 | 会计证 | ||
建造师(一级、二级) | 造价师 | 监理师 | 安全师 | 咨询师 | 结构师 | 建筑师 | 安全评价师 | ||
估价师(房地产估价、土地估价) | 设备监理师 | 岩土工程师 | 质量资格 | 房地产经纪人 | 造价员 | ||
投资项目管理 | 土地代理人 | 环保师 | 环境影响评价 | 物业管理师 | 城市规划师 | 公路监理师 | ||
公路造价工程师 | 招标师 | ||
执业护士 | 执业医师 | 执业药师 | 卫生资格 |
请看如下考题:写一函数交换a,b两数。
我是讨厌牛角尖和不实用的问题的。再简单不过的题了,担心这种题目有损公司形象。
但总有一部分人写出:
Swap(int a,int b)
{
int temp =a;
a=b;
b=temp;
}
可以说,写这种答案的人C语言基础几乎为0,大一上C语言的时候不知道干什么去了。而且几乎从来没有独立写过什么小型程序。对于这种人,你说实话告诉我,假如你是有钱的资本家,你敢招收这种人来帮你挣钱吗?当然首先是先要从大一的指针,参数传递进行培训。重新进行C语言入门训练,更不提什么C++/MFC了,我不相信这类人现在真的是精通ATL的。现在他们写代码的过程就是“不断犯常识性的错误”的过程。
请再看如下考题:请按商业化要求,写一个程序,往c:\mydata.dat里写入65536个字母’B’,特别强调:请注意要考虑所有可能的情况,让你的代码在各种情况运行正常。为了不让面试者麻痹大意,特意加上了强调。但总有人写出:
FILE *fp=fopen(“c:\\mydata.dat”,”w+b”);
fwrite…..
fclose(fp);
我问,你有没有看到,”请按商业化要求,请注意要考虑所有可能的情况,让你的代码在各种情况运行正常”。 有没有考虑到文件打开会失败,写文件空间不足,已经有同名的只读文件等意外。哪个软件不卖钱,不商业化?进入软件公司,你的任何一行代码都应该“请按商业化要求”啊!
包含你写的代码的商品软件会销售到千家万户,各国各地的用户,运行在Intel P133,P2 300,P3 600 P4 1.5G的CPU, 1GB /10GB/20GB/40GB/150GB 的HD上, 16色256色16bit色 24bit色 Win9x Win2K winXP系统,中文英文法文德日文的语言上,黑人 白人 红人 黄人的屏幕前 你不考虑所有可能的情况,如何能让人放心?
这类人也许能够使用语言,函数,写一些代码。但如果不经过训练,缺乏思维的严密性,永远无法洞悉编写商业软件的实质。与这种人合作的经历,就是一场恶梦。他会让全team的人焦头烂额的找系统中某个bug.好多天后,“啊,原来是你小子的代码处理不严密,没有考虑nnnn的情况啊。”
对于还有些某些自称精通C++之人,只需要问“虚函数是什么?”很多人就会支支吾吾,答非所问,答一大堆无关的东西。请问,”虚函数是什么”都不知道,是否该算“对C++有大概了解”都谈不上?
当然,面试者中的确不乏优秀之人。但是,对于不少面试者的技能,我禁不住要喊“太业余,太业余啦!”
我知道的,做一个程序员远不是想的那么容易。特别是在写商业程序的时候,一个变量名有时都需要斟酢再三达到完美,注释语言都需要推敲,如何让其他人真能看懂。任何一个反常的小现象有时都需要仔细的去追查解决。界面的元素也需要严格的按《GUI规范》去制作,不允许有一个pixel的位置和大小的偏差,资源的标点符号不对,也需要认真校对修改。以上的事情都不能敷衍了事。
这似乎正是我国大部分程序员所缺乏的。大家似乎都乐于把代码应付完了事。管你什么对象模型,注释,类的屏蔽性之类的问题。理由是“反正我也是被剥削,做不了几年。”“写仔细太累,基本能正常运行就行”。“凑合着用,资源错误不影响使用,地方太多,改太麻烦”,“先写好代码,以后有空来补注释”(以后任务一个接一个,你能有空来补注释吗?)。
Stop!怕累,你就不应该选择这个职业!
程序员不是为懒汉和懦夫准备的职业。
没有完美主义态度,你就不要编程!
如果你是老板,你会不会让这种拿着你的工资不认真做事的人下岗?
这种工作态度有资格叫“被剥削”吗?是在剥削老板,剥削勤奋的同事吧?
我认为,认真做好编程细节(详细注释,设计良好的对象模型,优质可读的代码,严谨认真制作界面),也是对自身素质的一种有益的训练。任何《编程大全》都没有提到这一点,但这确实是作为一个“程序员”的首要素质!至于那些技术,是可以学习和积累的,反倒不那么重要。现在“程序员”们津津乐道的是“如何用Splitter切分一个视图”,或者“如何更换软件的皮肤(当然,是用网上那几个老外的共享代码)”。
也许,这也是我们民族现在与那些所谓优秀民族的差异。比如,日本人的敬业,日耳曼人的严谨。羡慕吗?那为什么你不学着做?学人家的实质而不是皮毛。
(申明:本人是最恨小鬼子的,但是人家的确很多时候比国人做得好,我指工作态度)
所以,现在以后当你在被面试的时候,介绍自己 “我是一个程序员,精通xxx,xxx…..”的时候,请小声问一下自己,你真的配叫做一个“程序员”吗?