文章目录

  • 一、网络通讯部分
  • 二、cookie和session的区别?(必会)
  • 三。JSP和Servlet
  • 四:Filter-->javaWeb过滤器
  • **五:Ajax的介绍(了解)**
  • 总结

切记面试题只是用来更加客观地回答问题。而技术才是我们立足之根本


一、网络通讯部分

1:TCP与UDP区别(必会)

  TCP(Transmission Control Protocol 传输协议)是一种面向连接(连接导向)的、可靠的、基于IP的传输层协议。
  UDP是USER Datagram Protocol的简称,中文名是用户数据报协议,是OSI参考模型中的传输层协议,他是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
  TCP和UDP都是来自传输层的协议。传输层位于应用层和网络层之间,负责位于不同主机中进程之间的通信。
    TCP 与 UDP 区别

1:TCP基于连接UDP无连接
2:TCP要求系统资源较多,UDP较少
3:TCP保证数据正确性,UDP可能丢包
4:TCP保证数据顺序,UDP不保证
1.2什么是HTTP协议(必会)
客户端和服务器之间数据传输的格式规范,格式简称为“超文本传输协议”。
是一个基于请求与响应模式的、无状态的、应用层的协议,基于TCP的连接方式
1.3 TCP的三次握手(必会)
为了准确无误的吧数据送达目标处,TCP协议采用了三次握手策略。

 &emsp: 为什么要三次握手?
三次握手的目的是建立可靠的通信最主要的就是
双方确认自己与对方的发送与接收是正常的。
SYN:同步序列编号(Synchronize Sequense Numbers)。是TCP/IP建立连接时使用的握手信号。
第一次握手:客户端给服务器发送一个SYN。客户端发送网络报,服务端收到了。服务器得出结论:客户端的发送能力,服务器的接收能力正常。
第二次握手:服务器收到SYN报文以后,会应答一个SYN+ACK报文,服务器发包,客户端收到了,客户端得出结论:服务端的接收和发送能力,客户端的接收和发送能力正常,但是此刻服务端不能确认客户端的接收能力是否正常。
第三次握手:客户端收到SYN+ACK报文之后,回应一个ACK报文,客户端发包,服务端收到了。服务器得出结论:客户端的接收和发送能力,自己的接收发送能力都正常。
通过三次握手,双方都确认自己的接收以及发送能力正常。
1.4:HTTP中重定向和请求转发的区别?(必会)
实现:
转发:使用request的getRuquestDisoatcher()方法得到RequestDispatcher对象,调用forward()方法——》request.getRequestDispatcher(“Object.jsp”).forwarld(request,rsponse);
重定向:调用response的sendRedirect(“Object.jsp”);
1>重定向2次请求,请求转发一次请求
2>重定向地址栏会变,请求转发地址栏不变
3>重定向是浏览器跳转,请求转发是服务器跳转
4>重定向可以跳转到任意网址,请求转发只能跳转当前项目
1.4:Get和Post的区别(必会)
1>:Get是不安全的,因为在传输过程,数据被放在请求的URL 中;Post的所有操作对用户来说都是不可见的。
2>:Get传送的数据量较小,一般传输数据大小不超过2k-4k(根据浏览器不同,限制不一样),但相差不大这主要是因为受URL长度限制;Post传送的数据量较大,一般被默认不受限制。
3>:Get限制From表单的数据集的值必须是ASCII字符;而Post支持整个IS010646字符集。
4>:Get执行效率却比Post方法好。Get是form提交的默认方法。

二、cookie和session的区别?(必会)

   1:存储位置不同
Cookie的数据信息存放在客户端浏览器上。
session的数据信息存放在服务器上。
   2:存储容量不同
单个cookie保存的数据<=4kb,一个站点最多20个Cookie
对于session来说并没有上限,但出于对服务器的性能考虑,seesion内不要存放过多的东西,并且设置上seesion删除机制。
   3:存储方式不同
cookie中只能保管ASCII字符串,并需要通过编码方式存储为Unicode字符串或者二进制数据。
session中能够存储任何类型的数据,包括且不限于String 、Integer、List、Map等
   4:隐私策略不同
cookie对客户端是可见的,别有用心的人可以分析存放在本地的cookie并进行cookie欺骗,所以他是不安全的。
seesion存储在服务器上,不存在敏感信息泄露的风险。
   5:有效期不同
开发可以通过设置cookie的属性,达到使cookie长期有效的效果。
session依赖于名为JSESSIONID的cookie,而cookieJSESSIONID的过期时间默认为-1,只需关闭该窗口session就会失效,因而session不能达到长期有效的效果。
   6:服务器压力不同
cookie保管在客户端,不占用服务器资源。对于并发用户十分多的网站,cookie是很好的选择。
session是保管在服务器端的,每个用户都会产生一个session。假如并发访问的用户十分多,会产生十分多的session,耗费大量的内存。

三。JSP和Servlet

1:Jsp和Servlet的区别?(了解)
相同点:
   jsp经编译后就变成了servlet,jsp本质就是servlet,jvm只能识别java类,不能识别jsp代码,web容器将jsp的代码编译成jvm能够识别的java类。其实就是当你通过http请求一个jsp页面时,首先Tomcat会调用service()方法将jsp编译成为servlet,然后执行Servlet。
