面试技巧哗哗哗l

spring常用的注解

从一个mapping 一个dao层 一个service层 控制器controller

从bean看来

@Component 组件,没有明确的角色

@Service 在业务逻辑层使用(service层)

@Repository 在数据访问层使用(dao层)

@Controller 在展现层使用,控制器的声明(C

@Autowired:由Spring提供

@Configuration 声明当前类为配置类,相当于xml形式的Spring配置(类上)

①在一个项目遇到的难解决的错误!

数组越界 --》长度不够

②数据库问题分组函数是什么?

①,group by 和 having  他们是一起使用的   分组结合使用  但是where和分组无关

②,where 与 having  having是集合函数(count min max sum)不可以出现在where中

数据库三大范式是什么

第一范式:每个列都不可以再拆分。

第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一部分。

第三范式:在第二范式的基础上,非主键列只依赖于主键,不依赖于其他非主键。

1、整数类型,包括TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT

2、实数类型,包括FLOAT、DOUBLE、DECIMAL。

3、字符串类型,包括VARCHAR、CHAR、TEXT、BLOB

4、枚举类型(ENUM),把不重复的数据存储为一个预定义的集合。

5、日期和时间类型,尽量使用timestamp,空间效率高于datetime,

MySQL存储引擎MyISAM与InnoDB区别
存储引擎Storage engine:MySQL中的数据、索引以及其他对象是如何存储的,是一套文件系统的实现。

常用的存储引擎有以下:

Innodb引擎:Innodb引擎提供了对数据库ACID事务的支持。并且还提供了行级锁和外键的约束。它的设计的目标就是处理大数据容量的数据库系统。
MyIASM引擎(原本Mysql的默认引擎):不提供事务的支持,也不支持行级锁和外键。
MEMORY引擎:所有的数据都在内存中,数据的处理速度快,但是安全性不高。
 

InnoDB引擎的4大特性

  • 插入缓冲(insert buffer)

  • 二次写(double write)

  • 自适应哈希索引(ahi)

  • 预读(read ahead)

springcloud的原理

给大家谈谈Spring Cloud微服务架构的底层原理

实际上,Spring Cloud是一个全家桶式的技术栈,包含了很多组件。本文先从其最核心的几个组件入手,来剖析一下其底层的工作原理。也就是Eureka、Ribbon、Feign、Hystrix、Zuul这几个组件。

③数据库去重?

(1)、rowid方法 -》根据oracle带的rowid属性  可以判断是否存在重复语句

(2)、group by 方法 -》分组统一在集合函数中使用

(3)、distinct方法  -》用于比较小的表进行去重,会过滤掉重复记录,返回不重复的记录或字段

④左右连接!

JOIN: 如果表中有至少一个匹配,则返回行

LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行

RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行

FULL JOIN: 只要其中一个表中存在匹配,就返回行

⑤java访问修饰符!

当前类 同包类 子孙类  其他类

public  公开的  当前类 同包类 子孙类  其他类

protected 受保护的  当前类 同包类 子孙类 

friendly  有好的  当前类 同包类 

private  私有的  当前

hashmap和hashtable的区别!

共同:两个都是map的实现子类

hashmap线程是不安全的  在线程并发的环境下可能会产生死锁

hashtable线程是安全的  它的方法都加的Synchronize 

⑦迭代器遍历!

两种方法:for 和 while

.next和.hasNext

⑧多态 的理解? 重载重写!

多态:

  1. 必须通过基类的指针或者引用调用虚函数   (被修饰的类成员函数称为虚函数)
  2. 被调用的函数必须是虚函数,且派生类必须对基类的虚函数进行重写(有返回值 参数和列表相同)

重载:同名不同参 没有返回值

重写:同名同参  有返回值

⑨单例模式  饿汉模式和懒汉模式

单例模式:只能有一个实例

饿汉模式:用的时候才给  线程安全问题  实例化一个静态对象出来 都会占用一定的内存  调用一定的时间速度也快

懒汉模式:就是直接吃饱了就给它  线程不安全

⑩spring(aop和ioc)

ioc和aop的区别

ioc:控制反转 依赖注入 由原来的程序员转交给spring管理

aop:面向切面  将非核心的代码丢出去  一搬用在日志或事物上

 

mvc三层架构

M:Model,模型。 JavaBean

  • 完成具体的业务操作,如:查询数据库,封装对象

V:view视图。JSP、HTML等来进行数据展示

C:Controller控制器。 Servlet

三层架构分为:表现层(UI)(web层)、业务逻辑层(BLL)(service层)、数据访问层(DAL)(dao层) ,再加上实体类库(Model)

如果需要更多的面试题  可以私信我!!

猜你喜欢

转载自blog.csdn.net/m0_60375943/article/details/123443456