Chinaunix

标题: 实践再次证明光会C不会C++找工作很难 [打印本页]

作者: szlishun    时间: 2009-08-19 02:45
标题: 实践再次证明光会C不会C++找工作很难
Linux系统编程,实际一点说,我应该属于那种能做事的程序员。

我又是学画画毕业的,不是科班出身不能去大公司。

也许深圳的原因吧,搞Linux C开发的本来就不多,连去面试都是C++的笔试题,奶奶的,C部分做起来很轻松,C++就做得一塌糊涂,我也是为了找工作才零时看了一下C++,基本上那些公司一看我C++就把我刷了,直接告诉我他们都用C++开发。

难道Linux下开发的都是C++么?好像连大部分的教程都是C的吧,Linux下。我很郁闷啊.

而且,深圳这些公司,面试的时候只能出个C++面试题,真正Linux系统编程的问题只有一家公司问到,我都怀疑他们那些公司到底有几个人是在Linux下开发的,郁闷啊。

为了生活为了工作,只好再去学习复杂的C++了,相当不爽。。。。。。。。。。。。。
作者: emacsnw    时间: 2009-08-19 06:28
原帖由 szlishun 于 2009-8-18 10:45 发表
Linux系统编程,实际一点说,我应该属于那种能做事的程序员。

我又是学画画毕业的,不是科班出身不能去大公司。

也许深圳的原因吧,搞Linux C开发的本来就不多,连去面试都是C++的笔试题,奶奶的,C部分做 ...


因为C++太复杂了,所以面试喜欢出C++的题。:wink:
作者: aobai    时间: 2009-08-19 09:11
有些公司的面试题他们自己都不知道在考什么。。。。。
作者: 群雄逐鹿    时间: 2009-08-19 09:13
他们自己会,还找你干嘛
作者: zhujiang73    时间: 2009-08-19 09:15
原帖由 szlishun 于 2009-8-19 02:45 发表
Linux系统编程,实际一点说,我应该属于那种能做事的程序员。

我又是学画画毕业的,不是科班出身不能去大公司。

也许深圳的原因吧,搞Linux C开发的本来就不多,连去面试都是C++的笔试题,奶奶的,C部分做 ...


有时人力资源并不是真的在招聘,他们只是让老板以为他们是在招聘。
作者: 群雄逐鹿    时间: 2009-08-19 09:19
学画画好,可以考虑做 flash程序员。

我们也有个客户在用这个玩 flash application
http://www.multidmedia.com/support/livedocs/

你有C系统编程经验,又是艺术出身,玩这个应该很顺畅了。
作者: drowndog    时间: 2009-08-19 09:19
花点时间,看看essential C++吧,应该可以应付很多的面试了
作者: reiase    时间: 2009-08-19 09:37
原帖由 emacsnw 于 2009-8-19 06:28 发表


因为C++太复杂了,所以面试喜欢出C++的题。:wink:


C也有很多深入问题阿,要出面试题,难度不会比C++差吧
作者: 群雄逐鹿    时间: 2009-08-19 09:41
原帖由 reiase 于 2009-8-19 09:37 发表


C也有很多深入问题阿,要出面试题,难度不会比C++差吧


面试也有技巧啊
其实很多他不会的你会,别被对方牵着走。

最搞笑的我面试过一些人,遇到不会的,他会反过来问你怎么办,
接上话题的话,后面的问题一驮一驮了,谁面试谁?
作者: ViaSky    时间: 2009-08-19 09:45
原帖由 aobai 于 2009-8-19 09:11 发表
有些公司的面试题他们自己都不知道在考什么。。。。。



而且还不少
作者: reiase    时间: 2009-08-19 09:47
标题: 回复 #9 群雄逐鹿 的帖子
那不会的问题俺怎么答比较好
曾经电话面试问我纯虚函数是啥,俺不会,就给扯了一通编译器怎么实现虚汗数...
作者: alexhappy    时间: 2009-08-19 09:50
原帖由 群雄逐鹿 于 2009-8-19 09:41 发表


