前几天发了一家公司的面试经历(
记一次失败的面试经历),这周一又去南京面试了一家公司(我将之简称GC好了)。
这家公司是我在51job上看到的,给他们发了邮件。没过两天,这家公司就给我打电话,问我什么时候方便面试。我说我还在职,需要请假,这两天不方便。于是GC那边就说,时间上没问题,你什么时候来南京了,提前一天通知我们就行了。我就让他们给我发了封Email,确认面试的问题。
GC在约我面试这件事上做得非常人性。首先打电话通知,在得知我无法确定时间的情况下,可以让我自由选择时间,只需要提前一天通知对方即可。而我之所以说GC这点人性,是因为对方在给我发的邮件中,明确指出,“请提前复习下java知识,包括java基础、sql基础和js”。
后来我又接到一家面试公司XW的面试通知,这家公司很直白,“请下周一下午两点来我们公司面试。”这更显得GC人性了。也是因为这个原因,加之后来我通过网上调查,发现后来XW这家公司的做外包的,所以对XW没什么兴趣。反倒是GC,加上我完全符合他们的职位要求,让我觉得,这就是我要找的公司。
我和GC约好周一早上9:30面试。
我的习惯是提前到,但要提前半小时左右通知对方我到了。不过那天很悲剧,我找错了他们的公司办公楼的位置,大概9:40左右才顺利到达他们公司。
先说一下他们公司的环境。我在网上调查过,他们公司成立于1992年,专注于教育行业的管理软件,和各省的教育厅都有业务往来。办公室在22楼,不大,人事财务领导之类的人物在靠近窗户的位置各有一间办公室,大概三十几个码农在30平左右的办公区敲代码,空间显得极为局促。因为那些领导都拉上了窗帘,导致整个办公室显得有点昏暗。
我跟着HR在他们狭小的办公室不知道该在何处落脚,没有我预想的会议室面谈,也没有表格要填写。HR把我带到了一张办公席上,告诉我:“这台电脑里有一套笔试题,另外有个考试环境,你运行起来,然后把代码写一下之后拷贝到笔试题的文档上。”直白的说,笔试题就是一个.doc文件,考试环境就是eclipse。
我当时就有点怀疑,这公司难道没有会议室吗?不过上机打字也好,比写字快些。我就是坐下来开始答题。题目附在了下面,我就不说什么了,大家自己吐槽吧。
我必须得说明,应聘的是java职位。
因为到场时间是9点40左右,加上这套题的量和难度,直到他们下班吃饭去了,我还在那里敲代码。终于差不过12点左右,我写不下去了。我问旁边一人,hr在吗。那人说可能吃饭去了,让我等十来分钟。于是等了一会,旁边那人又给hr打了个电话,让hr回来。
hr将我的答案用邮件发给了某人,然后说要跟我谈谈,我以为面试要来了。hr和我谈谈的地点还是在办公区,旁边竟还有一货在午休!hr问我对他们公司了解吗。我说你们的网站都打不开,不太清楚。于是hr就开始给我介绍他们的公司和业务,总得说来就是做BS结构的管理系统,客户就是各地的教育局。然后问我有什么要问她的吗,因为我希望以后能转做C,就问他们,以后会做其它方向吗,比如说C。hr说不会,因为公司里都是做java的,转做C成本太高。她问我期望薪资,有了上次的经验,我怕她给我压价,就直接说6K,这样的话,你压价我也有个缓冲。然后我又问她,你们公司有哪些福利待遇,比如餐补、交通补之类的。她居然说,工资就包含了这些补贴了。我只能“呵呵”了。
然后她说让我先回去,等笔试成绩出来之后,如果得分超过60分,就会通知我复试。考虑到半个月请了两次假了,我说可能最近不方便再请假了。于是她就说那就马上找人给我看看笔试成绩,让我先去吃饭。尼玛,终于想起来我还没吃饭了!
吃晚饭都1点了。因为下午赶场,还有那家XW的面试呢。另外,这个时候我的心态已经不一样了。首先这家公司以后也只会做java的应用软件,不会转去C;另外,我没见过能说得出,工资已经包含所有补贴的公司,我还以为一家92年就成立了的公司,福利待遇制度应该很完善了,但显然我错了。所以至此我并不太喜欢这家公司了。
大概1点20左右,我在他们楼下打电话问hr,成绩出来没有,我下午还有点事。她就说,还没有,她尽快。然后问我,是不是必须要6K的工资。我心里已经烦了,包含各种补贴的工资还不能6K?我就回了她一个字:“对!”然后她说10分钟后给我答复。
过了一会她果然给我打电话,对话简单:“不好意思,你的成绩没达到我们的标准。”我说:“嗯,好的,再见。”然后对方就挂了。
直到离开这家公司,不,直到现在,我都不知道GC到底有没有办公室。
附上笔试题,有兴趣的同学可以自己试下,能不能达到他们的标准。
问答题:
1、解释进程和线程(4分)(大概写了下,不太会)
2、比较说明链表和数组的区别(4分)(说了很多,主要说明了链表的插入查找与数组的不同,以及它们在内存中存储方式的不同)
3、交换和路由的区别(4分)(不会)
4、说说面向对象编程的优越性(4分)(简单说了下)
5、举例说明什么是并行接口和串行接口(4分)(不会)
6、解释第三范式的含义(4分)(说不清楚,没回答)
7、说说接口和抽象类的区别(4分)(从它们的声明以及不能实例化对象等方面回答。)
8、还有一两题吧,忘了。
SQL操作(26分):
给出课程表C、学生表S、选课表SC
1、让学生XX(001)选修体育课(TY0104)(个人理解:插入操作,insert)
2、让学生XX(001)选修的体育课(TY0104)改选为化学课(TY0103)(个人理解:更新操作,update,条件为学生号和课程代码)
3、取消学生XX(001)选修的化学课(TY0103)(个人理解:删除操作,条件为学生号和课程代码)
4、选出所有没有任何学生选修的课程名称(个人理解:从课程表选出课程代码不在选课表中的课程)
5、(题目不记得了)
编程题(46分)
1、百鸡百钱(我直接写了个类,上了个静态方法,方法里直接三重for循环加if,其中循环次数都有提前计算,比如公鸡不超过20,母鸡不超过30,小鸡不超过90)
2、变成实现统计字符串"sadfasdfasdfasdfsad45ydhsdfg"中出现多少个不同的字符,统计各个字符出现的次数。
这一题我写了一个TotalString的类,该类有一个成员变量src,是要统计的字符串源,提供默认无参构造方法和一个带参构造方法初始化字符串源。写了一个辅助方法,将字符串源中的不同字符作为key放到一个map中,并将该字符出现的次数作为value。写了一个统计不同字符个数的方法,返回map的size;又重写了toString方法,输出key:value,以说明不同字符出现的次数。
稍后再发XW的面试过程。