分享

十五年,你积累了什么? - 招聘求职 - ITeye文摘

 ~水手~!! 2011-05-17

这件事弄得我挺郁闷的.

 

公司的兄弟部门要招一个JAVA平台的架构师,

一位来面试的兄弟简历上做了十五年的编程,十二年JAVA工作经历.经历过N多的公司.原面试的一个女同事经历较浅,怕罩不住,请我帮她面试一下.

 

我看了一下简历,大多数时间在做CRM,工作流,办公系统类的项目,也有两家公司是国内比较知名的互联网应用的项目.我面试的一贯原则不会问我自己懂的东西,而是看对方的行业经验去问他自己熟悉的东西.

 

下面是面试的内容:

  谈谈一般工作流中流程引擎处理的对象模型.

  答:我做的都是特定于某个需求的流程,不了解通用的工作流处理的原理.(十五年的经验不知道一点模型抽象,一直在造轮子).

  谈谈WEB应用中大规模用户高并发需求的网站架构一般原则.

  答:(内容不少,但主要是以下几点)

  1.负载均衡,2 cache(自己介绍一个投票系统,用户投票数据直接放在cache中).3数据库读写分离.

  如何做数据库读写分离,谈谈你做过的经验.

  答:我自己没做过这些方案,就是看过这样的方案介绍.

  如果新增数据也放在cache中,如何保证出现异常时数据不丢失?

  答:我可以在容器关闭前写到数据库,平时每10分钟与数据库同步一次.

  对于大规模用户的WEB应用,10分钟可能上百万的数据,要是突然当机来不及同步到数据库怎么办?

  答:…………………..没考虑过.

  网站的负载均衡有哪些模型?

  答:没有做过,按照我的理解就是多点分布.

[有人说面试架构师怎么会问下面这些问题,如果一个被面试的人根本没有真实的架构经验,下面该问什么?只能问他自己熟悉的东西]

  那你自己最熟悉的技术点在哪方面?

  答:JAVA技术方面,比如多线程.

  OK,那我们聊聊JAVA技术.JVM底层技术有了解吗?

  答:这个当然了解.

  请用你知道的知识描述一下GC的工作原理.

  答:一个对象没有引用的时候就可以被回收.

  那么怎么知道对象没有引用了呢?

  答:这个不知道.

  GC是如何分代的?

  答:什么分代?我不了解.

  关于GC还了解哪些?

  答:其它的不清楚,我记得只要对象没有引用就可以回收了.

  OK,多线程方面,jdk5以后的concurrent包中的数据结构用过哪些?

  答:数据结构是什么意思?

  就是相当于java.util下面的容器类.

  答:我用过threadpoolexecutor.

  我问的是数据结构或叫容器,比如说List,Map这类的数据结构.

  答:没有用过,我平时用的都是同步之类多线程(意思是1.5之前的并发编程类库).

  OK,请简单画一下JAVA的内存模型.

  答:内存模型?不了解,我画不出来.

  那么请说说volitale关键字在JAVA5之前有什么作用.

  答:没听说过这个关键字.

  那么,进入同步块和离开同步块时,变量是如何同步的?

  答:这些底层的东西我都不了解,主要是做应用层.。

   主要做应用层,那么熟悉使用的框架吗?

[到了这里,只能问这些了]

   答:是啊.struts,hibernate,spring这些框架比较熟悉。

   hibernate中,l1,l2的cache,给一个经验值.

   答:没有做过.

   volecity中,如果我要在渲染到页面之前统一对内容进行拦截处理应该如何做?

   答:做一个filter,在请求进来的时候拦截.

   我说的是 velocity中渲染到页面之前的拦截.

   答:这个我不知道.

   那你谈谈你平时做哪些工作.

   答:用jsp,struts,hibernate,spring做业务逻辑.

   十几年都是做这些吗?

   答:以前没有这些框架,就是用JSP连接数据库.

   你使用这些"东西"这么久,有对这些"东西"的原理研究过吗?或者去读一下它们的源码.

   答:没有.就是一直在用.

…………………………………………………………………………………………………………

下面我实在不想问了, 因为我的时间成本也很高的,浪费不起.(当时是在上班时间,和现在的休息时间闲扯不能比).

