我是工程师,不是编译器

最近我接到一个面试电话,被问了许多Java的问题。这样的面试很平常,大部分的问题也都是标准问题:
● 什么是多态?
● List和Set有什么区别?你什么时候用List,什么时候用Set?
● 什么情况下你会遇见死锁?
● 强类型和弱类型有什么区别?

这些算是很合理的问题。我不喜欢那个多态的问题,因为它和大部分的面向对象语言以及继承紧密相关,而当我们覆盖和重载一个方法时,我们是不会意识到“哦!这实际上是一个多态!”而我会想“什么是继承,我什么时候应该用继承”,而这才是面向对象语言的关键。但是这是我个人的观点,可能会有其他不同观点。
强类型和弱类型的那一题有点不寻常,因为他实际上指的是类型检查而不是类型强度。当我说C是一种弱静态,Java是强静态,Python是强动态时,他有点迷糊(我认为JavaScript是弱动态,但我并没有说出来)。

接下来的是一些细枝末节的问题:
● List在哪个包中?
● File在哪个包中?
● 你要继承的时候用什么关键字?

(我们也会经常遇见一些标准问题“你5年内想成为什么样的人?”等等)

Russ Olsen提到了问细枝末节问题的结果:
除了不能告诉你许多信息以外,问细枝末节的问题会付出两种代价:首先会占用你真正可以用来了解一个人的时间,你可以利用这些时间来了解这个人是否足够聪明,是否有合适的背景,是否合适你的团队。其次,这种类型的问题有可能会剔除掉那些真正聪明的,你真正想雇佣的人呢。

 

我现在列出这些细枝末节的问题,我认为还会引发一个结果:问这样的问题剔除掉那些真正合适的人之外,剩下的人将会错误的人选。


一个好的工程师在设计和创造系统的时候是抽象性的思维的,他们会想象算法,组件,工程性的设计。他们不需要知道语言的所有细节,尤其是当他们使用IDE时,IDE可以帮他们完成(我使用Eclipse:我输入List,然后输入control+空格,IDE会自动帮我载入java.util.List)。我能分辨出我需要哪个包,这比我能记住它们的名字更重要。

类似的,更重要的是我能告诉你什么时候我应该使用继承,什么时候应该使用多态,而不是仅仅记住概念。
总体而言:用Google 5秒钟可以找到答案的问题不是好问题。我最喜欢的电话面试问题是“你最喜欢的语言是哪一种?”然后接着是“它的弱点是什么?”


然而很多面试和考试测试的都是为了看你能否很好的取代编译器而设置的。甚至Java认证考试都只关注在语言的语法和编译上的问题,而不是测试实际编程的能力和实际设计系统个能力。

我是一个优秀的软件工程师,我不是一个优秀的编译器。我不能看了一段代码后就告诉你它有问题,它不会获取ClassNotFoundException,现代的编译器会告诉我问题的所在。即使不是马上知道,但当我编译的时候我会知道。这么说我就过于依赖IDE?也许吧,但这不是什么坏事,因为在办公室里我们还是要用到这些工具。
一句话:找一个合适团队的人选时,不要纠结于细枝末节的问题。

 

原帖地址:http://www.iteye.com/topic/1121960

时间: 2024-11-09 00:16:05

我是工程师,不是编译器的相关文章

你对自己的定位是什么,就能成为什么样的人(转)

其实按照我的情怀和尿性,文章的标题应该是 前端登堂入室宝典.前端成长就这三招 之类,奈何这是篇软文 ~ 看官先别急Command + W,尤其是和我经历类似 做着其它岗位的工作,却多少会接触一些前端 发现有些兴趣,但又不肯定这应该是自己未来 也会有些成就感,但似乎挫折和沮丧来的更多一些 我可以负责任的说,这是一篇有态度的软文 欲语泪先流 我希望做些有用的事情,甚至可以做个有用的人 才毕业工作的第一年我是满足的,学到了很多新知识,写的代码不但能work,还能真的跑在生产环境中 我提交代码上线,忐忑

[读后感]从Code Review 谈如何做技术

还有9个电,争取把这篇发出去,里面有太同共鸣,只不过之前没能写出来, 一是文笔有限,总结不够明确,本文至少总结出了我想总结的6个观点,看来总结能力还是要提高: 二是不确认这是对的,所以不敢贸然写出来,看来奔四的程序员都有这些共同的想法,并非我一人,还有许多人... 着实说,代码审查,以前想过,但没做过: 代码审查确实很不错,不懂开发的测试人员其实从某种角度是用于粗暴地替代代码审查, 结果可知,花在修复 Bug 上的时间要比编码时间多 N 倍, 我想我们以敏捷方式来对付它,逐层皮儿地扒着做,做完一

