`
tedeyang
  • 浏览: 323211 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

新鲜出炉的盛大面试经历

阅读更多

     上午去盛大面试,应聘职位是高级开发工程师(and 架构师,纯属瞎碰)。

     因为下雨,而且地铁不能直达,所以开着车过去的。在内环高架徐家汇那里堵了半个小时,到盛大大门时刚好10点整。

环境很漂亮,盛大是一整个园区,开阔错落,小雨淅淅沥沥,绿意盎然。

     先在门卫那里登记,(从登记表上看,今天有不少来面试的)领了访客证和临时停车证,进门停车,不远处就是一幢三四层高的楼。

     囧的是,接待大厅门口门卫居然要我洗手消毒,感觉怪怪的,一如网上所言。

     然后是填表,这就感觉没档次了,我明明在盛大官方网站的招聘(ps:那个招聘页面像小学生作品,够烂)中写全了个人信息,还要我再写一遍?没意思,感觉有点官僚。

填完表,人事mm领来一个面试官,穿过一楼左边很大一个工作大厅,把我带到里面一间玻璃房面试(后来发现是司机休息室 :))。

     面试感觉不太顺利。面试是这样的:面试官一边看我的简历一边从中挑他感兴趣的技术来问。当然首先是问项目经历。

     他喜欢打断我的讲话,抓住一个字眼顺藤摸瓜。

     譬如问我:“最熟悉哪些设计模式?”,

     我说:“最常用的是Factory...”,

     “那你讲讲Factory的特点和用途?”,

     “Factory是创建型模式,主要作用是...”,我叽叽呱呱讲一通后,他就开始问我别的问题了,害我还有几个常用的模式忘了讲。什么装饰器,代理,门面啊这些我都用到烂了啊。唉,不给我表现机会。

 

     有几个问题被面试官认定为错误。

     问Spring,第一个问题是:“Spring IOC的实现方式?”,我答:“根据配置文件,用反射调用set装配对象。”,他说:“不是吧,反射是早期实现方式”。我傻眼了,然后就看着他在纸上把“Spring”划掉。

阿门,这样就否定了我的Spring能力?真的很无语,怎么着我也用了4年Spring,写过View resolver,写过Aware接口,写过动态代理,读过Martin Flower的《DI》,跟踪过Spring源码....这?

 

     还有一个是讲mysql的优化,问:“如果查询时发现硬盘狂闪,你觉得有哪些可能瓶颈?”

答:“可能是索引问题,索引建得不好或者sql没有按照索引来查询,另外还有查询语句不能很快减小结果集,这个可以分析查询计划。”,

     后面又问道:“一般索引的命中率是多少?”,我随口答了“50%”,这个我确实不清楚。

 

     还有http相关问题,第一个问“500,404,301的意思”,前两个我很清楚,301我就傻了。模模糊糊记得是网关之类的,这个只能怪自己的记忆力不好了。然后就不再问我http其他问题了,显然他认为我也就这水平了。

 

     其他的问题答得还算不错。

     最后面试官让我问他问题——每个面试官都喜欢这么讲——有什么好问的?其实我已经有点憋闷,抬眼看去,玻璃房对面路边停着一辆钛灰色马6,很熟悉的流线型身躯,于是随口说了一句:“这里停车收费吗?”。答曰:“不收费,不过要早点来,晚了没位置。”

     哈哈。接着就完事了,人事mm告诉我,从玻璃房出去直接就可以到大门了。

     嗯,没错是捷径,我很快就出门了,在没下大雨前出了盛大,驶上居里路。路上一直想着Spring的IOC实现问题,努力回忆以前看过的源码。半个多小时候平安到家。

 

补充:现在想想,盛大不去也罢,这样“草菅人命”,真让人不爽。

看起来大家对Spring和模式比较感兴趣,那个索引的命中率多少比较好呢?有没有数据库的高手在?我没长期监测过。(这个面试官估计在数据库上很有经验)

 

再补充:后来去二面了(如第九页seanwon所暗示)。二面面试官更有水平了,问问题是这样方式的:“哦~,我经常听人说什么什么....,你能和我分享一下你的心得吗?”。很厉害,有诗为证:随风潜入夜,润物细无声。情商很厉害,确实见识到高人了,文武全才啊,景仰一下。

 

再再补充:今天一口气看完《杜拉拉升职记》第三部,感觉二面面试官很有SH招C&B时要的那种“500强大公司的范儿“,哈哈。推荐看看《杜拉拉升职记》,当然不是电影。看完了就一个感觉:要不怎么说程序员都单纯呢,看那小说写得叫一个斗智斗勇,不过很多地方还是挺有意义的。

 

再续:

一晃2012年底,快三年了,塞翁失马焉知非福,现在我又即将踏上新的征途。

三年风雨、三年奋斗、三年无悔,这三年是充实有梦想的三年,感谢lp一路陪伴。

分享到:
评论
40 楼 tedeyang 2010-03-03  
TomHornson 写道
LZ这种面试憋屈就到论坛上发牢骚的行为更加让公司觉得没有录用你
可能是正确的。
这些面试题,作为初面,个人感觉还是比较适合的。

譬如问我:“最熟悉哪些设计模式?”,
“那你讲讲Factory的特点和用途?”,
-------------------------------
书本上学到的模式说出来就好了,而在实际开发中用到的细点说。

”Spring IOC的实现方式?“
-------------------------
如果不知道Spring怎么实现,而你对lang.reflect和Class比较了解,
就说如果让你来实现,你会怎么做:
1)直接操作Field
Class.getDeclaredField.setAccessible.set
通过setter,如果存在的话
2)Class.getDeclaredMethod.setAccessible.invoke


“如果查询时发现硬盘狂闪,你觉得有哪些可能瓶颈?”

感觉,IO,sequence read过多
说出自己遇到过的情况就好,索引失效,索引失效的原因很多,可能建了索引却没建
函数索引,可能查询组合VIEW的时候,没有把条件PUSH到VIEW中导致
VIEW的TABLE全表扫描,也可能是组合的表太多,单表建索引还是会
读取很多表过滤记录没效率,需要多表建组合索引。

500,404,301的意思?
这个就是知识点。考考你无可厚非。你应聘架构师,除了功底深厚,
见识(知识)应该也很广。

哈哈,我正像周立波说的:“你的内心还不够强大!”
我当然做不到“坐看云起云灭,宠辱不惊”的境界。
谢谢你的回复,很有实质内容。
39 楼 rrsy23 2010-03-03  
应该这样回答他 有意义吗

三年前知道 现在不知道

去看看源码不就知道

无非是 读取 文件  构造 对象  前后有一些 接口对象处理  构造 关系 保存集合 

古人云

千里马常用 伯乐少哦
38 楼 TomHornson 2010-03-03  
LZ这种面试憋屈就到论坛上发牢骚的行为更加让公司觉得没有录用你
可能是正确的。
这些面试题,作为初面,个人感觉还是比较适合的。

譬如问我:“最熟悉哪些设计模式?”,
“那你讲讲Factory的特点和用途?”,
-------------------------------
书本上学到的模式说出来就好了,而在实际开发中用到的细点说。

”Spring IOC的实现方式?“
-------------------------
如果不知道Spring怎么实现,而你对lang.reflect和Class比较了解,
就说如果让你来实现,你会怎么做:
1)直接操作Field
Class.getDeclaredField.setAccessible.set
通过setter,如果存在的话
2)Class.getDeclaredMethod.setAccessible.invoke


“如果查询时发现硬盘狂闪,你觉得有哪些可能瓶颈?”

感觉,IO,sequence read过多
说出自己遇到过的情况就好,索引失效,索引失效的原因很多,可能建了索引却没建
函数索引,可能查询组合VIEW的时候,没有把条件PUSH到VIEW中导致
VIEW的TABLE全表扫描,也可能是组合的表太多,单表建索引还是会
读取很多表过滤记录没效率,需要多表建组合索引。

500,404,301的意思?
这个就是知识点。考考你无可厚非。你应聘架构师,除了功底深厚,
见识(知识)应该也很广。
37 楼 lkj107 2010-03-03  
面试前要系统一下
就跟考驾照跟平时的上路驾驶不一样的
第一遍要筛选很多人的,用的类似于客观题,太主观的话就不好说了
36 楼 tianmo2008 2010-03-03  
lujiawu12 写道
donald3003a 写道
一个是这样:“Spring IOC的实现方式?”,我答:“根据配置文件,用反射调用set装配对象。”,他说:“反射是早期实现方式”。我傻眼了,然后就看着他在纸上把“Spring”划掉。
spring的IOC 默认的方式好像是CGLIB难道我记错了?

好像是如果实现接口了,就用java的proxy,如果没就用cglib 。
读取配置文件,或者基于注解的扫描包,再检测aware接口,注入相关属性,再放到容器

你说的是spring的aop实现吧,
35 楼 niwei 2010-03-03  
估计是面试多了,脑子都懒了。
34 楼 卧底在人间 2010-03-03  
依赖注入 就是你说的DI:)

不过DI有三种实现方式  interface injection实现接口、constructor injection构造函数、setter injection~

通常都是sett~~


其实 你面试的时候也 没说错,只不过说多了而已~



面试你的那人 照本宣科了~ 稍不对~ 就直接划掉了

33 楼 tedeyang 2010-03-03  
卧底在人间 写道
ioc的实现  你直接说 依赖注入不就完了吗  为什么要扯反射

面试你的人一看就是学院理论派

啊!明白了,原来这就是标准答案。
可笑啊可笑
我还提到DI了,还提到根据type或id来设置对象,还提到picocontainer用构造函数的方式来组装对象,原来全是对牛弹琴,人家压根不懂啊。
我倒,害我郁闷这么久!!!
32 楼 nottjoe 2010-03-03  
BruceXX 写道
还有一个,问:“http的301是什么意思”?我也傻了。模模糊糊记得是网关之类的,这个只能怪自己的记忆力不好了。


不喜欢这种面试官..和阿里巴巴的一样的德性,
有水准的人往往不会在  各种规范级别来讨论,而是给你一个课题,说出你的最佳思路,如何完美。


最基础的知识都不懂,还谈什么思路?
31 楼 BruceXX 2010-03-03  
还有一个,问:“http的301是什么意思”?我也傻了。模模糊糊记得是网关之类的,这个只能怪自己的记忆力不好了。


不喜欢这种面试官..和阿里巴巴的一样的德性,
有水准的人往往不会在  各种规范级别来讨论,而是给你一个课题,说出你的最佳思路,如何完美。
30 楼 卧底在人间 2010-03-03  
ioc的实现  你直接说 依赖注入不就完了吗  为什么要扯反射

面试你的人一看就是学院理论派
29 楼 dyllove98 2010-03-03  
dkmilan 写道
我就不明白了,不用反射,用啥
AOP用了cglib



有那位大侠指一点下呀~~难道不是反射吗?真是奇怪呀
28 楼 dkmilan 2010-03-03  
我就不明白了,不用反射,用啥
AOP用了cglib
27 楼 dyllove98 2010-03-03  
<< 一个是这样:“Spring IOC的实现方式?”,我答:“根据配置文件,用反射调用set装配对象。”,他说:“反射是早期实现方式”。我傻眼了,然后就看着他在纸上把“Spring”划掉。>>

有谁能详解一下 spring ioc的实现原理?
26 楼 luoyahu 2010-03-03  
你们都是牛人.我写程序觉的简单就好.
25 楼 flootball 2010-03-03  
lzyzizi 写道
flootball 写道
chandler 写道
case0079 写道
面试题大众化了,没什么让人觉得惊艳的.

引用
那你讲讲Factory的特点和用途?”

完全是学院派的考试法.
工作当中都是面对特定的问题,思考出特定的解决方法.经验丰富的程序员根本不需要去搞懂什么XX模式,自己写出来的程序自然就是XX模式了.

      如果这样,为什么会有人专门去研究设计模式等相关学院的东西?
      做事情,太过于学院固然不对,太学院是做不了东西。但是只顾经验,不顾理论,更糟糕,你做错了,自己还不知道。沾沾自喜的认为自己很厉害。

像这些设计模式就像个牢笼,把你锁在里面!
这样的话焉有创新能力。


说这样话的人,基本上都是(抱歉,让我武断一下) 自己写代码一团糟而且又不高兴去学设计模式的人,总觉得自己有几年资历就很厉害。。。

虽然我个人比较同意“无招胜有招”这样子一个想法,但是我觉得无招胜有招的前提是“在充分了解招式的基础上”。

设计模式只是一个程序员用来交流设计思想的总结而已。

思想高的都高处不胜寒了!
虚心领教。哈。
24 楼 lzyzizi 2010-03-03  
flootball 写道
chandler 写道
case0079 写道
面试题大众化了,没什么让人觉得惊艳的.

引用
那你讲讲Factory的特点和用途?”

完全是学院派的考试法.
工作当中都是面对特定的问题,思考出特定的解决方法.经验丰富的程序员根本不需要去搞懂什么XX模式,自己写出来的程序自然就是XX模式了.

      如果这样,为什么会有人专门去研究设计模式等相关学院的东西?
      做事情,太过于学院固然不对,太学院是做不了东西。但是只顾经验,不顾理论,更糟糕,你做错了,自己还不知道。沾沾自喜的认为自己很厉害。

像这些设计模式就像个牢笼,把你锁在里面!
这样的话焉有创新能力。


说这样话的人,基本上都是(抱歉,让我武断一下) 自己写代码一团糟而且又不高兴去学设计模式的人,总觉得自己有几年资历就很厉害。。。

虽然我个人比较同意“无招胜有招”这样子一个想法,但是我觉得无招胜有招的前提是“在充分了解招式的基础上”。

设计模式只是一个程序员用来交流设计思想的总结而已。
23 楼 yyang1986321 2010-03-03  
chandler 写道
flootball 写道
chandler 写道
case0079 写道
面试题大众化了,没什么让人觉得惊艳的.

引用
那你讲讲Factory的特点和用途?”

完全是学院派的考试法.
工作当中都是面对特定的问题,思考出特定的解决方法.经验丰富的程序员根本不需要去搞懂什么XX模式,自己写出来的程序自然就是XX模式了.

      如果这样,为什么会有人专门去研究设计模式等相关学院的东西?
      做事情,太过于学院固然不对,太学院是做不了东西。但是只顾经验,不顾理论,更糟糕,你做错了,自己还不知道。沾沾自喜的认为自己很厉害。

像这些设计模式就像个牢笼,把你锁在里面!
这样的话焉有创新能力。

没有基础,怎么谈创新?

同意,基础很重要
22 楼 chandler 2010-03-03  
flootball 写道
chandler 写道
case0079 写道
面试题大众化了,没什么让人觉得惊艳的.

引用
那你讲讲Factory的特点和用途?”

完全是学院派的考试法.
工作当中都是面对特定的问题,思考出特定的解决方法.经验丰富的程序员根本不需要去搞懂什么XX模式,自己写出来的程序自然就是XX模式了.

      如果这样,为什么会有人专门去研究设计模式等相关学院的东西?
      做事情,太过于学院固然不对,太学院是做不了东西。但是只顾经验,不顾理论,更糟糕,你做错了,自己还不知道。沾沾自喜的认为自己很厉害。

像这些设计模式就像个牢笼,把你锁在里面!
这样的话焉有创新能力。

没有基础,怎么谈创新?
21 楼 lujiawu12 2010-03-03  
donald3003a 写道
一个是这样:“Spring IOC的实现方式?”,我答:“根据配置文件,用反射调用set装配对象。”,他说:“反射是早期实现方式”。我傻眼了,然后就看着他在纸上把“Spring”划掉。
spring的IOC 默认的方式好像是CGLIB难道我记错了?

好像是如果实现接口了,就用java的proxy,如果没就用cglib 。
读取配置文件,或者基于注解的扫描包,再检测aware接口,注入相关属性,再放到容器

相关推荐

Global site tag (gtag.js) - Google Analytics