昨天就收到I国际公司的Candy第二次电话,与我预约今天下午的电话面试。这之后,昨晚疯狂写英文自我介绍。这才发现,3年多没写英文,除了词汇更加不给力之外,语法也下降相当严重。一个晚上的准备,也只能将就着。

今天上午,还在不停找一些可能出现的词汇问题。好久面试没有这般紧张的了,真想逃避。但还是在心里压着。非常感谢小鸿、宝宝、梁总给予的言语上鼓励,人有时候确实需要鼓励!

当天下午3点接到面试的电话(此前,2点多也接到一家小商旅公司的面试预约电话),比逾期晚了1个小时。

电话那头是个男的面试官,说话很礼貌,描述问题也很清晰。问了我当前工作的情况,他们那边的系统情况,70、80个商旅系统,各不相同、没有太多联系。需要负责日常BUG修正工作,接收并处理用户的系统方面邮件、电话。

之后确认了我是否会广东话,英语情况,确认是否过来英语四级。后让我英语做一下自我介绍。虽然自己有所准备,但英语太久没动口了,说的其实很烂。后来面试官用英语问了我一个问题,但我没听懂,非常尴尬。电话那头并没有不满的情绪,而是一种鼓励,心里平静了不少——谢谢。

说了工作的情况,负责香港一家航空公司。问题处理分为4-5个等级,分为不同的时间限时处理。

之后开始问一些技术的问题。面试官依旧非常友善,做了很多提示。

1.linux的命令。文件打开、文件打开以翻页形式读取、文件名关键字查询、一堆文件的内容关键字搜索。我能够回答到文件打开——cat。(后回来找资料,发现一次是more、find、grep)。面试官同样以谅解的态度,让我继续做下一题。

2、提示我是J2SE的题目,前台页面有三栏数据,有10行。在java后台怎样简单的处理,可以检验数据不重复。他提示,设计数据的封装、不需要用到Map等,不用想太复杂。想了半天,只有想到map。后来他告诉我,是创建一个具有该三个字段的实体类,该类重构equals方法。把前台数据存储于该实体类的对象列表中,再for进行equals的比较,如果有等于的,就表示存在重复的。——非常巧妙的答案,让人豁然开朗!

3.之后在上一题基础上问下一个问题。如果对那一个ArrayList进行排序?并提示,不需要想得太复杂,不用单独写算法。我意识到这个是集合,可以使用集合的排序功能。于是就说Collections.sort(arrayList),把那个实体类实现Comparable接口。此时他马上打断了,说很好。于是他补上实现compareTo方法。——非常感谢。

4.问我项目中是否用到Junit。我说,公司没要求,但是为了测试方便,我有自己使用过。于是就说了这个题目。ClassA类里面有两个方法,getConnection和getDatas,都是无参数的。前者是数据库连接的实现,但硬编码,指向生成环境;后者在方法里面调用了getConnection取得Connection对象,再查询得到数据结果集。问,怎么在Junit调试中让其访问测试数据库。这个我毫无头绪,只能很抱歉地说自己不知道。之后他问我是否用过Junit的mock,我说没有。他说,这样确实会有点难度。于是提示,涉及继承、重构。但还是没思路,只知道反射机制。后来与我交谈了其他事情后,问我是否想知道这问题的答案。我自然很渴望地说想。于是他说:写一个ClassB,继承ClassA,并且在ClassB中重写getConnection,重构getDatas(Connection),带Connecton参数,在内加入getConnection和super.getDatas()。这样就能够把参数切换到自己需要的测试环境了。——非常巧妙!!

5.oracle怎样给已有表添加字段,是否可给该字段设置非空?(没回答好)。–ALTER TABLE [表名] ALTER COLUMN [字段名] NVARCHAR (50) NULL

这次电话面试,虽然自己明显惨败,然而不得不佩服面试官的“以德服人”。输得心服口服,并且受益匪浅。这样的方式处理问题,不得不让人感觉该公司的优秀企业文化力量!