面试也有技巧啊
其实很多他不会的你会,别被对方牵着走。

最搞笑的我面试过一些人,遇到不会的,他会反过来问你怎么办,
接上话题的话,后面的问题一驮一驮了,谁面试谁?

我经常反问面试官的。。。
作者: 群雄逐鹿    时间: 2009-08-19 09:51
原帖由 reiase 于 2009-8-19 09:47 发表
那不会的问题俺怎么答比较好
曾经电话面试问我纯虚函数是啥,俺不会,就给扯了一通编译器怎么实现虚汗数...


个人意见,如果像那么回事,他又理解不了你的回答,这个办法很好啊
实在没的扯,就诚心请教一下对方,一两次应该没问题。
作者: epegasus    时间: 2009-08-19 09:54
小公司的C++就是画界面吧
作者: prolj    时间: 2009-08-19 10:24
原帖由 epegasus 于 2009-8-19 09:54 发表
小公司的C++就是画界面吧

也有在VxWorks里面用C++装B的小公司。
作者: langue    时间: 2009-08-19 10:29
原帖由 群雄逐鹿 于 2009-8-19 09:13 发表
他们自己会,还找你干嘛


有道理
作者: anders0913    时间: 2009-08-19 10:51
现在这样的公司多了,没啥好奇怪的,直接走人,去了也是浪费你的时间~~
作者: OwnWaterloo    时间: 2009-08-19 11:50
标题: 回复 #8 reiase 的帖子
原帖由 reiase 于 2009-8-19 09:37 发表
C也有很多深入问题阿,要出面试题,难度不会比C++差吧


是啊是啊, 比如又被顶上来的" 一道C语言指针运算的基础题" : http://bbs3.chinaunix.net/thread-1523604-1-2.html
就这么一道基础题,我就不会做了
笔试面试遇到这种题目, 只好直接走人
作者: aaaaa5aa    时间: 2009-08-19 11:54
关键是有些题还有争议
作者: Cyberman.Wu    时间: 2009-08-19 12:53
原帖由 prolj 于 2009-8-19 10:24 发表

也有在VxWorks里面用C++装B的小公司。


这个说法就有些极端了吧。用VxWorks的是用C的多一些,但并非都是用C,华为的光网络的软件就是基于C++的,而Cisco原来的光网络产品15454还是15327(好像是后者,太久了记不清楚了)的软件从我反汇编的结果看基础层是C但上层业务应用(更大的一块)中用了C++,而且它里面还集成Java的应用来实现可安装网管。

从表达设计的角度看,C++的确有它的优点,如果利用的好还是很不错的。在嵌入式中它容易被误用,所以有几家大公司联合做过一个EC++的标准,专门针对嵌入式系统中应用C++的。

[ 本帖最后由 Cyberman.Wu 于 2009-8-19 13:04 编辑 ]
作者: Cyberman.Wu    时间: 2009-08-19 13:03
面试中有两点要注意:

1. 不会的就不会,不要乱讲。以前我们出去招聘尤其针对没什么工作经验的,如果知识点不会就通过闲聊等判断一个人的思路、逻辑思维和学习能力等;但如果发现不懂装懂,那就算基础不错也直接卡掉的。

2. 尽量把谈话导致向自己擅长的方面,但前提是这个方面对于对方公司来说是有价值的,如你不能在应用程序职位时狂聊你画画得如何如何好。面试中可以适当避开自己不熟悉的东西,这个无可厚非,一个公司要利用好一个员工原本就是要发挥他的长处,更重要的是找到他懂什么看对公司有没有价值,而不是看他不懂什么。
作者: prolj    时间: 2009-08-19 13:33
原帖由 Cyberman.Wu 于 2009-8-19 12:53 发表


这个说法就有些极端了吧。用VxWorks的是用C的多一些,但并非都是用C,华为的光网络的软件就是基于C++的,而Cisco原来的光网络产品15454还是15327(好像是后者,太久了记不清楚了)的软件从我反汇编的结果看 ...

其实他们也只是用C++编译器去编译C代码,那代码不伦不类的...
我没说C++不好,因为我现在需要C++,NND是有点复杂。
作者: alexhappy    时间: 2009-08-19 13:37
TMD不是有点点复杂,是相当复杂。。。C++已经让我没时间去泡妞,健身,看电影。。。就连大便还在想那该死的BUG。。。
如果我有一天疯了,那肯定是C++给整疯的

[ 本帖最后由 alexhappy 于 2009-8-19 13:42 编辑 ]
作者: Cyberman.Wu    时间: 2009-08-19 14:26
原帖由 prolj 于 2009-8-19 13:33 发表

其实他们也只是用C++编译器去编译C代码,那代码不伦不类的...
我没说C++不好,因为我现在需要C++,NND是有点复杂。


呵呵。C++实际上有几大部分:兼容C的部分(面向过程)、面向对象、泛型编程。如果只用一些基本的还好,最怕有人啥计犄角旮旯的都用上,显得自己很C++;我一般倾向于上能用简单的就不要用复杂的,C++中有许多东西虽然有标准但各编译器实现差异比较大,到时候移植也很麻烦。

用C++编译器编译C代码我倒能理解,一般C++的编译器语法检查比C编译器严格一些,如不声明函数就使用在C编译器是不报Warning的(最新C99支持,但许多编译器不支持C99),而C++编译器通常对于C++文件报error而C文件报Warning。

我也挺长时间不用C++了,差不多回归到C了。

[ 本帖最后由 Cyberman.Wu 于 2009-8-19 14:27 编辑 ]
作者: prolj    时间: 2009-08-19 14:29
原帖由 Cyberman.Wu 于 2009-8-19 14:26 发表


呵呵。C++实际上有几大部分:兼容C的部分(面向过程)、面向对象、泛型编程。如果只用一些基本的还好,最怕有人啥计犄角旮旯的都用上,显得自己很C++;我一般倾向于上能用简单的就不要用复杂的,C++中有许多 ...

问题是他们明明写C,非要吹自己C++,唉,不说这个了,你看到那代码也影响食欲。
作者: Cyberman.Wu    时间: 2009-08-19 14:31
原帖由 alexhappy 于 2009-8-19 13:37 发表
TMD不是有点点复杂,是相当复杂。。。C++已经让我没时间去泡妞,健身,看电影。。。就连大便还在想那该死的BUG。。。
如果我有一天疯了,那肯定是C++给整疯的


哈哈——

以前网上有人流传一个Stroustrup的访谈(当然是假的),其中讲到为什么设计C++语言,原因之一就是因为它复杂,可以增加更多的就业机会
这个和Linux内核有异曲同工之妙啊,Linux内核是无时不变、无处不变,所以也增加了很多就业机会,呵呵。

其实C++是复杂,但更多的时候是给人用复杂了,有许多应用完全可以用C++的基本部分简单明了地设计出来,但许多人偏报整一个所谓很C++的设计,搞得中国人看不懂、外国人不明白。
作者: Cyberman.Wu    时间: 2009-08-19 14:37
原帖由 prolj 于 2009-8-19 14:29 发表

问题是他们明明写C,非要吹自己C++,唉,不说这个了,你看到那代码也影响食欲。


这个就有意思了,好像显得用C++就比C高似的,实际上设计一个系统编程语言固然有影响,但主要是看它对于目标应用是否合适,而真正的产品是好是坏就和它没直接关系了,是设计与实现的问题。我知道许多人看不起VB,而且我也不会,但有人用它照样实现一些很好用的系统。

