论坛首页 招聘求职论坛

一个牛人出给软件工程师的面试题

浏览 34682 次
精华帖 (0) :: 良好帖 (2) :: 隐藏帖 (3)
作者 正文
   发表时间:2010-01-29  
感觉一般....对第二个问题还有些心得,简单说下:
1客户端:js的写法,数据排列,不同浏览器区别.
客户端指浏览器,使用HTML、CSS、JavaScript三种语言,因此必须要了解三种语言间的限制,同所有的BS程序一样,有相同的页面设计原则,简单举个例子点,至少比较固定的CSS和JavaScript要外部化,以减少请求数和下载时间。
对JavaScript编码。
2服务器:逻辑,计算,缓存,减少I/O,提高命中
已经说不必说搜素逻辑了,其实也不了解-_-!,对于并发较高的搜索,提高响应时间至关重要,因此需要对常用的关键字做页面的静态缓存
3传输:带宽,缓存,异步,进度条,并发,集群,数据压缩.
传输主要考虑集群,搜索都需要庞大的服务器集群支持,以提高并发量,响应时间,虽然说传输时数据量越小越好,但搜索结果一般是文字,数据量不大,这方面并不是瓶颈,如果有图片,图片需要分布存储。
我认为最主要的性能是人的体验,其它都是可以放到第二位去的.
话是这么说,可看看Google提倡的理念是简单,简单意味着高效,所以Google更注重效率。简单意思和简陋相差不远,事实上也是的,这需要一个平衡点,即不能太简单,还需要给用户新奇感,Google一般通过Logo做文章
0 请登录后投票
   发表时间:2010-01-29  
1. struts,spring,hibernate这样的开源框架,他们的历史局限性在哪里?在何种情况下会不适合用这些框架?

还真不知道如何回答,一看答案,讲得还是蛮有道理的。

其它的问题,就连答案看了都还不怎么没明白。。。

看来我真的不是一般的菜啊。。。
0 请登录后投票
   发表时间:2010-01-29   最后修改:2010-01-29
1. struts,spring,hibernate这样的开源框架,他们的历史局限性在哪里?在何种情况下会不适合用这些框架?

ssh框架的目的是节省开发成本,提高应用的可扩展性。但是由于框架的运行时速度相对缓慢,所以在需要提供高性能的、与体验无关的应用时建议直接使用Servlet/JSP作为基础架构。


2. 如果要设计一个搜索引擎,像google那样只有两个页面,要求性能最大化,web方面应该如何设计?(不需要考虑搜索的逻辑)

在WEB方面追求性能最大化就意味着用户从进入第一个页面到获得准确结果的时间最小化,所以:
a.采用至简的WEB设计,以及明示的功能引导。
b.一定要有诸如搜索下拉框提示等辅助工具
c.搜索结果格式鲜明、重点突出。


3. 如果要设计一个用于小型路由器中的web系统,应该如何来设计?

a.因需要强调高性能,故需要采取最原生态的WEB技术作为基础机构(观点类似于问题1)。
b.因需要强调实时性,故采用AJAX技术作为信息获取基础手段,以定时获取相应信息。
c.不要加入任何RIA特性。
d.页面中要以图表为主要展示手段。
e.其他一些常规注意事项在此略过。


4. 请评价下你所熟悉的web框架的可测试性如何,struts,springMVC,webwork或其他均可.在什么样的条件下才能对web系统引入自动化测试?请描述一套完备的面向web系统的自动化测试框架所应当具有的特性.

a.Struts2和SpringMVC的可测试性强于Strust1。Struts1非常难于测试。
b.自动化测试需要一套完备的解决方案支持,需要根据具体需要定制测试方案,系统代码需要预先做好单元测试和模块测试方面的准备,这样之后的集成测试以及自动化测试才有基础、有意义。
c.主要要从几个方面考虑:单元测试及集成测试的统一执行能力;系统用户输入模拟测试测试;并发访问测试能力;测试覆盖度检查能力;测试中断的问题跟踪能力;完备准确地报告生成能力等等。


5. 企业级应用有哪些特殊要求?在何种情况下我们不需要考虑这些要求?

需要关注
a.业务优先,做好系统分析,紧跟用户需求。
b.系统界面风格需要与企业文化相匹配。
c.系统各操作的示意和导向明确,要针对目标用户群进行必要调整。
d.要着眼于怎样能使系统真正帮助企业实现更多的价值。
e.根据需要做好外部交互和接口。
f.可移植的系统。(根据不同客户的已有资源进行环境搭建,如果整个系统只是针对个别用户定制则此条忽略)

可暂时忽略:
a.超高性能系统构建
b.玄酷的用户界面
c.集群和并行扩展能力(如确无需要)


6. 你们从前的研发流程是怎样的?如果由你来设计研发流程,是否能大幅提高生产力和开发质量?如果能,那体现在哪些方面?如果不能,瓶颈在哪里?

软件研发工作最重要的就是流程和规范的贯彻和执行。
具体流程略,研发流程是否高效往往取决于团队管理的合理性。
从团队管理方面建议从几方面考虑:
a.关注木桶原则,注重团队中每位成员,尤其是水平较低人员的培训和技能提高。
b.明确开发方式和流程,并严格贯彻执行。
c.制定开发中的各种规范,并根据规范严格要求每位成员,必要时进行培训。
d.建立良好的代码测试、审查和责任制度,严格绩效管理。

这方面的关键点和瓶颈均存在于贯彻执行上,如果执行不力则任何流程规范都会形同虚设。这就需要团队管理者拥有较强的执行力甚至是自我约束力。
0 请登录后投票
   发表时间:2010-01-29  
等 牛人给答案
0 请登录后投票
   发表时间:2010-01-29  
geweixin 写道
bluemeteor 写道
这也叫牛??楼主再哭几年吧

求答案?

同求那位兄台的答案
另外,其实这些题刚毕业的都能答个一点点,这并不难说明他牛,最主要的是在这些答案基础上往细了说,那才是真正的牛
0 请登录后投票
   发表时间:2010-01-29  
公司在招一个对口的人才,找的不是牛人!

我认为
0 请登录后投票
   发表时间:2010-01-29  
wb17534806 写道
公司在招一个对口的人才,找的不是牛人!

我认为



同意,而且考是解决问题的思路,而非实现细节.
0 请登录后投票
   发表时间:2010-01-29  
看了楼主的帖子,我觉得在web开发这一块我还有很长的路要走。
0 请登录后投票
   发表时间:2010-01-29  
web架构师
0 请登录后投票
   发表时间:2010-01-29  
考死了 呵呵 受不了
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics