现在的位置: 首页 > 综合 > 正文

小A的年前面试经历——实录

2012年03月16日 ⁄ 综合 ⁄ 共 3690字 ⁄ 字号 评论关闭

博客搬家啦——为了更好地经营博客,本人已经将博客迁移至www.ijavaboy.com。这里已经不再更新,给您带来的不便,深感抱歉!这篇文章的新地址:点击我微笑


题记——快过年了,我们都在等着过年放假回家,朋友小A却意外地告诉我们,她辞职了。惊讶之余,她也向我们倾诉了她前天的两则面试经历。

       听小A的意思,本来,也没有希望在春节之前考虑找工作,因为毕竟春节前好像招聘的很少,但是闲着也是闲着,就随便投了两家。一家是创业型的公司,一家是比较成熟点的公司。幸运的是,第二天就接到了两家公司的面试通知,兴奋的同时也不免有点紧张,毕竟她刚刚毕业。

       第二天,她来到了这家创业型的公司,公司坐落在上海浦东创业园内,她一大早就去了,但是约好了是十点,她不敢提前进去,就在寒风中吹了两个小时,等到快十点的时候,才拨通公司的电话,说她到了。她应聘的职位是java开发,作为一个女孩子,她似乎很爱这行。进入公司之后,人事的工作人员将她领入会议室,她战战兢兢地坐在会议室里,思考着这家公司,人不多,大概十几个,在外间很宽敞的房间里办公。

       就在她神游的时候,进来一个人,她站了起来,看了他一眼。一个年近40的人,衣着很朴素,令她忍俊的是,她明显的看到他的裤子上好像还布满了灰尘,就好像来面试她的人是刚从工地里下来的建筑工人。她没有了之前的局促和紧张,反而觉得这个人像她的父亲,倍感亲切。他对着小A说:“请坐”。

 

接下来,面试就这样在一个玻璃墙前开始了...

 

面试官:请在玻璃墙上用java实现一个工厂方法模式。

小A:(想:GOF的23种设计模式我看了好几遍,小kiss)。在黑板上花了一分钟的时间写出来了。并说道,设计模式我还是比较熟悉的。

面试官:恩,基础不错。但是,我想接下来这个问题,你肯定没有遇见过。Socket用过吗?

小A:用过,在学校用过的

面试官:好,现在,我要你实现一个多人聊天程序,现在有几种方案,你给判断下,哪种方案对服务器端的压力最小。现在一个前提是,每个人一分钟内说一句话。各个聊天室之间互不干扰。

第一种:10个聊天室,每个聊天室1000人

第二种:100个聊天室,每个聊天室100人

第三种:1000个聊天室,每个聊天室10人

你思考下,一会告诉我原因。(说完,面试官出去了,小A一个人站在玻璃墙上思考着)

10分钟后...面试官进来了

面试官:算出来了吗?

小A:...(算?她根本不知道要算的,她就是在想是不是在考她多线程等之类的知识)恩...我觉得是第一种,因为...(吞吞吐吐自己也听不清楚,估计面试官也没有听清楚)

面试官:看这里,不是说每个人一分钟说一句话吗?算下!

小A:(恍然大悟似的)...在玻璃墙上写了三种方案的结果(出去把面试官喊了进来)

面试官:(看了黑板小A的结果)怎么样,事实和主观是不一样的吧?(两人同笑...)。你接触过多线程吗?

小A:了解一点,也用过

面试官:那你认为多线程的核心是什么,或者说多线程是为了处理什么样的问题而出现的。

小A:我觉得多线程是为了解决并发的问题,使得一个任务可以异步的执行。

面试官:恩...但是对于单cpu的来说,真的可以用多线程做到并发执行任务吗?

小A:恩,,,(思考...)那我请问一下,出现多线程的本质是为了解决什么问题?(我笑,怎么你变成面试官了)

面试官:呵呵,其实对于单cpu来说,多线程是为了解决等待。如果只有一个线程,那么当某个条件得不到满足,线程就一直在等待,cpu这个时候其实是不做事的。但是,你高价请个“牛人”来,又不能充分利用他,岂不是浪费。这个时候,多线程就出现了...

 接下来,关于多线程和其他方面的讨论持续了一段时间,小A自我感觉表现还不耐。据她说,面试官让她感觉很亲切,她一丝都没有紧张的感觉。在接下来面试官就生动地和小A说了公司现在做的产品,两个人在十几平米的小会议室里不时地发出愉快的笑声...

 这场面试从十点持续到十二点半,临走的时候,小A才从行政人员的嘴中知道,面试她的这个人就是这个公司的老板。

 

       下午两点,小A去了另外一家公司,坐落于金桥OfficePark中的一家成熟型的软件公司。从浦东软件园,小A怕耽误时间,午饭就没有吃了,骑着自行车,来到了金桥OfficePark,到了这里,辉煌的高楼和拥堵的马路,让小A觉得很压抑。但是,她平静的心情再次紧张起来...

       来到了这家公司,一进门是前台,小A笑着说,我是来面试的,坐着的小姐面无表情地递给了小A一张表格,说,去旁边的会议室里填好。小A环顾了下周围,发现这家公司人还是比较多的,整个楼层都是办公区域。每个人都在紧张地忙碌着。她在会议室填好了表格,表格很简单就是填下姓名性别之类的,但是有一项,就是工作经历,而且还要说明前面所在公司开的工资...小A不知道这个目的是什么,难道是根据前面的公司给的工资来定现在的工资?那我多写点。Wait!后面还要写上“证明人”,“奶奶的,贱”,一向不骂人的小A这个时候在心里狠狠的骂了一句...

        做了好一会,还是没有人过来。看到人来人往在这里倒水,小A才突然发现自己的嘴已经被风吹得干裂而疼痛,她想倒一杯水喝,却又怕唐突了。她多么希望这里的工作人员可以给她递上一杯水...就在她心神不定的时候,来了一个人。这个人,并不大,比她大个五六岁吧,秃顶,看得出磨练的。

 