在原来公司的一次技术交流大会上有个哥们的观点就很有意思,他说用C/C++开发业务应用,实际上是要求一堆半瓶子的程序员在那乱写,所以产品很难稳定下来。C/C++描述的设计是偏向计算机而不是业务方向的,用它做开发首先要关注一大堆和业务本身无关的东西,动不动就要考虑内存泄露啥的,这个的确是一个问题,可惜目前的确没太好的解决方案。
作者: prolj    时间: 2009-08-19 14:46
原帖由 Cyberman.Wu 于 2009-8-19 14:37 发表


这个就有意思了,好像显得用C++就比C高似的,实际上设计一个系统编程语言固然有影响,但主要是看它对于目标应用是否合适,而真正的产品是好是坏就和它没直接关系了,是设计与实现的问题。我知道许多人看不起 ...

说实话,C++在实现IS算法的确比C方便。是他们吹嘘自己C++的,吹嘘C++面向老婆多么多么高尚... 我的意思只是,你还不会用呢,吹毛啊。
你的观点我倒是同意,根据需求进行技术选型,但是我会选跨平台的QT,Python什么的,而不是VB。
C和C++可以很好的做业务,我在做,关键看自己的封装和设计,而不是去责备语言的细节。
作者: system888net    时间: 2009-08-19 17:37
原帖由 Cyberman.Wu 于 2009-8-19 14:26 发表


我一般倾向于上能用简单的就不要用复杂的 ...


个人对这个观点比较同意,方法是为目的服务的.
作者: system888net    时间: 2009-08-19 17:43
实际上完全可以用一个特没"含量"的方法做出一个好的产品.
在对方法进行争论的时候,有时候往往容易迷失本来的目的.
换句话说,方法没含量不等于作出的产品一定没有含量.
作者: cheng_lai_shun    时间: 2009-08-19 17:59
标题: 回复 #15 prolj 的帖子

作者: 光速    时间: 2009-08-19 18:07
我近半年时间一直学c语言。感觉还是比较肤浅。还要下功夫学呀!哎...时时有困难,事事有困难呀!
作者: Cyberman.Wu    时间: 2009-08-19 18:12
原帖由 prolj 于 2009-8-19 14:46 发表

说实话,C++在实现IS算法的确比C方便。是他们吹嘘自己C++的,吹嘘C++面向老婆多么多么高尚... 我的意思只是,你还不会用呢,吹毛啊。
你的观点我倒是同意,根据需求进行技术选型,但是我会选跨平台的QT,Pyt ...


QT、Python未必能替代VB,各有各的用途,快速做界面并且不考虑跨平台,VB明显有一些方便之处(当然我只见朋友用过,自己没用过VB)。

C/C++做业务模型不是不行,但相对一些专门针对业务的语言来说的确对程序员水平要求高一些。以前公司有一个部门在这两个之间做了个折衷,他们自己写了一个工具,以所见即所得的方式用鼠标去描述业务,然后生成C/C++代码,明显少了许多低级错误,做业务设计的人不再去关心C/C++的细节。
作者: langue    时间: 2009-08-19 18:13
原帖由 Cyberman.Wu 于 2009-8-19 14:37 发表

C/C++描述的设计是偏向计算机而不是业务方向的,用它做开发首先要关注一大堆和业务本身无关的东西,动不动就要考虑内存泄露啥的,这个的确是一个问题,可惜目前的确没太好的解决方案。


所以对 C/C++ 程序员来说,需要的不仅仅是对语言特性的熟练掌握,还需要一套完整的开发框架。很可惜,现有的框架都不是向着 C/C++ 的,要么是 Java,要么 .NET,而微软自己也承认,这个 .NET 实际上它的核心就是 C#。就说 Web 开发,前两天去书店里看到几本关于 GWT(Google Web Toolkit)的书,结果还是 Java,没有找到成熟的为 C/C++ 设计的 Framework。
作者: Cyberman.Wu    时间: 2009-08-19 18:15
原帖由 system888net 于 2009-8-19 17:43 发表
实际上完全可以用一个特没"含量"的方法做出一个好的产品.
在对方法进行争论的时候,有时候往往容易迷失本来的目的.
换句话说,方法没含量不等于作出的产品一定没有含量.


是啊,许多时候不是比哪个好哪个不好,而是哪个更合适业务目标、哪个更适合自己现有的人力。往往最简单的可能是最好的。

现在软件开发行业方法论满天飞,但往往忘了它的本质是完成客户的功能需求,许多时候过多地追求方法而忘了结果。
作者: reiase    时间: 2009-08-19 18:20
原帖由 langue 于 2009-8-19 18:13 发表


所以对 C/C++ 程序员来说,需要的不仅仅是对语言特性的熟练掌握,还需要一套完整的开发框架。很可惜,现有的框架都不是向着 C/C++ 的,要么是 Java,要么 .NET,而微软自己也承认,这个 .NET 实际上它的核心 ...


C和C++对xmlrpc等协议支持的库,也比python,java差一截
像python,写xmlrpc接口,定义一个类就行了,python库用反射特性自动找到接口
作者: Cyberman.Wu    时间: 2009-08-19 18:36
原帖由 langue 于 2009-8-19 18:13 发表


所以对 C/C++ 程序员来说,需要的不仅仅是对语言特性的熟练掌握,还需要一套完整的开发框架。很可惜,现有的框架都不是向着 C/C++ 的,要么是 Java,要么 .NET,而微软自己也承认,这个 .NET 实际上它的核心 ...


说到这个我倒觉得做为软件开发人员,不要光盯着这些语言、库什么的,其它有些方面也很重要。以前工作中经常要评审文档,那个痛苦啊,都不知道中文是咋写的,标点要么没有要么乱点,句子不成句子、段落不成段落的,搞得很难看明白;如何用文字把自己的思路描述清楚也是一种能力。
作者: langue    时间: 2009-08-19 18:45
标题: 回复 #37 Cyberman.Wu 的帖子
说的是,但各方面能力很强的人很少能踏踏实实地做程序员了,国情。
作者: maxunix    时间: 2009-08-19 22:15
 同感,
还要求有数据库!
作者: Cyberman.Wu    时间: 2009-08-19 23:12
标题: 回复 #38 langue 的帖子
是啊,也不知道啥时候国内的技术积累能好一些,也出许多干了二三十年的人。目前经常是不到三年就转型了。
作者: zwq132435    时间: 2009-08-19 23:23
标题: 回复 #1 szlishun 的帖子
谁说的?
我会C++,但我找工作时就不找C++的职位,也没感觉不好找工作呀,也很容易找到工作了呀,哈哈。
作者: OwnWaterloo    时间: 2009-08-19 23:34
标题: 回复 #41 zwq132435 的帖子
何苦
作者: zwq132435    时间: 2009-08-19 23:43
原帖由 OwnWaterloo 于 2009-8-19 23:34 发表
何苦

你每天都熬到这么晚,是不是一直在学 C++ 呢?
不要总拿着书本看,做个像样的项目出来,这样才能真正懂得C++,不然你就天天熬夜吧,逃不出来了。

[ 本帖最后由 zwq132435 于 2009-8-19 23:48 编辑 ]
作者: OwnWaterloo    时间: 2009-08-19 23:47
标题: 回复 #43 zwq132435 的帖子
得, 我给你一个发泄点
可爱的老顽童
作者: hsqsoft    时间: 2009-08-20 07:56
标题: 回复 #1 szlishun 的帖子
前几天去一家公司全是C++三维编程的,结果挂了.
作者: 刚睡醒的飘过    时间: 2009-08-20 08:42
以前我在这发过一个帖子说要用纯粹的C++,还被人BS了
我不是说C与C++谁好谁坏,但是有些人写的CPP代码里面用绝大多数C的语法,弄得不伦不类的
作者: 群雄逐鹿    时间: 2009-08-20 08:53
原帖由 刚睡醒的飘过 于 2009-8-20 08:42 发表
以前我在这发过一个帖子说要用纯粹的C++,还被人BS了
我不是说C与C++谁好谁坏,但是有些人写的CPP代码里面用绝大多数C的语法,弄得不伦不类的


