Java面试题-12-17

Java面试题-12-17,第1张

Java面试题-12-17

最擅长的技术:一些基础Spring Boot、Spring、Spring MVC、MyBatis-Plus、MySQL

Spring boot:

将第三方依赖整合,简化xml配置,采用注解形式以Java程序运行的一个开发框架

Spring Boot常用注解

@SpringBootApplication: 是spring boot自动给程序进行必要的配置

@ResponseBody:将java对象转为json格式的数据,修饰方法返回值

@RequestBody:将json动态转化为对象,修饰形参

@RequestMapping:映射请求 通过它来指定控制器可以处理URL请求

@GetMapping:与@RequestMapping功能类似。

@Controller:处理http请求的

@Bean:生成一个Bean对象,然后交给Spring管理,Spring将这个Bean对象放在自己IOC容器中

@Value:将外部配置文件(数据库)中的数据,通过@Value的方式将其注入到bean的字段中

Controller, RestController的不同点?

@Controller:     @Controller是Spring MVC controller处理器,返回的是页面。

@RestController:  是@Controller和@ResponseBody的结合体,合并起来使用。返回JSON、XML或其他文本。

springboot 统一异常处理?
  1. 使用@ControllerAdvice和@ExceptionHandler注解

首先编写全局异常处理类,定义返回值类型

(比如,在页面返回Json字符串)

使用@ResponseBody注解将以JSON字符串形式返回

@ExceptionHandler指定多个Exception类,没指定的异常类不会捕获。

  1. 使用@RestontrollerAdvice也能实现上面的效果,它相当于@ResponseBody+@ControllerAdvice

业务逻辑写在controller还是写在service中?

service。

service中执行事务;controller用来连接前后端的。

@Service注解有什么用?

标记当前类是一个service类,加上该注解将类自动注入到spring容器中,不需要再在applicationContext.xml文件定义bean了。

Controller层用来写什么的

这里只接收数据,请求路径映射的。

IOC和AOP概念

IOC: 控制反转

AOP:即面向切面编程

一个controller借助多少个url? spring中一个controller方法配置两个url请求

SpringMVC框架的核心组件

DispatcherServlet:前端控制器;    将请求转发给对应的Controller

Controller/Headler:控制器/处理器;用来处理用户请求的,并且处理完成之后返回给用户指定视图的对象

HandlerMapping:处理器映射器;   接收到客户端请求的URL,求转发给对应的Handler

HandlerAdaptor:处理器适配器;   适配每一个要执行的Handler对象

ViewResolver:视图解析器;        解析视图

基本SQL语句

创建数据库:create databases 数据库名 charset=utf8;

删除数据库:  drop database 数据库名

查看所有数据库:  show databases;

查看当前使用的数据库:  select database();

使用数据句库:  use database 数据库名;

创建表:  creat table 表名;

修改表:  alter table 表名 add 字段;

删除表:  drop table 表名;

查看数据库中所有表:  show tables;

查看表结构:  desc 表名;

数据 *** 作

查看记录:   select * from 表名;

新增记录:  insert into 表名 values(字段);

修改记录:  update 表名 set 字段名;

删除记录:  delet from 表名;

update 可不可以更新两张表里的数据?

可以

mysql使用limit分页查询

select * from table limit (页码-1) * 每页显示的条数,每页显示的条数; 

(其中start是页码,pageSize是每页显示的条数)

mysql中order by与group by的顺序

group by 比order by先执行

String,StringBuffer与StringBuilder的区别

String:不可改变字符序列

StringBuffer:改变字符序列,效率低,线程安全

StringBuilder:改变字符序列,效率高,线程不安全

针对class a调用两次getben返回是同一个对象吗? 是

Java中String为什么是不可变的?

String 不能改变对象的本身,如果改变就是创建了个新对象改变堆内存中的数据 ,原来的数据还在内存中存在,没变。

类 通过Final修饰不可变

集合

List、Set、Map

ArrayList和linkedList

在list集合指定位置添加元素

list.add(下标,参数)

在list集合指定位置删除元素

正序遍历 List  用for循环遍历 ,找到元素,使用list. remove(i) 方法进行移除,然后进行索引 “自减”(i--),最后输出。

Spring的两大特性IOC和AOP

Spring IOC - 控制反转(依赖注入) - 创建对象的方式

通过类的无参构造方法创建对象 具体怎么 *** 作不太了解

Spring AOP作用

日志记录,性能统计,安全控制,事务处理,异常处理等等

构造方法能够被重载,不能被重写 spring ioc调用两次getben 获取是不是同一个对象 不是

UPDATe语句如何关联两个表

能关联两个表,多个表都能关联

把A中name改为相对应的B表中的name

例如:关联字段id把A中name改为B表中的name

update a set a.name=b.name from a
join b
on a.id=b.id Linux常用命令

pwd 查看当前工作目录

clear 清除屏幕

Cd对目录 *** 作

(cd ~ 当前用户目录;cd / 根目录;cd - 上一次访问的目录;cd .. 上一级目录)

ll 查看当前目录下内容(LL的小写) Mkdir(梅 可 der)创建目录 *** 作

mkdir aaa 在当前目录下创建aaa目录,相对路径;

mkdir ./bbb 在当前目录下创建bbb目录,相对路径;

mkdir /ccc 在根目录下创建ccc目录,绝对路径;

Find搜索命令

find / -name 'b' 查询根目录下(包括子目录),名以b的目录和文件;

find / -name 'b*' 查询根目录下(包括子目录),名以b开头的目录和文件;

Mv 剪切命令 Cp  复制命令 Tar压缩,解压命令

tail日志命令

tail -f test.log 查看实时日志

tail -100f test.log 查看最后100行日志记录

tail -n 10 test.log 查询日志尾部最后10行的日志

tail -n +10 test.log 查询10行之后的所有日志

tail -fn 100 test.log 循环实时查看最后100行记录

head 命令

head -n 10 test.log   查询日志文件中的前10行日志

head -n -10 test.log   查询日志文件除了最后10行的其他所有日志

more 命令

more -s test.log  逐页显示日志,如有连续两行以上空白行则以一行空白行显示

more +20 test.log  从第 20 行开始显示日志内容

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5676652.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存