不同点:
jsp侧重视图,Servlet主要用于控制逻辑。
Servlet中没有内置对象。
JSP中的内置对象都是必须通过HttpServletRequest对象,以及HttpServlet对象得到。
2:Servlet的生命周期(必会)
   1:创建Servlet实例:
   2:当servlet实例化后,调用这个方法进行初始化: public void init(ServletConfig servletConfig);
   3:用户访问servlet时,调用此方法。,并返回处理结果,在调用service之前,需保证init初始化已被成功执行 public void Service(ServletRequest servletRequest, ServletResponse servletResponse);
   4:servlet对象销毁时,调用此方法public void destroy();并释放资源。
3:JSP的九大内置对象必会)
      out对象:用于向客户端、浏览器输出数据。
      request对象:封装了来自客户端、浏览器的各种信息。
      response对象:封装了服务器的响应信息。
      exception对象:封装了jsp程序执行过程中发生的异常和错误信息。
      config对象:封装了应用程序的配置信息。
      page对象:指向了当前jsp程序本身。
     session对象:用来保存会话信息,也就是说,可以实现在同一用户的不同请求之间共享数据
     application对象:代表了当前应用程序的上下文。可以在不同的用户之间共享信息。
     pageContext对象:提供了对jsp页面所有对象以及命名空间的访问。

四:Filter–>javaWeb过滤器

4.1:工作原理

这里呢做了一个比较简单的图哈,举个例子:“过年了,妈妈给我准备了一堆礼品让我带去外婆家。但是通过外婆是住在一座大山里的,要去外婆家就必须通过一段弯弯曲曲的山路,而我去的时候就正好碰到了土匪,这个土匪就和我要钱,那我只能乖乖的给了他。他就放行了。我在外婆家玩了几天以后,外婆给我带了当地的特产,让我带回家。同样在相同的地方又碰到土匪。又和我要钱,这个时候可能我已经没钱了。但是外婆给我准备的土特产只能给了土匪。土匪就又对我放行了。大家注意啊,这个土匪特别的霸道,他不仅拦你一次、还拦你俩次。那么在这个时候,这个土匪就相当于是一个过滤器,这个时候的我家就相当于一个浏览器。外婆居住的大山就是客户端,而外婆家就是资源一,邻居可能是资源二、资源三。

