今天又是一年的高考时节,今天看到一句话说的有多道理:也许很多人的失意都是从高考失败的时候开始,但是大多数人的功名成就都与高考没有关系。
自己失意过好多次,最近的一次失意是上周五去一个朋友面试的公司,2点开始,那面试官问了1个半小时就差不多结束,然后叫我回去,说稍后人事会给你通知的。那个时候我就感觉估计没戏了,回到住的地方,在qq上面问那个朋友,说我面试情况什么样,怎么一点消息都没有。晚上朋友告诉了我结果:说hr给他的回复是有知识广度,但是没有什么深度,什么都会一点,但是不精通。
我想我知道自己的缺陷在哪里了,对于细节的不深入就是这次面试最大的失败。以下是关于几个面试点答得不太满意的地方:
1.Ajax的缺点是什么?
优点:
1、最大的一点是页面无刷新,在页面内与服务器通信,给用户的体验非常好。
2、使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。
3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
缺点:
1、ajax干掉了back按钮,即对浏览器后退机制的破坏。后退按钮是一个标准的web站点的重要功能,但是它没法和js进行很好的合作。这是ajax所带来的一个比较严重的问题,因为用户往往是希望能够通过后退来取消前一次操作的。那么对于这个问题有没有办法?答案是肯定的,用过Gmail的知道,Gmail下面采用的ajax技术解决了这个问题,在Gmail下面是可以后退的,但是,它也并不能改变ajax的机制,它只是采用的一个比较笨但是有效的办法,即用户单击后退按钮访问历史记录时,通过创建或使用一个隐藏的IFRAME来重现页面上的变更。(例如,当用户在Google Maps中单击后退时,它在一个隐藏的IFRAME中进行搜索,然后将搜索结果反映到Ajax元素上,以便将应用程序状态恢复到当时的状态。)但是,虽然说这个问题是可以解决的,但是它所带来的开发成本是非常高的,和ajax框架所要求的快速开发是相背离的。这是ajax所带来的一个非常严重的问题。
2、安全问题技术同时也对IT企业带来了新的安全威胁,ajax技术就如同对企业数据建立了一个直接通道。这使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑。ajax的逻辑可以对客户端的安全扫描技术隐藏起来,允许黑客从远端服务器上建立新的攻击。还有ajax也难以避免一些已知的安全弱点,诸如跨站点脚步攻击、SQL注入攻击和基于credentials的安全漏洞等。
3、对搜索引擎的支持比较弱。
4、破坏了程序的异常机制。至少从目前看来,像ajax.dll,ajaxpro.dll这些ajax框架是会破坏程序的异常机制的。
5、另外,像其他方面的一些问题,比如说违背了url和资源定位的初衷。例如,有一个url地址,如果采用了ajax技术,也许在该url地址下面看到的和别人在这个url地址下看到的内容是不同的。这个和资源定位的初衷是相背离的。
6、一些手持设备(如手机、PDA等)现在还不能很好的支持ajax,如手机的浏览器上打开采用ajax技术的网站时,它目前是不支持的。
2.用过哪些设计模式,什么情况下使用工程模式?
工程模式一般在数据库连接时候,会使用工程模式创建connectFactory,然后Spring也是一个大的工厂模式,各种Bean的创建都是在工厂下面完成,并且默认都是静态的。
工厂模式的设计图如上。
还是使用过妆饰者模式,曾经有个项目需