一个牛人出给软件工程师面试题
作者:网络转载 发布时间:[ 2013/7/19 14:16:33 ] 推荐标签:面试
一、牛人出的面试题如下:
1. struts,spring,hibernate这样的开源框架,他们的历史局限性在哪里?在何种情况下会不适合用这些框架?
2. 如果要设计一个搜索引擎,像google那样只有两个页面,要求性能大化,web方面应该如何设计?(不需要考虑搜索的逻辑)
3. 如果要设计一个用于小型路由器中的web系统,应该如何来设计?
4. 请评价下你所熟悉的web框架的可测试性如何,struts,springMVC,webwork或其他均可.在什么样的条件下才能对web系统引入自动化测试?请描述一套完备的面向web系统的自动化测试框架所应当具有的特性.
5. 企业级应用有哪些特殊要求?在何种情况下我们不需要考虑这些要求?
6. 你们从前的研发流程是怎样的?如果由你来设计研发流程,是否能大幅提高生产力和开发质量?如果能,那体现在哪些方面?如果不能,瓶颈在哪里?
二、以下好像是另一个牛人跟帖给的一个自己的答案,内容如下:
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. 你们从前的研发流程是怎样的?如果由你来设计研发流程,是否能大幅提高生产力和开发质量?如果能,那体现在哪些方面?如果不能,瓶颈在哪里?
瓶颈很大一部分是由于没有勇气 去尝试新的实践
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11