欢迎来到弘毅网!本网站现已开通校园用户注册,校园用户仅限合作校园IP段内注册!已注册的校园用户账号可于校外免费访问本资源库!

文章列表

团队建设

当前位置:主页 > 创新创业 > 小微企业 > 团队建设 > 正文

赵劼:IBM面试记(2)

时间:2015-10-04 20:33 作者: 来源: 人气:

  比较有趣的事情是,我在简历和自我介绍里提到我平时接触过及感兴趣的技术(基本就是我博客右边写的那样),可能他们也正巧对Scala感兴趣(毕竟是要用Java的),于是就提出让我向他们解释下Scala这门语言。解释地过程没有什么值得一提的,不过我也适时地表达了我对Java一贯的厌恶态度,我的原话是:Java is a dead language, it sucks,然后就围绕Java语言展开了简单地讨论,主要还是我以前谈过的那些。例如我解释道,我很喜欢Java平台、类库、框架、运行时等等,讨厌的只是Java语言;我很了解和关注Java语言,说它dead是因为它死不肯演化或者演化地很奇怪(Java 7和8);还有Java表达能力太差,虽然看上去简单,但是需要太多代码,写完了以后还看不懂。前段时间有人问我说去了IBM以后还会不会骂Java?我说我就是骂着Java进IBM的,所以绝对会继续骂不停口。而且我很希望到时候我在骂得时候,某些弟兄不要仅仅看到我是微软MVP的身份,也可以顺便一提 IBM员工这茬。

  电话面试后的第三天,HR又给我来电话说通过了,说接下来便是一场“面对面”的面试,地点在深圳。会有两个团队的人从香港过来与我面试,一个是做。NET的,一个。NET和Java均有涉及——同时还发给我一份Java的在线笔试题,说希望我能在面试前完成“以供参考”。那天正好是个周五,而面试安排在周一,与。NET的裸考不同,我有一个周末的准备时间。有了。NET笔试的经验,我估摸着Java笔试应该也是类似的题目,于是找了本一千多页的 SCJP的辅导教材,认真地啃了一天半。期间也弥补了我对Java语言认识的一点缺失,因为我实在被Java的内嵌类、匿名类、泛型的复杂度给恶心到了。后来再有人跟我说Java语言简单,我就会回应说其实“它比你想象地要复杂很多”,要不我们可以来谈谈某些话题——更重要地是,复杂而不好用,导致人们会刻意规避这些复杂度,因此“连你也不知道Java语言原来这么复杂”。

  不过Java笔试其实比。NET要简单不少,完全没有涉及Java语言的复杂部分,更像是考一些代码阅读题以及基础类库,对于后者我只能根据一些 “常识”和“经验”来猜测结果了。最后我的Java笔试成绩是93%,也算是不错的样子,面试时老外跟我的开场白便是说我。NET和Java成绩都很好 ——他的组会同时使用Java和。NET。倒是原本提到的用。NET那组的面试,由于签证没有过关,只是在电话里简单地聊了几句。

  面试房间有白板,因此面试的方式也有所不同。首先他提出一些业务上的场景,给我一些可用的组件(例如持久化队列),让我在白板上画出解决方案的设计图。然后他会继续做出一些假设,例如某一个服务的压力提高,成为了性能瓶颈,那么可以如何改进这个服务。不断涂涂改改最终也差不多画满了整面墙。此外还有各种关于性能诊断和优化的问题,涉及到日志记录的设计,CLR(主要还是GC部分),WinDBG,数据结构(线性表,哈西表,优先队列,平衡二叉树)等等。这些大都是开放题,因此可以谈得东西不少,我也不太担心因为不了解而无言以对。而且因为可以使用手势和示意图来辅助我那半吊子英语,也比纯粹在电话里的交流来的清楚。此外对方也谈到他对JVM的了解多过CLR,所以很多时候我也更像是在“解释”CLR的行为,目的是能够让对方理解,而不是去“迎合”对方心里的正确答案。总体而言,面试后的感觉其实比电话面试更有自信一些。

(责任编辑:职场达人)