番外 —— Java 的那些开发者

2401697 3890
    


来源:
Licence:
联系:
分类:
平台:
环境:
大小:
更新:
标签:
联系方式 :
免费下载 ×

下载APP,支持永久资源免费下载

限免产品服务请联系qq:1585269081

下载APP
免费下载 ×
下载 ×

下载APP,资源永久免费


论文定制和修改服务请联系qq:1585269081 如果出现不能下载的情况,请联系站长,联系方式在下方。

免费下载 ×

载论文助手APP,资源永久免费

论文定制和修改服务请联系qq:1585269081 免费获取

如果你已经登录仍然出现不能下载的情况,请【点击刷新】本页面或者联系站长


年初的时候我悍然宣布要为 Java 写个系列,结果只写了区区两篇:Java 故事 和 高斯林的创业敏感,还是蜻蜓点水,未曾展开。后续经常有读者问起:卖桃侠,Java 故事的大坑,您老准备啥时候填呢?年轻的时候遇到这种问题,我总会面红耳赤、无地自容。后来遇到了月更侠-哦-应该是季更侠(如果他这个季度更新一篇的话)二爷邱岳,在他的行为模式影响下,我的心理素质慢慢好到了令人发指的程度,现在遇到这种质询,我常常是微微一笑,不置一词。

这种现象持续到了前些日子, Airbnb 的朱赟(Angela)博士发来微信质问:Java 系列怎么还不写?我实在看不过去了写了个番外篇,你看能不能用。

我当时的心情只能用「如获至宝」四个字来形容……结果呢,我的「番内」还未重新开张,人家的番外已经写完发给我了。关于朱赟博士,她的介绍请参考我之前写过的「神童的世界你不懂」。这是一个横扫 Google、Facebook 公司 Offer 的奇女子,自然,Oracle 的 Offer 也不在话下,文章记述了她在求学和求职过程中接触到的 Java 语言、Java 开发者和 Oracle 的面试者,写得非常有意思。

我很喜欢读 Angela 写的技术杂谈,由于其深厚的技术功底和科研经历,很多东西写得既深入浅出,又纵横开阖,视角宏大,读来非常过瘾。早期作品里面会夹杂很多类似英文的语法,读着味道很怪,现下写了一段时间,已经完全恢复了中文写作的习惯,推荐阅读。

文章内容稍长,我会分成两篇推送。


我的博士其实做过两个领域。刚刚进入 Rice 的时候其实进的是程序语言设计组。组里当时有两个教授,分别做两个领域。一个叫 Walid Taha,主要研究领域是 type system 和嵌入式系统的程序语言设计的。另一个是 Robert Cartwright,但是他喜欢大家叫他 Corky,主要研究的是和 Java 相关的,包括 Java 的理论和实现等。

Corky 教授的研究项目中,有一个叫做 DrJava 的项目。DrJava 是一个轻量级的 Java 开发环境。主要是给在校学生用的,它提供了一个很简单直观的交互界面,并且提供了可以交互式 evaluate Java 代码等功能。DrJava 在美国大学里有很多人使用,目前已经超过两百万的下载量。在此之上还有很多引申的项目,比如支持 task level 并行的 Java 版本 Habanero Java 以及他的开发环境 DrHJ。

Corky 是个典型的美国教授,与生俱来的花白卷发,清癯的脸庞上一双眼睛炯炯有神,高挺的鼻梁。常年都是和学生一样的T恤牛仔加运动鞋。出入的时候背上总是背着一个蓝灰色的电脑包。当他不谈学术的时候,你会觉得他有着与年龄不相称的单纯和童真。会和一群学生一起吃系里免费的披萨和点心,也会和其他教授一起站在系里走廊上聊天和哈哈大笑。然而一旦你和他讨论起 Java,他就变得格外的自信和涛涛不绝。对 Java 深入的理解让每次和他的对话都颇有收益。偶尔聊到什么引起他深思的,那副眼神又一下子变得深邃无比,好像透过他的眼睛你都能看到他脑海里无数的符号和字母正激烈翻腾着。