拿着小A的简历,第二个面试开始了...

 

面试官:我先给你讲讲我们公司是做神马的吧?。。。。。。。。。。

小A:哦,哦!!!!!!!!!!!!!!

面试官:你熟悉Http吗?

小A:用过,前面做Android开发的时候用过。

面试官:恩,我看你简历上面有,你前面做的这个XX项目,里面下载的功能,肯定要用到Http协议的吧?

小A:恩,是的

面试官:那你说说,你是怎么用的吧?

小A:就是将服务器上面一个文件,通过一个url,下载到本地,并存储。

面试官:那你用到Http头了吗?

小A:用了,就是断点下载的时候,需要从某个位置开始下载,这个是需要在Http头中设置的。

面试官:那设置了什么?

小A:(关于断点下载的时候,是用过Head头的,但是...几个月前的事了,我哪里记得清)....忘记了.,

面试官:你知道500是什么嘛?

小A:啊?(小A没有听明白,迟钝了下),哦,你说的是Http的代码500是吧?

面试官:恩,你知道500是什么嘛?

小A:....(虽然开发中遇到过500,但是却没有记住)..不晓得,遇见过。

面试官:500是很常见的,服务器错误。那你知道OK是什么嘛?

小A:200

面试官:恩,那你知道206是什么嘛?

小A:不晓得...(沮丧...)

面试官:其实你前面说了那个断点下载的时候,head中设置range,告诉服务器需要下载什么范围的数据,这个时候服务器返回的不是200,而是206。

小A:哦(已经觉得没戏了...)

面试官:你知道多线程吗?知道多线程的本质是什么吗?

小A:知道点(心想,上午才和那个老总讨论了半天多线程,现在你来问,应该没问题吧?本来想按照自己的理解回答,但是想着上午那是技术牛人的见解哎)。多线程的本质是等待。(自信满满的问题...)

面试官:为什么,说说理由

小A:(重复了上午那位老总的一番言辞)...就比如在Android客户端开发的时候,主线程,我们知道是不可以进行长时间的任务的,否则就出现等待的现象,这个时候就需要另开一个线程来执行这个长时间任务。

面试官:你举得例子是对的,但是你的回答好像有点...多线程的本质是"并发",或者说是”异步“...

小A:是,是,是(小A心里想,谁能告诉我,多线程的本质到底是神马????)

面试官:我也毕业过,也经历了这些,诚恳地跟你说一声,我这一关你肯定过不了,我会把这个交给人事的。你也可以现在就走吧,免得耽误时间。

小A:好,我还是现在走吧。


回来的路上,小A差点哭出来,她觉得很委屈,为什么Http的状态就那么重要?为什么Http的Head里面的东西就那么重要?她自认为可以考的东西,面试官一个不问。

但是,小A还是忍住了泪水,骑着自行车,带着疲惫的身躯和饥饿的肚子回到了住处。

昨晚,作为我们一起来上海的同学,大家聚了下。饭桌上,小A略显得有点沉重,我们几个都安慰她。

小B说:前一个是很有可能的,后一个那个你也不用太在意,总不能他认为乔布斯是很有名的,就要求每个人都知道乔布斯是谁吧?

小C说:关于Http我就知道Head,还是猜的,因为老外嘛,肯定用的是Head,不可能用”头“的。(大家笑...)

作为老大的小D说:听了小A的经历,我深有感触,我也做过面试官,却从来都只是从自身的角度去面试他们,以为我知道的我理解的,他们也要知道,也要理解。但是,却很少关注了他们真正擅长的,真正可以体现他们能力的地方。来年了,跳槽的多,我得重新思考下该如何面试那些应聘的人!

晚11点,散...

晚12点半,小A打来电话,我已经睡着了,她很兴奋地告诉我,第一家的Offer下来了,她的要求全部满足了,还有几千股份。听了,我也很兴奋。这下她可以好好过个好年了。

抱歉!评论已关闭.