12月30号面试题整理

1.jQuery 的概念

jQuery是一个快速、小巧且功能丰富的JavaScript库。它使HTML文档遍历和操作、事件处理、动画和Ajax等操作变得更加简单,并具有易于使用的API,可以在多种浏览器中工作。并且具有多功能性和可扩展性。

2.jQuery 和js的对比

  1. jquery的浏览器兼容性好于js
  2. jquery灵活性好于js
  3. jquery比js简单方便

3.jQuery的执行时机

在这里插入图片描述

4.Ajax概念以及优缺点

  1. AJAX即Asynchronous Javascript And XML(异步JavaScript和XML),是改善用户体验的网页开发技术。因为它可以只刷新一个页面的局部地方。
  2. 优点:
    异步请求,发送请求的同时还可以继续操作页面。页面不销毁;
    返回部分数据,减少不必要的数据承传输,减少网络资源。页面不刷新,而是更新页面部分数据。
  3. AJAX的缺点
    <1>.AJAX干掉了Back和History功能,即对浏览器机制的破坏。
    <2>.AJAX的安全问题。
    <3>.对搜索引擎支持较弱。
    对搜索引擎的支持比较弱。如果使用不当,AJAX会增大网络数据的流量,从而降低整个系统的性能。
    <4>.破坏程序的异常处理机制。
  4. 总结:
    ajax出现的缘由:更好的提升用户的体验,以及提升服务器的效率,减少网络中不必要的数据的传送。

5.Servlet是线程安全的吗? 如何使Servlet线程安全

Servlet 默认是单例模式,在web 容器中只创建一个实例,所以多个线程同时访问Servlet的时候,Servlet是线程不安全的。

1、实现 SingleThreadModel 接口
  该接口指定了系统如何处理对同一个Servlet的调用。如果一个Servlet被这个接口指定,那么在这个Servlet中的service方法将不会有两个线程被同时执行,当然也就不存在线程安全的问题。
  2、同步对共享数据的操作
  使用synchronized 关键字能保证一次只有一个线程可以访问被保护的区段,不过Servlet可以通过同步块操作来保证线程的安全。
  3、避免使用实例变量
  本实例中的线程安全问题是由实例变量造成的,只要在Servlet里面的任何方法里面都不使用实例变量,那么该Servlet就是线程安全的。

6.简述同步和异步的区别?

  1. 同步是阻塞模式,
    异步是非阻塞模式。
  2. 同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去;
    异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。

7.AJAX的优缺点及工作原理?

定义和用法:
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。

  1. 优点:
  • 减轻服务器的负担,按需取数据,最大程度的减少冗余请求
  • 局部刷新页面,减少用户心理和实际的等待时间,带来更好的用户体验
  • 基于xml标准化,并被广泛支持,不需安装插件等,进一步促进页面和数据的分离
  1. 缺点:
  • AJAX大量的使用了JavaScript和AJAX引擎,这些取决于浏览器的支持.在编写的时候考虑对浏览器的兼容性.
  • AJAX只是局部刷新,所以页面的后退按钮是没有用的.
  • 对流媒体还有移动设备的支持不是太好等
  1. AJAX的工作原理:
  • 创建AJAX对象(XMLHttpRequest/ActiveXObject(Microsoft.XMLHttp))
  • 判断数据传输方式(GET/POST)
  • 打开链接 open()
  • 发送 send()
  • 当AJAX对象完成第四步(onreadystatechange)数据接收完成,判断http响应状态(status)200-300之间或者304(缓存)执行回调函数。

8.浏览器是如何渲染页面的?

渲染的流程如下:

  1. 解析HTML文件
    创建DOM树。自上而下,遇到任何样式(link、style)与脚本(script)都会阻塞(外部样式不阻塞后续外部脚本的加载)。
  2. 解析CSS。
    优先级:浏览器默认设置<用户设置<外部样式<内联样式<HTML中的style样式;
  3. 将CSS与DOM合并,构建渲染树(Render Tree)
  4. 布局和绘制,重绘(repaint)和重排(reflow)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值