前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 后台开发面试题分享九

Java 后台开发面试题分享九

作者头像
RendaZhang
发布2020-11-19 16:27:54
7340
发布2020-11-19 16:27:54
举报
文章被收录于专栏:Renda

null 和 undefined 的区别?

null 是一个表示"无"的对象,转为数值时为 0undefined 是一个表示"无"的原始值,转为数值时为 NaN。

当声明的变量还未被初始化时,变量的默认值为 undefinednull 用来表示尚未存在的对象。

undefined 表示"缺少值",就是此处应该有一个值,但是还没有定义,典型用法是:

1)变量被声明了,但没有赋值时,就等于 undefined

2)调用函数时,应该提供的参数没有提供,该参数等于 undefined

3)对象没有赋值的属性,该属性的值为 undefined

4)函数没有返回值时,默认返回 undefined

null 表示"没有对象",即该处不应该有值,典型用法是:

1) 作为函数的参数,表示该函数的参数不是对象。

2) 作为对象原型链的终点。


简单地举例说明什么是 MySQL 的脏读、不可重复读、幻读

  1. 脏读的情况:对于两个事务 T1 与 T2,T1 读取了已经被 T2 更新但是还没有提交的字段之后,若此时 T2 回滚,T1 读取的内容就是临时并且无效的。
  2. 不可重复读:对于两个事务 T1 和 T2,T1 读取了一个字段,然后 T2 更新了该字段并提交之后,T1 再次提取同一个字段,值便不相等了。
  3. 幻读:对于两个事务 T1、T2,T1 从表中读取数据,然后 T2 进行了 INSERT 操作并提交,当 T1 再次读取的时候,结果不一致的情况发生。

面向过程和面向对象的区别

首先,两者都是软件开发思想。先有面向过程,后有面向对象。在大型项目中,针对面向过程的缺点,推出了面向对象开发思想。

编程思路不同: 面向过程以实现功能的函数开发为主,而面向对象要首先抽象出类、属性及其方法,然后通过实例化类、执行方法来完成功能。

封装性:都具有封装性,但是面向过程是封装的是功能,而面向对象封装的是数据和功能。

面向对象具有继承性和多态性,而面向过程没有继承性和多态性,所以面向对象优势更加明显。


使用 javascript 判断一个字符串中出现次数最多的字符,并统计这个次数

代码语言:javascript
复制
var str = 'asdfssaaasasasasaa';
var json = {};
for (var i = ; i < str.length; i++) {
    if (!json[str.charAt(i)]) {
        json[str.charAt(i)] = ;
    } else {
        json[str.charAt(i)]++;
    }
};
var iMax = ;
var iIndex = '';
for (var i in json) {
    if (json[i] > iMax) {
        iMax = json[i];
        iIndex = i;
    }
}
alert('出现次数最多的是:' + iIndex + '出现' + iMax + '次');

在 JQuery 中,`.html()` 和 `.text()` 及 `.val()` 的区别

.html().text().val() 的差异总结:

  • .html().text().val() 三种方法都是用来读取选定元素的内容。
  • .html() 是用来读取元素的 html 内容(包括 html 标签)。
  • .text() 用来读取元素的纯文本内容,包括其后代元素。
  • .val() 是用来读取表单元素的 value 值。
  • .html().text() 方法不能使用在表单元素上,而 .val() 只能使用在表单元素上。
  • .html() 方法使用在元素集合上时,只读取第一个元素;.val() 方法和 .html() 相同,如果其应用在元素集合上时,只能读取第一个表单元素的 value 值,但是 .text() 不一样,如果 .text() 应用在多个元素上时,将会读取所有选中元素的文本内容。
  • .html(htmlString).text(textString).val(value) 三种方法都是用来替换选中元素的内容,如果三个方法同时运用在多个元素上时,那么将会替换所有选中元素的内容。
  • .html().text().val() 都可以使用回调函数的返回值来动态的改变多个元素的内容。

处理通过 jQuery 的 append 加入的元素的方法

