我觉得经常看到的C / C ++并不能真正描述我在简历中的技能。因此,我计划将其分为高级C ++知识和普通C技能。
您认为这会让读者感到困惑吗?她可能会想:“ C是C ++的子集,那么这个人想打电话给我什么?” 好吧,我想告诉的是:我已经完成了几个真实的C ++项目,而纯粹的C项目只是一个业余爱好。您是否同意熟练的C ++程序员不一定是合格的C专家,或者您认为此转换很容易完成?
我觉得经常看到的C / C ++并不能真正描述我在简历中的技能。因此,我计划将其分为高级C ++知识和普通C技能。
您认为这会让读者感到困惑吗?她可能会想:“ C是C ++的子集,那么这个人想打电话给我什么?” 好吧,我想告诉的是:我已经完成了几个真实的C ++项目,而纯粹的C项目只是一个业余爱好。您是否同意熟练的C ++程序员不一定是合格的C专家,或者您认为此转换很容易完成?
Answers:
您一口气问了很多问题;让我尝试在隔离他们时回答。我雇用了很多属于这种个人资料类型的人,而且我经常不得不接受很多采访并拒绝人们,因为他们通常对您所提出的问题没有明确的答案。
精通C或C ++是否足以使您具备其他程序的资格?
如果你是高年级,实际上没有。例如,如果您在某项核心企业应用程序上进行C ++编程已有6年之久,而现在我正尝试将您置于所有用C语言编写的嵌入式系统中-可能您的编程语法和调试方法都没有问题。但是,如果您需要考虑一个问题,那么您肯定会很混乱。从任何一方到另一种语言都是如此。您只花一种语言的时间越长,越难转换成其他形式!这与您是否可以学习语言的语法无关,但是在使用C,C ++,Java,perl和Python时,您实际上会有所不同。为了解决这个问题-大多数情况下-C ++和Java专家可以互换使用,Perl,PHP和Phython也可以互换使用。C是一个完全不同的品种!
如果您是一个相对年轻的家伙-您很有可能会很快赶上。
这是否意味着当我了解C ++而不是C时,我具有更高的技能
。否,因为在一般情况下,与C ++相比,如果您能够使用C创建完整的产品,则要困难得多。能够熟练掌握共享内存系统故障的人数远远少于能够使用VC ++或类似框架编写体面的GUI程序的人数。
这是否意味着知道C(或最低级别的编程)是最高成就?
再没有!这不是矛盾。这次取决于您比较的域。如果您正在研究Linux内核内部的系统编程或非常接近硬件的系统,则C语言的编程能力更为重要。但是,如果您正在编写银行软件或某些业务规则引擎,则C ++通常是自然选择。关键是您的真正优势不是语言的语法,而是解决一类问题的方式,您只能希望掌握生活中的一些类别/领域。如果您要在简历中放一些东西,那才是真正重要的。
这是否意味着如果仅使用C语言-我不知道面向对象编程?
一点也不。实际上,我在采访中进行的石蕊测试是要知道是C语言还是C ++,这是一个非常简单的问题-“那么,您可以在C语言中进行面向对象编程吗?” -那个家伙跳了起来,说道-“绝对不!” 他/她是C ++伙伴。关键是,当您真正编写非常复杂的代码(如多媒体代码,多线程系统,协议层堆栈)时,您仍然“像目标代码一样思考”-如果您不好封装两个例程,C编译器不会惩罚您或对象-但是当系统不断扩展而不断被解雇时-我有时会相信-有很多人是在面向对象的时代出生的,通常对于在代码中封装实际上是如何被违反的确切方面非常薄弱充满了类和对象。对不起,我离题了。但是重点是-问题分析和设计技能比单独的编程技能更重要。
这是否意味着我应该适当地运用针对特定领域的知识和设计技能?
绝对可以!
就个人而言,当人们编写“ C / C ++”时,我会感到非常烦恼,因为C和C ++是非常不同的语言。相反,如果我在履历表上看到“ C,C ++”或“ C ++和C”,那将给我留下无限的印象。不幸的是,几乎每个人都写“ C / C ++”,并且通常表示“我知道C ++,但是如果需要的话,我可以做C”。
另外,我对简历没有那么具体。只需列出您所知道的编程语言,就可以从最熟练到最不熟练的顺序列出。那应该使您摆脱HR流行语过滤器的困扰,然后您可以在技术面试中解释自己的优点和缺点。
C/C++
,并Java/Javascript
就好像它们是同一个仍处于两个完全不同的联赛。
我喜欢您的措辞:“我已经完成了几个真实世界的C ++项目,而纯粹的C项目只是一件业余爱好”
所以我只用CV术语:
最好将数字替换为“几个”和“几个”。不必确切地说,“二十以上”是用于此目的的数字。
“技能级别”描述是正确的,但是“经验”描述是正确而清晰的。