从 Code Review 谈如何做技术

编者注:本文来自酷壳-CoolShell.cn 的陈皓 这两天,在微博上表达了一下Code Review的重要性.因为翻看了阿里内部的Review Board上的记录,从上面发现Code Review做得好的是一些比较偏技术的团队,而偏业务的技术团队基本上没有看到Code Review的记录.当然,这并不能说没有记录他们就没有做Code Review,于是,我就问了一下以前在业务团队做过的同事有没有Code Review,他告诉我不但没有Code Review,而且他认为Code Review没

网易八方团队:位置服务是基础 会有延伸服务

网易科技讯 10月11日消息,网易八方是一个基于地理位置的移动社交平台,作为网易推出的又一个移动互联网产品,网易八方成为首款门户网站旗下的基于位置服务产品.面对业界和媒体的关注,网易八方团队表示,现阶段地理位置服务仍处于初级阶段,网易八方也只是一个基础服务产品,接下来还将延伸出更多的应用,网易八方将通过不断的尝试,找到最终合适国内用户需求的核心应用. 精彩观点:--网易公司已经有比较 丰富的互联网的经验,并且有很多自己的内容,我相信我们对用户的了解是非常深的.并且我们有非常久的手机产品开发经验.

新媒体时代,Twitter 是对抗 Facebook 算法机制的灵药

编者按:虽然美国大选已经尘埃落定,但这场活剧带来的喧嚣还远未结束,例如,民众开始质疑Facebook的假新闻影响到了美国大选.我们感到越吃惊,就越说明我们为自己制造的"过滤气泡(filter bubble)"有多强.著名科技评论专栏 Stratechery 的作者 Ben Thompson 在本文分析了互联网环境下科技媒体所发挥的作用,Twitter 能给我们的最好的东西,也就是一根戳破气泡的长杆--当然,前提是你愿意以"正确"的方式去使用它. 美国大选期间,社会影

为什么 Twitter 必须被拯救

作者:Ben Thompson,译者:ONES Piece 翻译计划 娄家林.王沫涵.Platycodon Xu 译者按:虽然美国大选已经尘埃落定,但这场活剧带来的喧嚣还远未结束.其中一点,就是为什么结果会出乎那么多人的意料.我们感到越吃惊,就越说明我们为自己制造的 "过滤气泡(filter bubble)" 有多强. Twitter 能给我们的最好的东西,也就是一根戳破气泡的长杆--当然,前提是你愿意以 "正确" 的方式去使用它. 最近美国大选正在进行中(此文发表

马化腾创业史:QQ卖100万被拒VC砸钱助上市

创业 "从1998年开始,我就考虑独立创业,却一直没想清楚要做什么,但创业的想法并没有起伏,我知道自己对着迷的事情完全有能力做好.我感觉可以在寻呼与网络两大资源中找到空间." 马化腾是个崇尚共享.自由精神的人,不会单纯强调"我"的价值,他知道团队的意义.腾讯的几个创始人都曾在深圳电信.网络界有多年的从业经验,几乎是深圳第一批搞互联网的人,这无疑可以在技术和业务层面为腾讯提供很多帮助."创业不是说着玩的事,腾讯也并非一帆风顺.一开始,我们的服务器都无处托管,

腾讯15周年,马化腾指明7条“未来之路”

中介交易 SEO诊断 淘宝客 云主机 技术大厅 11月10日,腾讯15周年的前一天,腾讯在深圳召开了"WE大会",这个比照着TED大会举办的会议,立志"不谈商业,不谈竞争,只谈天马行空的想法",会后有自媒体人感叹"离TED大会还远",但没有把一个公司的15周年庆典搞成业界俗套的庆典和对创始人的造神运动,也算是一种进步. 在"WE大会"上,腾讯董事会主席兼CEO马化腾作为压轴嘉宾发表了题为"通向互联网未来的七个路标&q

网络游戏产业十年风云人物之马化腾

1971年10月出生于广东潮阳市 1984年随父母从海南迁至深圳. 1989年-1993年,就读于深圳大学计算机专业. 1993年深大毕业,进入润迅通信发展有限公司,从专注于寻呼软件开发的软件工程师一直做到开发部主管. 1998年,创办腾讯计算机系统有限公司. 马化腾,腾讯公司执行董事.董事会主席兼本公司首席执行官(CEO),全面负责腾讯集团的策略规划.定位和管理.是主要创办人之一,自一九九九年起受雇于腾讯集团. 出任现职前,在中国电信服务和产品供应商深圳润迅通讯发展有限公司主管互联网传呼系统的