2023春招:Javaweb面试锦囊

简介: 2023春招:Javaweb面试锦囊

cookie 和 session 的区别?(必会)

存储位置不同

cookie 存放在客户端电脑,是一个磁盘文件。Ie 浏览器是可以从文件夹中找到。session 是存放在服务器内存中的一个对象。 chrome 浏览器进行安全处理,只能通过浏览器找到。Session 是服务器端会话管理技术,并且 session 就是 cookie 实现的。

存储容量不同

单个cookie 保存的数据<=4KB,一个站点最多保存 20 个 Cookie。

对于session 来说并没有上限,但出于对服务器端的性能考虑,session 内不要存放过多的东 西,并且设置 session 删除机制。

存储方式不同

cookie 中只能保管 ASCII 字符串,并需要通过编码方式存储为 Unicode 字符或者二进制数据。

session 中能够存储任何类型的数据,包括且不限于 string,integer,list,map 等。

隐私策略不同

cookie 对客户端是可见的,别有用心的人可以分析存放在本地的 cookie 并进行 cookie 欺骗,所以它是不安全的。

session 存储在服务器上,不存在敏感信息泄漏的风险。

有效期上不同

开发可以通过设置cookie 的属性,达到使 cookie 长期有效的效果。

session 依赖于名为JSESSIONID 的cookie,而 cookie JSESSIONID 的过期时间默认为-1,只需关闭窗口该 session 就会失效,因而 session 不能达到长期有效的效果。

服务器压力不同

cookie 保管在客户端,不占用服务器资源。对于并发用户十分多的网站,cookie 是很好的选择。

session 是保管在服务器端的,每个用户都会产生一个 session。假如并发访问的用户十分多,会产生十分多的 session,耗费大量的内存。

HTTP 中重定向和请求转发的区别?

实现

转发:用request 的 getRequestDispatcher()方法得到 ReuqestDispatcher 对象,调用forward()方法

request.getRequestDispatcher("other.jsp").forward(request, response);

重定向:调用response 的 sendRedirect()方法response.sendRedirect("other.jsp");

重定向

2 次请求,请求转发 1 次请求

3> 重定向地址栏会变,请求转发地址栏不变

4> 重定向是浏览器跳转,请求转发是服务器跳转

5> 重定向可以跳转到任意网址,请求转发只能跳转当前项目

6>请求转发不会丢失请求数据,重定向会丢失

Get 和 Post 的区别?

Get 是不安全的,因为在传输过程,数据被放在请求的 URL 中;Post 的所有操作对用户来说都是不可见的。

Get 传送的数据量较小,一般传输数据大小不超过 2k-4k(根据浏览器不同,限制不一样, 但相差不大这主要是因为受 URL 长度限制;Post 传送的数据量较大,一般被默认为不受限制。

Get 限制 Form 表单的数据集的值必须为 ASCII 字符;而 Post 支持整个 ISO10646 字符集。

Get 执行效率却比 Post 方法好。Get 是 form 提交的默认方法。

面试题常问的Get与Post区别 - 一乐乐 - 博客园

什么是Token

Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。

Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

使用Token的目的:Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。

token一般都需要在后端服务保存一份,比如使用redis保存。如果不想保存,可以使用jwt方案。

如何解决跨域问题?

跨域指的是浏览器不能执行其它网站的脚本,它是由浏览器的同源策略造成的,是浏览器对JavaScript 施加的安全限制。

所谓同源指的是:协议、域名、端口号都相同,只要有一个不相同,那么都是非同源。

解决方案:

1:使用ajax的jsonp

2:nginx 转发:利用nginx反向代理,将请求分发到部署相应项目的tomcat服务器,当然也不存在跨域问题。

3:使用cors:写一个配置类实现WebMvcConfigurer接口或者配置FilterRegistrationBean 网关也可以配置跨域,如果网关配置了跨域,后边微服务一般不需要配置

http和https的区别?

相关文章
|
5月前
|
存储 关系型数据库 MySQL
备战春招系列】历年来关于MySQL高频面试真题的梳理
备战春招系列】历年来关于MySQL高频面试真题的梳理
115 2
|
21天前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
176 37
|
21天前
|
缓存 前端开发 Java
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
|
4月前
|
SQL 存储 前端开发
程序技术好文:面试知识点六:JavaWeb
程序技术好文:面试知识点六:JavaWeb
42 1
|
4月前
|
存储 缓存 监控
2024春招小红书前端面试题分享
2024春招小红书前端面试题分享
126 3
|
4月前
|
网络协议 算法 安全
小米安卓春招面试一面
小米安卓春招面试一面
41 3
|
5月前
|
定位技术 API
Angular 调用导入百度地图API接口,2024春招BAT面试真题详解
Angular 调用导入百度地图API接口,2024春招BAT面试真题详解
|
5月前
|
存储 缓存 监控
2024年春招小红书前端实习面试题分享
春招已经拉开帷幕啦! 春招的拉开,意味着新一轮的求职大战已经打响,希望每位求职者都能充分准备,以最佳的状态迎接挑战,找到心仪的工作,开启职业生涯的新篇章。祝愿每位求职者都能收获满满,前程似锦!
126 3
|
5月前
|
消息中间件 NoSQL Java
春招开始,面试也多起来了
春招开始,面试也多起来了
70 0
春招开始,面试也多起来了
|
5月前
|
算法 Java 程序员
阿里P8大佬终于把春招面试必备的神级Java面试手册给开源了!
先说说Java Java 作为国人编程开发语言中的 NO.1,已经占比半壁江山,选择入行做 IT 做编程开发的人,基本都把它作为首选语言,进大厂拿高薪也是大多数小伙伴们的梦想。 以前Java 岗位人才的空缺,而需求量又大,所以这种人才供不应求的现状,就是 Java 工程师的薪资待遇相对优厚的原因所在。 但是随着这个从事行业的人数逐渐增多,行业竞争也越来越大,招聘的企业和程序员们都想招聘到自己需要的人才/找到自己理想的岗位,国内大厂尤其是阿里招聘Java岗位居多,导致现在 Java 面试越来越难,内卷早就是大势所趋,万物皆可卷,卷的我们都见怪不怪了。 那么,阿里Java面试难度大吗?
下一篇
无影云桌面