我真的为这个兄弟心酸,如果面试的是普通开发,我还可以理解,你是一个有十五年经验的人,十二年的JAVA工作经历,而且你面试的是一个架构师.说实话当一个5000元左右的开发人员我还不愿意要,因为同样一个5000元的招一个没有经验的学生,但发展潜力比他要大多了.但是他的要求是20000元的架构师职位.

我并不是说每个人都要有相同的积累和追求,象这位兄弟,如果去外包公司做应用开发,应该是一个很不错的有经验的开发工程师。但是目前平均来说,做外包开发可能不会突破的收入。你要想改变,就要改变你努力的方向。

十多年的JAVA应用,你就是不想了解,也会被别人硬灌给你GC原理这些知识啊.你就是捂着耳朵也会漏进一些声音让你了解一些并发包的数据结构啊.

我们在打造10亿用户的平台,他却连50万用户规模的方案不知道如何部署.不是我们不给机会,实在是兄弟你真的拿不出我们需要的积累.

查看原文评论

评论 共 16 条 发表评论
16 楼 77tt77 2011-05-14 12:00 引用
社会让人浮躁。

踏踏实实的。
15 楼 C.T 2011-04-21 21:57 引用
我们在打造10亿用户的平台,他却连50万用户规模的方案不知道如何部署.不是我们不给机会,实在是兄弟你真的拿不出我们需要的积累.

这句话还是真的很给力。
14 楼 langzi_txp 2011-03-31 14:15 引用
原来我还不够,遇到问题都没深究过,想想15年后真可怕
13 楼 qizhangwan 2011-03-28 15:39 引用
现在发现自己还是门外汉似的,上面的很多问题都没听过...
12 楼 ganjp 2011-03-17 12:26 引用
哎……  大家都在嘲笑 不知道当咱们达到10年经验时  自己是个什么样子,我挺为自己发愁的,因为我也快一年了,基本不懂什么
11 楼 maoyi606 2011-03-17 10:10 引用
大多数问题都碰到过,未深入研究
10 楼 海阔天空love 2011-02-14 16:22 引用
最后一个问题的答案太可怕啦
9 楼 zyw_anquan 2011-02-04 16:43 引用
上面问题我很多没有考虑过呢,这面试真的挺难的哦。很多都是听过没有深入去参透
8 楼 yellowdragon 2011-01-15 16:19 引用
我也是,知其然不知所以然!悲哀.......
7 楼 xunfang13 2011-01-14 17:31 引用
楼主,我觉得是你要求太高了。

恕我直言,你问的可能是你擅长的,而他没接触过或者说接触得比较少,所以回答的不是很好。

比如GC,你连续问了那么多问题,这也是你最不满意他的地方,但是你所掌握的GC知识,能为你实际带来什么好处吗?知道什么“引用计数法。。”之类的难道就真的那么有意义吗?
有一些问题,问得太细了,比如velocity渲染拦截(当然,如果你工作岗位明确要求熟悉velocity除外)。

还有一些问题,就不好说了。比如 "进入同步块和离开同步块时,变量是如何同步的?",我自认为多线程学得还可以,但是也不知道,你想要什么样的答案。

认为你问得比较好的,谈谈WEB应用中大规模用户高并发需求的网站架构一般原则.







6 楼 aspnetdb 2011-01-13 17:07 引用
摆在眼前两条路? 1.看JDK源代码,学习一些设计模式,能学多少是多少。2.学习SSH,源代码可能一时半会儿看不懂,但是可以熟练使用。到底哪个共有意义呢。毕业半年,有点迷茫。个人倾向第一条。
5 楼 zhangyou1010 2011-01-12 00:02 引用
经典的面试.
4 楼 wenzhe1397 2010-12-20 13:49 引用
我也遇到了同样的问题
开发做了三年,现在处于转型阶段
有的时候面对这些问题,很迷茫
3 楼 mercyblitz 2010-07-05 17:54 引用
这些题目都遇到过,
2 楼 zhameng 2010-07-05 15:31 引用
很多人都是这样,包括我自己。不过我在1一个月前发现了这个问题,并开始逐步解决这个问题。好在我的开发时间还不长,还可以努力追赶!
1 楼 zhugece 2010-07-05 14:39 引用
这个真当是极品啊

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多