[转] 15年Java经验的仁兄 ,From http://blog.csdn.net/axman/archive/2010/04/24/5523746.aspx

  

 

 

非常好,十五年,你积累了什么?收藏

 

这件事弄得我挺郁闷的.

公司的兄弟部门要招一个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之前有什么作用.

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

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

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

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

   答:是啊.

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

   答:没有做过.

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

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

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

   答:这个我不知道.

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

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

   十几年都是做这些吗?

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

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

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

........................................................................................................................

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

我真的为这个兄弟心酸,如果面试的是普通开发,我还可以理解,你是一个有十五年经验的人,十二年的JAVA工作经历,而且

你面试的是一个架构师.说实话当一个5000元左右的开发人员我还不愿意要,因为同样一个5000元的招一个没有经验的学生,

但发展潜力比他要大多了.但是他的要求是20000元的架构师职位.

我并不是说每个人都要有相同的积累和追求,象这位兄弟,如果去外包公司做应用开发,应该是一个很不错的有经验的开发

工程师。但是目前平均来说,做外包开发可能不会突破的收入。你要想改变,就要改变你努力的方向。

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

一些并发包的数据结构啊.

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

需要的积累.

发表于 @ 2010年04月24日 11:55:00 | 评论( 40 ) 举报收藏

旧一篇:一个值得记住的教训啊 | 新一篇:身份证识别码的验证

