这是在其他博客看到的文章,贴在这里是想告诉自己学习的方向。。
公司的兄弟部门要招一个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的内存模型.
答:内存模型?不了解,我画不出来.
那么请说说volatile关键字在JAVA5之前有什么作用.
答:没听说过这个关键字.
那么,进入同步块和离开同步块时,变量是如何同步的?
答:这些底层的东西我都不了解,主要是做应用层。
主要做应用层,那么熟悉使用的框架吗?
答:是啊.struts,hibernate,spring这些框架比较熟悉。
hibernate中,l1,l2的cache,给一个经验值.
答:没有做过.我主要是使用它的功能,都是默认设置.
volecity中,如果我要在渲染到页面之前统一对内容进行拦截处理应该如何做?
答:做一个filter,在请求进来的时候拦截.
我说的是 velocity中渲染到页面之前的拦截.
答:这个我不知道.
那你谈谈你平时做哪些工作.
答:用jsp,struts,hibernate,spring做业务逻辑.
十几年都是做这些吗?
答:以前没有这些框架,就是用JSP连接数据库.
你使用这些"东西"这么久,有对这些"东西"的原理研究过吗?或者去读一下它们的源码.
答:没有.就是一直在用.
........................................................................................................................
下面我实在不想问了, 因为我的时间成本也很高的,浪费不起.(当时是在上班时间,和现在的休息时间闲扯不能比).
我真的为这个兄弟心酸,如果面试的是普通开发,我还可以理解,你是一个有十五年经验的人,十二年的JAVA工作经历,而且你面试的是一个架构师.说实话当一个5000元左右的开发人员我还不愿意要,因为同样一个5000元的招一个没有经验的学生,但发展潜力比他要大多了.但是他的要求是20000元的架构师职位.
我并不是说每个人都要有相同的积累和追求,象这位兄弟,如果去外包公司做应用开发,应该是一个很不错的有经验的开发工程师。但是目前平均来说,做外包开发可能不会突破的收入。你要想改变,就要改变你努力的方向。
十多年的JAVA应用,你就是不想了解,也会被别人硬灌给你GC原理这些知识啊.你就是捂着耳朵也会漏进一些声音让你了解一些并发包的数据结构啊.
我们在打造10亿用户的平台,他却连50万用户规模的方案不知道如何部署.不是我们不给机会,实在是兄弟你真的拿不出我们需要的积累.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/axman/archive/2010/04/24/5523746.aspx
相关推荐
此外,架构师还需要具备良好的沟通能力,能够与项目经理、开发人员、测试人员以及业务分析师等不同角色进行有效的协作。 二、技术知识体系 成为一名合格的架构师,需要掌握广泛的技术知识。这包括但不限于:编程...
天翼云认证解决方案架构师题库知识点,帮你直接通过天翼云解决方案架构师认证考试。天翼云认证解决方案架构师题库知识点,帮你直接通过天翼云解决方案架构师认证考试。天翼云认证解决方案架构师题库知识点,帮你直接...
优秀的测试架构师需要具备制定测试策略的能力。测试策略是测试工作的核心,它关系到测试的对象、范围、目标、重点和难点,以及测试的深度和广度。一个有效的测试策略应当能够根据产品的质量目标、风险点和研发状况,...
架构师不仅需要具备高超的技术能力,更需要将这些能力转化为团队能理解和执行的决策。因此,如何有效地与团队成员、管理层和其他利益相关者沟通架构决策,引导团队达成共识,成为这一期的重点内容。第三期还将强调...
3. 做架构师:架构师需要具备业务能力,包括对项目的整体把握、对技术的理解和对业务的理解等方面的能力。 架构师的能力模型包括以下几个方面: 1. 个人特性:包括人际关系能力、业务能力和技术专业能力等方面的...
一个优秀的架构师不仅要精通技术,还需要具备良好的沟通能力、管理能力和对业务的深刻理解。 架构师的核心职责是全面理解业务需求,基于模型和基础模式进行抽象和简化。他们需要提出恰当且可行的整体解决方案,同时...
- **角色**:作为公司的“金领”,软件架构师不仅拥有较高的收入,还需要具备强大的技术能力和沟通能力,能够跨越不同层级进行有效沟通,并作出关键的技术决策。 #### 二、从开发者到架构师的成长路径 - **初期...
设计是架构的一部分,但架构师需要从更高的层面思考问题,把握整体系统架构的方向。 总的来说,架构师的成长之路并非一蹴而就,而是通过不断积累技术知识,提升个人特质,尤其是沟通、谈判和风险管理能力,以及深化...
全国计算机技术与软件专业技术资格(水平)考试是...最后,除了上述技术方面的知识点外,系统架构师还应当了解行业趋势、技术发展动态和市场环境,这样可以更好地帮助组织把握技术发展方向,对企业的长期战略做出贡献。
在架构设计领域,架构师的角色至关重要,他们需要对系统的整体结构进行规划,确保系统的可扩展性、可靠性、性能和安全性。本书将深入探讨以下几个关键知识点: 1. **架构设计原则**:书中会介绍一些基本的架构设计...
3. **系统分析与设计**:系统架构师需要具备强大的分析能力,能够理解业务需求并转化为技术解决方案。这可能涉及到业务流程分析、数据流图、实体关系图等工具和技术。 4. **项目管理与质量控制**:这部分可能包含...
架构师的自我修养需要具备深入的技术知识和丰富的工作经验,需要具备高级工程师之上的能力和知识,需要具备很好的综合素养,能够与相关干系人协作,达成项目目标。 架构师的自我修养需要具备技术开源化、产品敏捷化...
架构师是一个复杂的职位,需要掌握多种技术和技能。以下是通向架构师的道路的知识点总结: 一、架构师的基础知识 架构师需要具备一定的基础知识,包括但不限于: * J2EE 工程的通用架构 * 数据库管理系统(如 ...
10. **项目管理与沟通**:架构师需要具备良好的团队协作和沟通能力,了解项目管理方法如瀑布模型、敏捷开发等。 通过对历年高级系统架构师真题的深度学习,考生不仅可以熟悉考试形式和难度,更能提升自己在实际工作...
5. **性能优化**:架构师需要关注系统的性能指标,如响应时间、吞吐量、并发处理能力等,并能设计出能应对高并发、大数据量挑战的解决方案。 6. **安全性设计**:在信息化系统中,数据安全至关重要。考生需了解常见...
架构师需要根据系统的规模、复杂度、性能要求等因素,选择合适的架构模式和设计原则。例如,微服务架构可以提高系统的可扩展性和容错性,但实施起来需要考虑服务间的通信、数据一致性等问题。而面向对象设计则强调...
1. **系统设计原则**:包括可扩展性、灵活性、可维护性、可靠性、性能等设计原则,是架构师在构建系统时需要遵循的核心指导思想。 2. **架构模式与范式**:例如微服务架构、服务导向架构(SOA)、事件驱动架构(EDA...
一个优秀的架构师需要对业务需求有深刻理解,同时具备技术领导力,能够设计出既满足功能需求又具有良好扩展性和维护性的系统。本书将探讨以下几个关键知识点: 1. **架构设计原则**:书中会详细介绍如何根据业务...
随着云计算的普及,架构师需要掌握云服务提供商(如AWS、Azure、Google Cloud)的相关知识,理解IaaS、PaaS、SaaS的概念,以及如何利用容器技术(Docker、Kubernetes)进行部署和管理。分布式系统的设计和优化,包括...