架构师面试题1

1、牛人出的面试题以下: 
1. struts,spring,hibernate这样的开源框架,他们的历史局限性在哪里?在何种状况下会不适合用这些框架? 
2. 若是要设计一个搜索引擎,像google那样只有两个页面,要求性能最大化,web方面应该如何设计?(不须要考虑搜索的逻辑) 
3. 若是要设计一个用于小型路由器中的web系统,应该如何来设计? 
4. 请评价下你所熟悉的web框架的可测试性如何,struts,springMVC,webwork或其余都可.在什么样的条件下才能对web系统引入自动化测试?请描述一套完备的面向web系统的自动化测试框架所应当具备的特性. 
5. 企业级应用有哪些特殊要求?在何种状况下咱们不须要考虑这些要求? 
6. 大家从前的研发流程是怎样的?若是由你来设计研发流程,是否能大幅提升生产力和开发质量?若是能,那体如今哪些方面?若是不能,瓶颈在哪里? 
2、如下好像是另外一个牛人跟帖给的一个本身的答案,内容以下: 
1. struts,spring,hibernate这样的开源框架,他们的历史局限性在哪里?在何种状况下会不适合用这些框架? 
struts是以请求回答方式为基础的.ajax,flash等富客户端愈来愈多了..... 
spring是因为java的静态类型限制,等java能够支持动态方法添加以后..... 
hibernate是因为数据库都是关系型的,等数据库面向了对象以后..... 
综上所述...ssh蹦达不了几天了. 
2. 若是要设计一个搜索引擎,像google那样只有两个页面,要求性能最大化,web方面应该如何设计?(不须要考虑搜索的逻辑) 
性能: 
1客户端:js的写法,数据排列,不一样浏览器区别. 
2服务器:逻辑,计算,缓存,减小I/O,提升命中 
3传输:带宽,缓存,异步,进度条,并发,集群,数据压缩. 
我认为最主要的性能是人的体验,其它都是能够放到第二位去的. 
3. 若是要设计一个用于小型路由器中的web系统,应该如何来设计? 
使用不须要并发多线程的简单文件服务器提交后直接改文件. 
不使用常规异常捕获方式 
(因为选择性少因此根本不使用异常,只提供软硬的复位) 
4. 请评价下你所熟悉的web框架的可测试性如何,struts,springMVC,webwork或其余都可.在什么样的条件下才能对web系统引入自动化测试?请描述一套完备的面向web系统的自动化测试框架所应当具备的特性. 
因为容器的限制因此:web,spring,hibernate都不是很好测试. 
因为大多数web是以人的体验为主的.主观概念变成代码代价太高 
因为页面生成工具没有足够的测试支持.因此写出的代码很是难以程序化自动化 
现有的seleniumIDE还不是很稳定 
若是把html,js,css分开,页面内容以json或xml来传输,页面的逻辑由js二次绚染成型那么测试成本会降低不少..... 
(开发成本提升2到5倍) 
5. 企业级应用有哪些特殊要求?在何种状况下咱们不须要考虑这些要求? 
,性能,扩展性,7*24小时, 
性能问题在出现性能问题以前不考虑 
扩展性问题在签订长期维护,二期开发合同以前不考虑 
7*24工做系统通常不考虑...开发中自己就是 
6. 大家从前的研发流程是怎样的?若是由你来设计研发流程,是否能大幅提升生产力和开发质量?若是能,那体如今哪些方面?若是不能,瓶颈在哪里? 
......................我设计的......... 
瓶颈很大一部分是因为没有勇气 去尝试新的实践.