![]() |
1
34
我认为这个问题的问题在于答案有点无意义。我看到人们谈论经验,这很好,我看到人们在谈论理解语言的复杂性,这也很好。然而,如果我雇佣某人来做我的C项目,并且我有一个神奇的8球,可以给我一个准确的答案来回答任何一个(而且只有一个)问题,我永远不会问“他们是C专家吗”。 为什么? 仅仅因为某人是C语言专家并不意味着他们是一名优秀的软件开发人员。经验和语言熟悉度都很好,但我认为它们都被那种无形的、无法量化的属性所超越,这种属性使一个人成为“优秀的软件开发人员”。我想说的是,“是什么让你成为C编程专家?”这不是一个有用的问题,因为还有更重要的问题。如果有人是 G 好的 P 程序员,他们会应付自如的。 举个例子:你可能是一名C编程专家,但在团队中却很糟糕。你可以成为C编程专家,拒绝使用版本控制。你可以成为C编程专家,而不知道如何实际操作 做 任何与C。 这些句子中的“没有”子句是同样重要的问题:是什么让你成为一名优秀的团队程序员?使用SCM的最佳方式是什么 英语字母表的第24个字母 或 y ?如何用C语言编写客户端/服务器游戏、计费应用程序、web浏览器、操作系统或编译器?如果一位应聘者告诉我“不,我不是C语言专家”,但对其他问题给出了很好的答案,我会毫不犹豫地雇佣他们,而不是那个神奇的8-ball说他是C语言专家,但不知道如何将他的代码检查为subversion,并且12年来没有学习过一门新语言的人。 |
![]() |
2
21
当我在谷歌面试时,面试官告诉我这样想。在C熟练程度的1-10分制中,说你是“10”意味着你写过论文和/或书籍,或者在C编程会议上做过演讲。基于此,很少有人是10分的。 FWW,我用C语言编程已经15年了。我认为自己非常精通。我可能会给自己打8分或8.5分。 |
![]() |
3
18
对于一个不如你熟练的人来说,你是一个专家。 对于比你更熟练的人来说,你是个新手。 |
![]() |
4
16
经验是关键,了解语言的“规则”和语法当然是必须的,但这只是一个基础。学习正确做事的常见陷阱和习语是关键。 知道在编程时是否有任何资源可以获得帮助,当然,也知道自己是工具链。我认识许多C++“专家”,他们从未使用过调试器或内存跟踪器。如果你问我,成为某件事的专家不同于精通某件事——你知道它的各个方面。 |
![]() |
5
8
在招聘会上,每个人都是专家 |
![]() |
6
6
如果你能毫不犹豫地回答stackoverflow.com上标记为“c”的所有问题,你就是c语言的专家。 |
![]() |
7
6
这并不能直接回答你的问题(抱歉),但它可能会帮助你决定如何对自己进行分类。 我更喜欢中世纪行会使用的三级专业体系,而不是“专家”和“无知的新手”: 学徒
熟手
大师
在招聘会上?没有专家:每个人都是专家。 :) |
![]() |
8
4
有些人可能不同意,但我认为经验是成为任何语言专家的关键。我认识很多人,他们通过了认证测试,但无法将他们的知识应用于现实世界中的任何实际工作。 所以我认为,总体而言,成为一名专家是对给定主题(C)有足够知识的产物,然后将其应用于足够多的现实世界场景,以犯我们都会犯的错误并从中吸取教训。 |
![]() |
9
4
这个问题的答案确实会引起一些有趣的阅读——似乎我们无法很好地理解这里专家的定义。在像招聘会这样更广泛的论坛上,还有什么希望? :-) 但把我自己的2分钱放在。。。 我认为有两种C专家。
我会毫不犹豫地选择后者。如果你有一段由专家编写的代码非常脆弱,只能由另一位专家阅读和理解,那么无论如何,这段代码都是不可维护的。 这段代码的作者能够记住表达式中间复杂的类型转换,这一切都很好,但如果代码已经编写好了,那么它就完全不模糊了。 项目通常有足够的技术挑战,而不需要所有团队成员都记住C'99标准。 |
![]() |
10
3
当你能编写自己的C编译器时,你就是C语言的专家。 |
![]() |
11
2
这样的面试问题总是很难回答。你想吹自己的喇叭,但听起来不像吹口哨的人。 如果你用C做了很多工作(比如,用C做开源项目),那么我会用它来回应,但不仅仅是指出简历上的成就列表,而是谈论其中的一个或多个,以及它特别有趣或具有挑战性的地方(关于C的使用)。 |
![]() |
12
2
读过彼得·范德林登的《专家C编程》,并记住他所涵盖的一切,怎么样? |
![]() |
13
2
由于缺乏标准测试,真的无法确定专家级别是什么,但这里有一些我的试金石测试,我敢肯定,每个人的清单都不一样。 不看文档:
还有更多这样的项目。 另一方面,我认为你不必能够理解或写出达夫的设备,也不必在脑海中想出模糊的C竞赛,就可以认为自己是专家。 即使我认为自己是专家(我不确定),我可能也永远不会在面试中声称自己是专家。 安德鲁 |
![]() |
14
1
掌握指针。 |
![]() |
15
1
我想说,对于任何一种语言,经验都是关键。学习一门语言并学习该语言使用的API和“习语”只需要时间。一个人是否是某方面的专家,应该问他的同龄人。用Jeff Foxworthy的话说,“如果你回答的问题比你问的多,你 可能 做一个专家。" |
![]() |
16
1
我认为一个公平的答案是理解ISO C的所有难点。 事实上,正如任何comp.lang.c常规程序都会告诉你的那样,人们需要做的几乎任何事情都无法在纯ISO c中完成,因为你通常需要以一种更明确的方式与你的环境进行交互。这就是POSIX的由来。 我不会对那些自认为是“专家”的人眨眼,他们对C语言有扎实的理解,对ISO C的承诺有很好的理解,并且对POSIX函数有工作上的理解。 |
![]() |
17
1
能够写论文/书并不一定能让一个人成为专家程序员。这需要大量的努力、实践经验和对各种C库的良好理解。 祝你好运 |
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 5 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 6 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 6 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 6 月前 |