完美主义者!我喜欢!

但是有时候也不得不屈服于现实,
比如写dll, 还是C接口方便些。
作者: xhl    时间: 2009-08-20 10:11
原帖由 刚睡醒的飘过 于 2009-8-20 08:42 发表
以前我在这发过一个帖子说要用纯粹的C++,还被人BS了
我不是说C与C++谁好谁坏,但是有些人写的CPP代码里面用绝大多数C的语法,弄得不伦不类的


您写代码是为了什么? 给别人看? 还是c++的教学?

如果是为了让计算机代替人去执行一个任务的话, 稳定高效率与可维护这些做到了。 就是好的代码。 无所谓用什么语言, 也无所谓是不论不类。
作者: 刚睡醒的飘过    时间: 2009-08-20 10:28
又一个理解错我的意思的人了
我是说如果你的代码的后缀为CPP或CXX,就少用C的东西
如果必须用大量C的东西,就把文件名命名为.C
原帖由 xhl 于 2009-8-20 10:11 发表


您写代码是为了什么? 给别人看? 还是c++的教学?

如果是为了让计算机代替人去执行一个任务的话, 稳定高效率与可维护这些做到了。 就是好的代码。 无所谓用什么语言, 也无所谓是不论不类。

作者: prolj    时间: 2009-08-20 10:34
原帖由 刚睡醒的飘过 于 2009-8-20 10:28 发表
又一个理解错我的意思的人了
我是说如果你的代码的后缀为CPP或CXX,就少用C的东西
如果必须用大量C的东西,就把文件名命名为.C

因为用两个编译器比较麻烦,所以就都cpp了,其实,大部分都是VC出身的,写两行MFC就以为自己C++了,然后,就认为自己C++精通了,然后招人的时候开始要求精通C++。
作者: 刚睡醒的飘过    时间: 2009-08-20 10:41
标题: 回复 #50 prolj 的帖子
可能我这的情况不同些,我这对效率要求不是很高,就算是前台用户操作界面吧
我觉得真正的原因可能是一些人是从C转过来的,不知道C++中怎么写,或者是知道,但是更加喜欢C的风格
作者: jerrymy    时间: 2009-08-20 13:23
原帖由 Cyberman.Wu 于 2009-8-19 13:03 发表
面试中有两点要注意:

1. 不会的就不会,不要乱讲。以前我们出去招聘尤其针对没什么工作经验的,如果知识点不会就通过闲聊等判断一个人的思路、逻辑思维和学习能力等;但如果发现不懂装懂,那就算基础不错也 ...



招聘的都像你这么想就好了。
作者: Cyberman.Wu    时间: 2009-08-20 13:40
标题: 回复 #52 jerrymy 的帖子
呵呵,也许吧。现在有些公司招人的确是胡乱要求的,而且面试的人本身也是随便从研究人员抽的,或反过来是不怎么懂技术的。我知道有些人喜欢故意问一些很偏的东西,甚至有时候好像有点儿摆显的意思。
精通C++?那么庞杂的东西放眼中国有多少啊,而且一个人把精力都集中在玩C++的各种特性上了,他哪还有精力去学其它的啊。程序员要的是利用语言解决问题的能力,不是操纵语言本身的能力。

不过以前我面试时也喜欢问一些和当前工作不一定有关的,如我们本身不用数据库,但如果有人写他精通数据库,因为之前做过两年有一定基础,我会选择去问一问,但这样问的目的其实是想看一看这个人的诚实度和自我认知能力,这个很重要的,以前遇到过那种自我感觉极其良好的人,这种人你要做他上司会被折磨死的,根据没办法沟通。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2