转载:你积累了什么?

简介: 转自:http://hi.baidu.com/linkzq/item/36adc0ab7ca7e4a929ce9dfd   开始用JBE看class文件时,发现new指令后都跟着dup操作,翻了《深入Java虚拟机指令》也没什么结果,Google后转到“诗剑书生”的CSDN专栏,这个问题得到了答案。

转自:http://hi.baidu.com/linkzq/item/36adc0ab7ca7e4a929ce9dfd

 

开始用JBE看class文件时,发现new指令后都跟着dup操作,翻了《深入Java虚拟机指令》也没什么结果,Google后转到“诗剑书生”的CSDN专栏,这个问题得到了答案。再顺着下去看其它的博文,有个问题开始给了我危机感。

      说是他的兄弟部门招聘一个Java平台的架构师,请他代为面试,这位前来面的仁兄有15年的编程经验,12年Java经历(大部分时间做CRM、AO,也有互联网应用的项目经验),历经N多的公司,看起来底子不薄。面试的过程让人意外:

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

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

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

   答:(内容不少,但主要是以一几点)
     1.负载均衡,
2 cache(自己介绍一个投票系统,用户投票数据直接放在cache中).3数据库读写分离.

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

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

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

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

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

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

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

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

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

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

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

   答:这个当然了解.

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

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

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

   答:这个不知道.

11>GC是如何分代的?

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

12>关于GC还了解哪些?

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

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

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

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

   答:我用过threadpoolexecutor.

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

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

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

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

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

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

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

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

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

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

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

   答:没有做过.我主要是使用它的功能,都是默认设置.

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

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

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

   答:这个我不知道.

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

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

24>十几年都是做这些吗?

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

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

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

看着以上的问题,想着将来如果我努力的方向也是架构师,该怎么办?该怎么办?

相关文章
|
人工智能 运维 监控
一线技术人的成长思考总结
作为长期奋战在一线的技术人,我深刻体会到几个思维能力对技术人成长的重要性,熟练运用这几种思维可以帮助我们快速的进入到新的领域,在分析、定位和解决问题上有很大帮助。作为长期奋战在一线的技术人,我深刻体会到几个思维能力对技术人成长的重要性,熟练运用这几种思维可以帮助我们快速的进入到新的领域,在分析、定位和解决问题上有很大帮助。
一线技术人的成长思考总结
|
存储 运维 监控
技术与业务同行:我是如何在业务中成长的?
勇于打破自己的边界,拓展自己的技术栈。
2878 0
技术与业务同行:我是如何在业务中成长的?
|
Web App开发 移动开发 供应链
铁军:保持成长动力,与技术、业务、团队共成长
对于前端的成长我认为首要的是自身成长的内在动力,其次是伴随技术业务团队共同成长,不忘初心、保持空杯、梦想前行。
铁军:保持成长动力,与技术、业务、团队共成长
|
消息中间件 运维 架构师
架构师成长之路:如何提升技术掌控力?
在很多人眼里,架构师就犹如古代的将军一般,既能运筹帷幄决胜千里,又能独闯敌营取人首级,是所有士兵们崇拜的偶像...好了,其实我只是想说:能成为一名优秀的架构师,确实是所有工程师的梦想。那么,架构师应该具备什么能力呢?
2471 0
架构师成长之路:如何提升技术掌控力?
|
程序员
老程序员的巨大优势——积累起来的经验——打破30/35岁的魔咒!
  最近找了一份工作,在工作中体验到了以前积累的工作经验的巨大优势。     需求很简单,就是做一个网站,展示一下要出售的商品,再加上一个资讯作为陪衬。当然还要有一个会员管理,会员分类,会员购物车、订单、网银接口等,还有SEO的注意事项,再加上URL重写,还有就是业务员和会员的关系。
996 0
|
分布式计算 运维 架构师
数据技术工程师成长之路
  最近或许有伙伴发现,写技术实现及细节的变少了,更多是经历以及思想、规范。莫非是道则道,非常道,你道我也道?然,并不是:)。   当入行四五年时,个人经历中,从14年开始实习工作到15年转正,各电信项目现场跑,开发、测试、产品部署及支持运维。
9649 0
|
分布式计算 Hadoop 大数据
|
应用服务中间件 nginx Python