通过 jQuery 的 append 新添加进网页的元素,使用 $(#id).click(function(){}) 是没有效果的;解决方法是用 on 函数:

代码语言:javascript
复制
$("tbody").on('click', "[name='submitbutton']", function(){
    ...
});

JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么?

JSP 是 Servlet 技术的扩展,本质上是 Servlet 的简易方式,更强调应用的外表表达。JSP 编译后是 "类 servlet"。Servlet 和 JSP 最主要的不同点在于,Servlet 的应用逻辑是在 Java 文件中,并且完全从表示层中的 HTML 里分离开来。而 JSP 的情况是 Java 和 HTML 可以组合成一个扩展名为 .jsp 的文件。JSP 侧重于视图,Servlet 主要用于控制逻辑。


在 Web 中,什么是 Cookie?Session 和 Cookie 有什么区别?

Cookie 是 Web 服务器发送给浏览器的一块信息。浏览器会在本地文件中给每一个 Web 服务器存储 cookie。以后浏览器在给特定的 Web 服务器发请求的时候,同时会发送所有为该服务器存储的 cookie。

  • 无论客户端浏览器做怎么样的设置,session 都应该能正常工作。客户端可以选择禁用 cookie,但是 session 仍然是能够工作的,因为客户端无法禁用服务端的 session。
  • 在存储的数据量方面 session 和 cookies 也是不一样的。Session 能够存储任意的 Java 对象,Cookie 只能存储 String 类型的对象。

简单说一下 MVC 设计模式?

MVC 是一种使用 MVC (Model View Controller) 设计创建 Web 应用程序的模式,Model (模型) 表示应用程序核心 (比如数据库记录列表)。View (视图) 显示数据 (数据库记录)。Controller (控制器) 处理输入 (写入数据库记录)。

  • Model (模型) 是应用程序中用于处理应用程序数据逻辑的部分;通常模型对象负责在数据库中存取数据。
  • View (视图) 是应用程序中处理数据显示的部分;通常视图是依据模型数据创建的。
  • Controller (控制器) 是应用程序中处理用户交互的部分;通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

MVC 分层有助于管理复杂的应用程序,同时也简化了分组开发;不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。


Web:描述 Cookie 和 Session 的作用,区别和各自的应用范围,Session 工作原理

1)Cookie 是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个 WEB 站点会话间持久的保持数据。

2)Session 其实指的就是访问者从到达某个特定主页到离开为止的那段时间。 Session 其实是利用 Cookie 进行信息处理的,当用户首先进行了请求后,服务端就在用户浏览器上创建了一个 Cookie,当这个 Session 结束时,其实就是意味着这个 Cookie 就过期了。

注:为这个用户创建的 Cookie 的名称是 aspsessionid;这个 Cookie 的唯一目的就是为每一个用户提供不同的身份认证。

3)Cookie 和 Session 的共同之处在于:cookie 和 session 都是用来跟踪浏览器用户身份的会话方式。

4)Cookie 和 Session 的最大区别是:cookie 数据保存在客户端,session 数据保存在服务器端。

5)Session 工作原理:session 技术中所有的数据都保存在服务器上,客户端每次请求服务器的时候会发送当前会话的 sessionId,服务器根据当前 sessionId 判断相应的用户数据标志,以确定用户是否登录或具有某种权限。

  • Cookie:生命周期一般关闭浏览器后失效,也可以自定义失效时长;存储在浏览器;可存储内容小,大概有 4 KB;只能存储字符串信息;不安全;可在浏览器禁用 cookie。
  • Session:生命周期默认 30 分钟,可自定义时长;存储在服务器;可存储内容大,可以存储任意类型;安全;数据保存在服务器端会占用服务器的内存空间,如果存储信息过多、用户量过大,会严重影响服务器的性能。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Renda 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • null 和 undefined 的区别?
  • 简单地举例说明什么是 MySQL 的脏读、不可重复读、幻读
  • 面向过程和面向对象的区别
  • 使用 javascript 判断一个字符串中出现次数最多的字符,并统计这个次数
  • 在 JQuery 中,`.html()` 和 `.text()` 及 `.val()` 的区别
  • 处理通过 jQuery 的 append 加入的元素的方法
  • JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么?
  • 在 Web 中,什么是 Cookie?Session 和 Cookie 有什么区别?
  • 简单说一下 MVC 设计模式?
  • Web:描述 Cookie 和 Session 的作用,区别和各自的应用范围,Session 工作原理
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档