Corky 也是典型的研究做的好,但是课程不是那么受待见的一类教授。我听过他的程序语言的课,绝对的独一无二。他是准备 slides 的,上课一开始就打开 slides,然后就开始侃,但是最多,他能跟着 slides 讲两页,最多三页,你就发现他随着自己对 Java 的热爱,开始发散的跟你聊到和 slides 开始脱节,如果这时候有人举手问一些问题,那就可以扯的更远了。所以很经常的一幕,就是他一转身,发现投影仪上已经是电脑的屏保了。或者是已经下课了,才发现该讲的因为各种发散而没能讲完。好在他发的课程讲义是极好的,所以课后自己总能补起来。我倒是很喜欢他的课,因为每次从他那总能听到很多 Java 相关的很有意思的知识点和趣事,而那些,是书上学不到的。

虽然我的导师是 Walid,但是因为是同一个语言组,所以平时的研讨班都在一起。也就有了很多的机会和 Corky 一起讨论各种程序语言的特性和实现。也是在那个时候对 Java 语言有了很多比较深层的了解。

三年后我的硕士论文是独立的实现了一个程序设计语言,包括它的解释编译和用户界面。这个语言主要用于机器人系统的嵌入式编程和仿真。曾经在一家石油公司的井下控制系统开发中被使用。然而因着我的导师的离开和种种其他,我博士的后三年就转了另一个导师做生物信息学的数据分析和建模。

因着有过程序设计语言的研究经验,博士毕业找工作的时候,也投了份简历在 Oracle 的 Java 语言开发组。也因着有过这样相应的背景,我也很顺利地拿到了去 Sun Java 的 Java Core Libraries 开发小组的 onsite 面试机会。

我去面试的时候应该是 2012 年底的样子。当时面的那个小组一共好像只有七八个人的样子。Oracle 的面试大部分是白板和聊天,这和现在比较主流的新互联网公司在面试时需要上机做题无 bug 运行的体验还是很不相同的。如果说普通码工的打扮和着装以舒适休闲为主,那么 Oracle Java 开发组的工程师的着装就更显得随意和不修边幅 —— 起码我见的几个都是。还有一个人印象比较深,上面穿的是公司的免费文化衫,下面是一条不相称的休闲西裤,脚下穿的是一双凉鞋,还没穿袜子。Oracle 是我最早面试的一家公司,所以当时搞不清状况的情况下觉得可能穿的正式点表示一下我的尊重。结果我就穿着一套 Guicci 正装和 Prada 的高跟鞋,华丽丽地出现在他们的 office 里。虽然彼此都装作没在意着装。但是心里面我已经因为自己的糟糕决定,用意念在他们的地板上钻出 100 个地洞了。

好在一谈起技术来,气氛就融洽的多。介绍自己的硕士毕业设计的部分总是容易的,毕竟是自己多少个日夜天天琢磨的事。然后就谈起 Java 新的 library 或版本可能会增加哪些支持。2012年底的时候,Scala 和 Closure 刚刚火起来不太久,Java 还没有对 lambda 的支持。而当时整个 Java team 也正在考虑这件事。话题扯到对 lambda 的实现,就碰巧是我很熟悉的话题,因为我的导师 Walid 主要的语言是各种 functional language,而对 lambda 的实现,也是 functional language 的核心。因此整个面试变得格外融洽,更像大家一起讨论一项技术,也一扫我之前的紧张和尴尬。后来聊天中也意外的发现,他们组中有一个成员,其实也曾经师从 Corky,所以和我也算是一脉相承了。

插叙:朱赟现在有了自己的公众号,嘀嗒嘀嗒,长按二维码关注。

不太意外的,第二天我就收到电话拿到 offer。这也是我整个求职过程中的第一份 offer。后来又拿了几个互联网公司的offer,包括 Google 和 Facebook 等。最后因着各种原因,选择去了 Square。这段 Oracle Java 组的面试经历,也成了记忆长河的一部分,可能也是我此生最近距离的一次接触那些 Java 开发者了。

待续。


点击阅读原文,下载拉勾 App



看大家都在讨论什么

0 条评论
免费下载 ×

下载APP,支持永久资源免费下载

下载APP 免费下载
温馨提示
请用电脑打开本网页,即可以免费获取你想要的了。