模拟面试题回顾

模拟面试题回顾

1.servlet里面有哪些关键的方法?

讲到它的方法,就不可避免地去了解servlet的运行过程(也可以说是生命周期),如下图所示:

在这里插入图片描述

它的四个过程

​ (1).当客户端第一次发送请求后,由容器(Web服务器Tomcat)解析请求,并根据请求找到对应的servlet,判断该类的对象是否存在,不存在则创建servlet实例;

​ (2).调取init()方法 进行初始化操作;

​ (3).初始化完成后调取service()方法,由service()判断客户端的请求方式,如果是get,则执行doGet(),如果是post则执行doPost().处理方法完成后,作出相应结果给客户端.单次请求处理完毕;

​ (4).服务终止或继续。

  • 如只发送单次请求,就会终止服务,调取destory()方法进行销毁。
  • 如再次发送请求,仍然会判断该类对象是否存在,就不再执行init()方法(初始化)了,就直接调service方法或者doGet()、doPost()方法。

2.mvc模式在处理业务逻辑时应该放到哪一层?

这就得涉及到mvc这个设计模式(它不属于java里的23种设计模式),以及与三层架构的关系。

  • 首先是MVC:

在这里插入图片描述

能够看出来它和页面关联性比较强。

  • 涉及到了业务逻辑,就再进一步看看它与三层架构之间的关系:

在这里插入图片描述

MVC主要应用于表现层(UI),对于表现层,有实体、控制器、视图三个部分去实现,控制器完成页面逻辑,控制层和逻辑业务层(Bill)相关联,实体来关联具体数据。所以说MVC可以一个是表现层框架。

3.integer a =127 , 再new 一个 integer ,用“==”相关联会输出什么呢?

输出的是true,
原因:

  • 对于整型变量,jvm在[-128,127]
    是使用同一个地址(也就是说自动装箱时不会new新的Integer对象),超出了这个范围就使用不同的地址了。而127刚好在这个范围内,是同一个地址,同一个对象,所以输出是true的。
  • 也就是说,这些范围内的相同值对应同一个对象 ,所以引用符号也是一样的

4.逻辑与(&&)和逻辑或(||)的短路?

短路运算符就是从左到右的运算中前者满足要求,就不再执行后者了; 可以理解为:

  • &&为取假运算,从左到右依次判断,如果遇到一个假值(也可以说是不成立),就返回假值,以后不再执行,否则返回最后一个真值;

  • || 为取真运算,从左到右依次判断,如果遇到一个真值,就返回真值,以后不再执行,否则返回最后一个假值。

5.string 为什么会被设置成不可变的对象 ?

首先是String的源码:

public final class String implements Serializable, Comparable<String>, CharSequence {/** The value is used for character storage. */
private final char[] value;/** Cache the hash code for the string */
private int hash;// Default to 0

可以看出这是一个由final限制的char数组。

然后原因:

  • 便于实现字符串池;(String常量在java中用的很多,不可变时就可以实现由String pool池去引用已存在的字符串,就可以极大地避免空间浪费)
  • 使多线程安全;(不可变可以保证在多线程下不能被写,这样就保证线程安全)
  • 避免安全问题;(网络连接地址,文件路径,反射机制都和String参数离不开,一旦可变,其网络连接会极大地受到影响)
  • 加快字符串处理速度。
    详细请见该文

6.有序的集合有哪些?

List、LinkedHashMap、LinkedHashSet、TreeMap、TreeSet是有序的,
List、LinkedHashMap、LinkedHashSet、LinkedHashSet在遍历时会保持添加的顺序,
TreeMap、TreeSet在遍历时会以自然顺序(Comparable接口的compareTo)输出

7.一个线程调用start方法和run方法有什么区别?

调用线程的 start() 方法后,线程处于可运行状态,此时它可以由 JVM 调度并执行,这并不意味着线程就会立即运行
run() 方法是线程运行时由 JVM 回调的方法,无需手动写代码调用
直接调用线程的 run() 方法,相当于在调用线程里继续调用方法,并未启动一个新的线程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/350951.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

java-模拟面试

讲一下快速排序算法 通过一次排序将数列分为两部分&#xff0c;一部分比另一部分数字都小 时间复杂度O(nlogn) 空间复杂度O(1) 先确定一个中间比较值&#xff0c;确定一个左指针&#xff08;从头开始&#xff09;&#xff0c;右指针&#xff08;从尾部开始&#xff09; while循…

如何模拟面试?

我是艾木&#xff1a; 1.从学生到职场 当初毕业找工资的场景&#xff0c;至今还记忆犹新。 当时的自己还是学生的身份&#xff0c;正处于找工作的浪潮中&#xff0c;当时的校园招聘如火如荼&#xff0c;工作岗位也琳琅满目。一时间仿佛置身于百货商场之中&#xff0c;每个人都在…

微信小程序 | 基于ChatGPT实现模拟面试小程序

Pre:效果预览 ① 选择职位进行面试 ② 根据岗位职责进行回答 一、需求背景 这两年IT互联网行业进入寒冬期,降本增效、互联网毕业、暂停校招岗位的招聘,各类裁员、缩招的情况层出不穷!对于这个市场来说,在经历了互联网资本的疯狂时代,现在各大需要的时候更多能实实在在挣…

ChatGPT专业应用:模拟求职面试

正文共 663 字&#xff0c;阅读大约需要 3分钟 应届毕业生求职面试必备&#xff0c;您将在3分钟后获得以下超能力&#xff1a; 1.专属面试导师 2.掌握高频面试题回答要点 Beezy评级&#xff1a;B级 *经过简单的寻找&#xff0c; 大部分人能立刻掌握。主要节省时间。 推荐人 …

Python入门教程+项目实战-13.2节-集合的操作方法

目录 13.2.1 集合的常用操作方法 13.2.2 集合的查找 13.2.3 集合的添加 13.2.4 集合的删除 13.2.4 集合运算 13.2.5 知识要点 13.2.6 系统学习python 13.2.1 集合的常用操作方法 集合类型是一种抽象数据类型&#xff0c;抽象数据类型定义了数据类型的操作方法&#xff…

谈谈互联网广告拍卖机制的发展:从GSP到DeepAuction

广告作为各互联网公司收入的大头&#xff0c;其拍卖机制设计因此也是关乎营收最为核心的方面。所谓的广告拍卖机制设计是指如何将有限的广告位分配给合适的广告&#xff0c;从而达到客户、平台以及用户三方的价值最优。 当前的广告拍卖被建模为暗拍的形式&#xff0c;即N个广告…

音乐人解密:究竟是如何一步一步成为音乐人的?

音乐人解密&#xff1a;究竟是如何一步一步成为音乐人的&#xff1f; 音乐是人类伟大的产物&#xff0c;近些年来越来越多的人都开始尝试学习音乐&#xff0c;成为一名音乐人。而艺术高考等途径也为许多想要学习音乐、成为职业歌手或者编曲师的人群提供了途径。然而想要成为一名…

C++学习之旅 - 指针

文章目录 指针的基本概念指针的定义与使用指针占用的内存空间空指针野指针cont修饰指针指针&数组访问数组中第一个元素(访问&指针)如何访问数组中的第二个字节 指针和函数 指针的基本概念 指针的作用: 可以通过指针间接访问内存 内存编号是从0开始记录的&#xff0c;一…

linux find命令格式及find命令详解

本文详细介绍了linux find命令格式及find命令案例&#xff0c;希望对您的学习有所帮助。1、find命令的一般形式为&#xff1b; find pathname -options [-print -exec -ok ...]2、find命令的参数&#xff1b; pathname: find命令所查找的目录路径。例如用.来表示当前目录&#…

app渗透-常见问题及绕过

app渗透-常见问题及绕过 6.app常见问题和绕过前言6.1反代理操作前言6.1.1判断6.1.2实例演示-探探6.1.3绕过1-r0capture6.1.4绕过2-proxifier6.1.5绕过3-小黄鸟 6.2证书校验前言6.2.1判断6.2.2浏览器校验和解决6.2.3桡过证书单项校验-xp框架6.2.3绕过证书双向校验 6.app常见问题…

findIndex的使用

1. findIndex:没有符合条件的元素返回-1 2. 当findIndex符合元素的条件时会返回元素的索引位置 eg:权限管理中查找item中的每一项对数据中存在的某项固定存在的值进行对比。 代码&#xff1a;

Linux下使用find命令查找文件

0、find 命令&#xff0c;查找目录下以2022开头的文件 find / -name "2022*" 1、find 命令&#xff0c;查找类型为文件并且文件名称以2022开头的文件 find . -type f -name "2022*" 2、find命令统计查找出来的文件总数量 find . -type f -name "…

Linux find命令详解

基础打印操作 find命令默认接的命令是-print&#xff0c;它默认以\n将找到的文件分隔。可以使用-print0来使用\0分隔&#xff0c;这样就不会分行了。但是一定要注意&#xff0c;-print0针对的是\n转\0&#xff0c;如果查找的文件名本身就含有空格&#xff0c;则find后-print0仍…

find()和findIndex()函数详解

今天我在拿数组中的存在的某一项索引时&#xff0c;我用了filter()&#xff0c;结果折腾了半天还是没求出索引&#xff0c;结果询问同事&#xff0c;他说你直接用findIndex()就可以了&#xff0c;一语点醒梦中人&#xff0c;可能平时ES6的这些函数用的少&#xff0c;根本就想不…

linux find -size参数,Linux find 常用命令

Linux find 常用命令 (2012-10-24 11:32:52) 标签&#xff1a; linux shell 说明&#xff1a; 以下内容&#xff0c;若标注在 [ ] 中括号内的均可省略&#xff0c;除非做特别说明。 但严格来说&#xff0c;若缺少 [ ] 中括号内的内容&#xff0c;在命令呈现的语义和返回结果上&…

二、linux find命令详解

目录 2. find【擅长在目录下找文件】 2.1 常用查询选项option 2.1.1 -name&#xff1a;根据名称匹配 2.1.2 -iname&#xff1a;忽略文件名称大小写 2.1.3 -user&#xff1a;根据所属用户组进行查询 2.1.4 -type&#xff1a;根据文件类型进行查找 2.1.5 -size&#xff1a;根据…

Linux的find命令

find 查找命令 -name 查找某个文件&#xff0c;文件名为name 例如&#xff1a; find /etc/ -name passwd 查找/etc/目录下名为passwd的文件并输出 find /etc -name *.conf 查找/etc/目录下所有以.conf结尾的文件 -user name 查找某个文件所有人为use…

Linux 命令----find:查找指定的文件

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是「奇点」&#xff0c;江湖人称 singularity。刚工作几年&#xff0c;想和大家一同进步&#x1f91d;&#x1f91d; 一位上进心十足的【Java ToB端大厂…

Linux下find命令详解

find命令格式&#xff1a; find path -option 【 -print 】 【 -exec -ok |xargs |grep 】 【 command {} \; 】 find命令的参数&#xff1a; 1&#xff09;path&#xff1a;要查找的目录路径。 ~ 表示$HOME目录 . 表示当前目录 / 表示根目录 2&…

LinuxFinal

综合实验 tomcat下载安装 Apache Tomcat - Apache Tomcat 8 Software Downloads 进入上方链接下载tomcat&#xff0c;并上传至服务器。 mkdir /usr/local/tomcat8 # 创建tomcat文件夹 cd /usr/local/tomcat8 # 进入此目录&#xff0c;上传tomcat压缩包 tar -zxvf apache-tom…