shileiye 发表于Sat Apr 24 2010 14:22:23 GMT+0800 (China Standard Time)  举报回复
10几亿用户?目前来看只可能是百度或者腾讯了`电信?移动?也有可能`
goodasong 发表于Sat Apr 24 2010 15:12:58 GMT+0800 (China Standard Time)  举报回复
受教,做了两三年了,一直停在应用层,以为什么都懂了,这才知道知识无涯啊
zagfai 发表于Sat Apr 24 2010 15:29:25 GMT+0800 (China Standard Time)  举报回复
10几亿用户......
axman博客专家 发表于Sat Apr 24 2010 16:02:54 GMT+0800 (China Standard Time)  举报回复
我们目前的业务量已经是亿级,下一步就是打造十亿级用户的平台. 百度的技术和我们不一样,他们是单一的技术种类,用户事务性比较少. 而且最终规模也不会比我们大(他只服务于中国),新浪和我们的业务根本不能比,静态内容提供商,这种服务只要做好CDN就可以解决. 而电子商务平台的事务复杂性和严密性,都不是这两个公司的业务可比的.
ZangXT 发表于Sat Apr 24 2010 17:02:49 GMT+0800 (China Standard Time)  举报回复
应该先让他介绍一下15年都干了些什么,呵呵。
wolfw 发表于Sun Apr 25 2010 15:58:01 GMT+0800 (China Standard Time)  举报回复
这样的同志我面过不少,还有连续n(n>3)年在msn上问我同一水平的问题的人,哎...
qwertyCCC 发表于Sun Apr 25 2010 20:15:17 GMT+0800 (China Standard Time)  举报回复
受教~ 工作快两年了,希望到下次证明自己时能无愧这几年的努力。学海无涯,加油~
lizhun90322 发表于Sun Apr 25 2010 20:42:59 GMT+0800 (China Standard Time)  举报回复
受教,看来 要走的路还很远啊
wangpeng0228 发表于Mon Apr 26 2010 08:06:08 GMT+0800 (China Standard Time)  举报回复
真的是知识无止境
匿名用户 发表于Mon Apr 26 2010 08:54:49 GMT+0800 (China Standard Time)  举报回复
看了这个我很惭愧,出来工作一年感觉都没学到什么,主要是自己不怎么上心,都是遇到问题了才去找解决方案,从来不自己主动学些东西,可能跟工作环境也有关系……
ProgrammerNO1 发表于Mon Apr 26 2010 09:27:16 GMT+0800 (China Standard Time)  举报回复
这么牛X,阿里?
匿名用户 发表于Mon Apr 26 2010 12:10:21 GMT+0800 (China Standard Time)  举报回复
回复 ProgrammerNO1: 恩,我觉得就是阿里的,没错
wren2004 发表于Mon Apr 26 2010 12:55:53 GMT+0800 (China Standard Time)  举报回复
大多数人都是这样啦,只能说面试的仁兄有点眼高而己
cyjsir 发表于Mon Apr 26 2010 13:08:38 GMT+0800 (China Standard Time)  举报回复
受教育了
匿名用户 发表于Mon Apr 26 2010 13:19:51 GMT+0800 (China Standard Time)  举报回复
国内有敢号称10亿用户的平台吗? 咱们吹的时候靠谱点成不
axman博客专家 发表于Mon Apr 26 2010 13:40:48 GMT+0800 (China Standard Time)  举报回复
蚂蚁永远无法想象大象从事的工作。 我们某个业务的去年底国内用户已经到1.63亿,而这只是对国内用户的服务。另一个业务的注册用户量目前已经达到3亿。 而我们是全球服务提供商,10亿用户可以说还是短期的。 不过如果你和山沟沟的土著说10亿人是多少他是无法想象的,最后只会吓死他。
qq121598351 发表于Mon Apr 26 2010 13:51:21 GMT+0800 (China Standard Time)  举报回复
回复 axman:请问老大你们公司有没考虑 换掉 JAVA 架构 改用其他语言啊? 未来2 3年呢?
axman博客专家 发表于Mon Apr 26 2010 14:02:53 GMT+0800 (China Standard Time)  举报回复
回复 qq121598351: 目前没有打算,其实什么语言都无所谓的。只是因为历史的原因,在JAVA架构方面的积累比其它技术要成熟一些,现在再换不擅长的技术类型就没有必要了。 如果是新建的应用,不考虑部署成本的原因我更喜欢.net。但已经有的应用,除非技术本身已经不能满足业务的发展,否则没有必要换一种其它技术。
qq121598351 发表于Mon Apr 26 2010 14:08:50 GMT+0800 (China Standard Time)  举报回复
回复 axman:谢谢老大,其实我感兴趣的就是那个20000
greenqingqingws 发表于Mon Apr 26 2010 18:57:35 GMT+0800 (China Standard Time)  举报回复
回复 axman:我很同意你这句话。.Net的开发速度很快。不过部署成本也很高呀。
alinchuan 发表于Mon Apr 26 2010 13:55:00 GMT+0800 (China Standard Time)  举报回复
学习了
vgvg 发表于Mon Apr 26 2010 17:57:59 GMT+0800 (China Standard Time)  举报回复
10 亿用户有点夸张 想知道 axman 大仙 工作多少年了??
oyaji21 发表于Mon Apr 26 2010 18:21:57 GMT+0800 (China Standard Time)  举报回复
很残酷的一面镜子,技术这碗饭吃的不易呀
elenlen 发表于Mon Apr 26 2010 18:39:51 GMT+0800 (China Standard Time)  举报回复
就这几个字了!
axman博客专家 发表于Mon Apr 26 2010 18:40:45 GMT+0800 (China Standard Time)  举报回复
我根本称不上大仙,公司牛人多着哩. 只是做任何行业,你都要有意识地去积累,不是说你积累得比别人多.而是说要有这个意识,十几年下来对自己玩的东西从来没有去读过源码,也从来没有研究过原理这就是白做了.打了十多年的鸟还不会拆枪装枪你说玩什么呢?并不是说每个要拆装得怎么快,但至少你要对你吃饭的家伙要了解它的构造吧.
greenqingqingws 发表于Mon Apr 26 2010 18:58:36 GMT+0800 (China Standard Time)  举报回复
回复 axman:
yapprsnow 发表于Mon Apr 26 2010 19:13:39 GMT+0800 (China Standard Time)  举报回复
增广见识
antony1029 发表于Mon Apr 26 2010 21:30:00 GMT+0800 (China Standard Time)  举报回复
10亿用户的平台 真想知道你们的服务是怎么部署的。有多少台服务器支撑啊。
jclnb 发表于Tue Apr 27 2010 09:39:26 GMT+0800 (China Standard Time)  举报回复
受教~~~
cometohere 发表于Tue Apr 27 2010 10:16:38 GMT+0800 (China Standard Time)  举报回复
这小子来面架构师是个错误,不过也不能这样贬低他,环境有时对个人也有很大影响。
crystalbug 发表于Tue Apr 27 2010 10:22:31 GMT+0800 (China Standard Time)  举报回复
目前浮躁的人太多了,眼光只停留在应用层,思维停留在现有的方法,被框架框住,高产出很多低质项目,15年经验。。。150年也无益
shuhen2010 发表于Tue Apr 27 2010 10:51:41 GMT+0800 (China Standard Time)  举报回复
那哥们工作了15年,得多大了
yunyun050924 发表于Tue Apr 27 2010 10:55:54 GMT+0800 (China Standard Time)  举报回复
博主在那工作的?
xuanyue 发表于Tue Apr 27 2010 11:16:11 GMT+0800 (China Standard Time)  举报回复
惭愧,以后我也要积极探索不能只应用而忽略了原理
oyzdz1988 发表于Tue Apr 27 2010 11:24:18 GMT+0800 (China Standard Time)  举报回复
受教了 
匿名用户 发表于Tue Apr 27 2010 11:30:17 GMT+0800 (China Standard Time)  举报回复
楼主干嘛把我的问题删了?是太小了?不屑于回答?偶很诚恳在线等答案,你却删了。郁闷。。。
yangfeng2004 发表于Tue Apr 27 2010 11:35:55 GMT+0800 (China Standard Time)  举报回复
这种水平还面别人,高手鸟那些SSH架构么,这么多用户为什么不自己开发服务器。编程最重要的是思想,架构师最重要的对问题的分析抽象能力,不是那些细微的别人发明的技术,那些东西很值钱么,永远被别人统治,永远在社会底层,噢,也是白领. 对不起,话说重了些。
匿名用户 发表于Tue Apr 27 2010 11:37:36 GMT+0800 (China Standard Time)  举报回复
扪心自问,我确实没积累什么,只能说保持了基本的状况, 12年前看过一点基本知识,10年前的确准备好好研究Java的, 很惭愧目前都还没学过。 也许那位先生面试架构师确实有点为难,既然你从言语中也肯定了他做外包也许适合,那你就不应该这样去评价他。除非你是给他面子说他做外包还行。。。 生活不等于技术,最好不要这样去评价。
leiayeye 发表于Tue Apr 27 2010 11:38:21 GMT+0800 (China Standard Time)  举报回复
zeus_23cs 发表于Tue Apr 27 2010 11:39:09 GMT+0800 (China Standard Time)  举报回复
受教了,还需要很努力才行

 

 

 

 

 

 

 

 

 

 

posted @ 2010-04-27 12:08  苹果X1  阅读(570)  评论(1编辑  收藏  举报