web中的过滤器(了解):当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。
过滤器的作用?(了解):一般有用于完成通用的作用:比如说登陆验证、统一编码完成、敏感字符的过滤。
过滤器的生命周期方法?(必会)
1>:init:在服务器启动后,会创建Filter对象,然后调用init方法。只执行一次,用于加载资源
2>:doFilter:每一次请求被拦截资源时,会执行。执行多次。
3>:destroy:在服务器关闭后,filter对象被销毁。如果服务器是正常关闭,则会执行destroy方法,只执行一次。用于释放资源。
过滤器配置(必会)
1:拦截路径配置:
1.1:具体资源路径:Xxxxx.jsp 只有访问Xxxxx,jsp时,过滤器才会执行
1.2:拦截目录:/xxx/* 访问/xxx下的所有资源时,过滤器才会执行。
1.3:后缀名拦截:.jsp 访问所有后缀名为.jsp资源时。过滤器都会执行
1.4:拦截所有资源 /
访问所有资源时。过滤器都会执行。
2:拦截方式配置:资源被访问的方式:(必会)

结合刚刚说的土匪案例,来理解访问方式。我们可以直接到外婆家,但是到了外婆家以后是不是也可以通过转发到达旁边的舅舅家、姨姨家。所有这就是资源的被访问方式

设置dispatcherTypes属性
2.1:REQUEST:默认值。浏览器直接请求资源
2.2:FORWARD:转发访问资源
2.3:INCLUDE:包含访问资源
2.4:ERROR:错误跳转资源
2.5:ASYNC:异步反问资源

五:Ajax的介绍(了解)

  Ajax 即"Asynchronous JavaScript And XML"(异步 JavaScript 和 XML),是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。
**********************************************************Q

$.ajax({
选项
})
常见的选项有:
type:请求方式,常见的值有"get",“post"等,默认值:get
url:请求的路径,”/ajax/hello"
data:请求的参数,参数的常见写法有 键值对或者json
方式1: name=tom&pwd=123
方式2: {“name”:“tom”,“pwd”:“123”}
success:请求成功后的回调函数 function(返回值的参数名){}
contentType:用来设置请求参数的mime类型,默认值:表单的enctype默认值 name=tom&pwd=123
error:ajax请求时内部发生错误时执行的回调函数 function(){}
dataType:指定返回值的类型 常见值:text json
async:是否异步 默认值true >

Ajax应用程序的优势在于:

  1. 通过异步模式,提升了用户体验
  2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用
  3. Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。

总结

下一章数据库。内容会较多。准备好小本子吧!

2020年javaWeb面试题(初)相关推荐

  1. 字节跳动-2020秋招-笔试题剖析【5道算法题】

    字节跳动-2020秋招-笔试题剖析[5道算法题],限时120分钟. 让我们一起来看看这些题吧! 题一:模型文件去重 [题目描述] 抖音上不同的用户类型我们有不同的用户模型文件. 我们有一个模型配置文件 ...

  2. 2020前端最新面试题(vue篇)

    2020前端最新面试题(vue篇) 由于疫情原因,原本每年的"金三银四"仿佛消失,随之而来的是找工作的压力,这里给要面试的小伙伴们总结了到目前为止我遇到的前端面试题,仅供参考哦,第 ...

  3. 头条2020届实习生笔试题

    头条2020届实习生笔试题 一卷 编程题: 输入某年某月某日,判断这一天是这一年的第几天? // 判断是否为闰年function isRun(a) {return a % 4 == 0 &&a ...

  4. 盘点2020年北京市小升初考试关于信息学竞赛的那些事儿!

    今天,小编为大家整理了2020年北京海淀区.西城区.东城区.朝阳区小升初入学途径,供2021年小升初的家长们参考,你会发现,进入牛校的孩子都是有原因的,除了孩子们的辛勤努力,更少不了家长的提前规划- ...

  5. 2020前端最新面试题总结(js、html、小程序、React、ES6、Vue、算法、全栈热门视频资源)(3年前端菜鸟级开发师含泪总结)

    2020前端最新面试题总结(js.html.小程序.React.ES6.Vue.算法.全栈热门视频资源) 文档描述 (今年确实挺难 3年前端菜鸟级开发师含泪总结 希望能帮助大家) 本文是关注微信小程序 ...

  6. 一年中的第几天 哔哩哔哩2020校园招聘笔试题讲解

    一年中的第几天 一.题目信息 二.解题思路 三.代码实现 四.其他题目分享 一.题目信息 题目要求输入一个字符串,表示年月日,需要你输出改天是这一年的第几天.输入输入自己解决. 二.解题思路 假设我们 ...

  7. k个一组翻转链表 哔哩哔哩2020校园招聘笔试题/LeetCode_25(困难)讲解

    目录标题 一.题目信息 二.解题思路 三.代码实现 四.其他精选题目分享 一.题目信息 LeetCode版本 牛客网版本 下面我以牛客网为例写代码 题目需要先输入一组数字代表链表的值,以#代表结尾. ...

  8. 拼多多2020届数据分析面试题合集

    关注上方"AI派",选择星标, 关键时间,第一时间送达! 来源整理自公众号:胖里的日常 第一家公司的2020届数据分析面试题整理就从拼多多开始吧~ 招聘总共分为学霸批.寻梦批.正式 ...

  9. 历年茅台计算机招聘考试真题,2020贵州茅台招聘考试试题及答案(7)

    2020年贵州茅台招聘开始了,此次贵州茅台招聘笔试考试内容参照行政能力测试考试大纲试题.所以,中公国企小编给各位备考贵州茅台的同学准备了2020贵州茅台招聘考试试题以及答案解析.试题如下: 1. 鉴于 ...

  10. 小红书2020校招数据分析笔试题卷四 解析

    小红书2020校招数据分析笔试题卷四 解析 单选题 多选题 填空题 简答题 题目来自小红书2020校招数据分析笔试题卷四 单选题 如果在小红书商城中某一商户给一产品定价,如果按照全网最低价500元定价 ...

最新文章

  1. javascript tab切换类LixTabs最新版
  2. chrome浏览器模拟手机 地理定位
  3. 算法之如何进行算法复杂度分析
  4. WPF MVVM 弹框之等待框
  5. 如何利用python整合excel_使用 Python 合并多个格式一致的 Excel 文件(推荐)
  6. “ ModuleNotFoundError: No module named ‘tkinter‘ “的解决方法
  7. 数据库索引及基础优化入门
  8. java打印list_java打印list中的元素
  9. 四大抓包神器,非常好用
  10. CentOS 7 iSCSI 多路径(Multipath)配置
  11. 手机遥控器在微信端的处理
  12. springboot 的异步任务 :无返回值 和有返回值
  13. 基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(二)
  14. asp.net core webAPI学习笔记(三)资源请求
  15. Echarts的折线图堆叠示例,去掉线上小圆圈;多条折现可重叠。
  16. WPF Thumb、控件、窗体、内容、Shape拖动
  17. 【知识】PLL的spread spectrum功能
  18. PythonStudy4
  19. 经典题:罗马数字和阿拉伯数字的相互转换
  20. 会议与会议室的安排问题

热门文章

  1. C语言中的运算符大全(内附优先级表)
  2. 三国战纪2 ,西游2的FBA 移植攻略!
  3. 【50 笔试真题 C++】堆棋子
  4. RadiAnt DICOM Viewer 2021 绿色版
  5. oracle dbv验证,关于dbv检测的结果,有些不懂,请各位指点
  6. 2008-2019年高等学校科技统计资料汇编
  7. xshell6和xftp6的安装
  8. 呼叫中心系统功能其优势
  9. 【Neo4j】第 1 章:图数据库
  10. 华为认证的考试费用和重认证