2022/02/22 BFT

97 阅读3分钟

1.Java包装类与基本数据类型的区别

包装类可以为null,基本数据类型不可以

包装类可以为泛型,基本数据类型不可以

基本数据类型比包装类型更高效 (基本数据类型存储到栈 包装类 存储到堆)

两个包装类型的值相同,但是地址值不同 ( == 比较内容以及地址值 equals 比较内容 )

自动拆箱与自动装箱 (包装类型->基本数据类型 拆箱 || 基本数据类型 -> 包装类 装箱)

2.基于SpringBoot,简述浏览器请求到服务器响应的具体过程(流程图/分点举例)

image.png 3.简述Redis中的hash数据类型,介绍为什么需要序列化存储

    Redis hash  是一个string类型的field和value的映射表
    可以看成KEYVALUEMAP容器 ,适合存储对象类型数据(相比于JSON)
    
    序列化最终的目的是为了对象可以跨平台存储,和进行网络传输。而我们进行跨平台存储和网络传输的方式就是IO,而我们的IO支持的数据格式就是字节数组
    
    -   JdkSerializationRedisSerializer

    -   POJO对象的存取场景,使用JDK本身序列化机制
    -   默认机制 ObjectInputStream/ObjectOutputStream进行序列化操作 (机器识别的数据)

-   StringRedisSerializer

    -   Key或者value为字符串  (可以人阅读)

image.png

4.简述一下Spring的IOC容器

    IOC(Inversion of Control 缩写为IOC) 控制反转,将创建对象交给spring容器,
    是一种面向对象编程原则,降低代码之间的耦合度
    

5.一个order表,id是主键,user_id是用户id,需要查询order表中每个用户的订单数;

SELECT COUNT(*)  FROM Orders group by  user_id

项目

0.可以在介绍项目之前,说明项目的技术和架构,担任什么角色,所负责的功能模块
1.对于业务流程描述过于清楚,需要夹杂技术
3.项目中springboot 2.2.5
4.mybatis 和 mybatisplus 有无默认连接池 
5.java怎么操作redis   ## RedisTemplateJedis
6.数据库的优化  G
7.项目中springcloud 的组件
8.使用到哪种mq
9.对于数据库连接池了解有哪几种
(1DBCPApache提供的数据库连接池。tomcat服务器自带dbcp数据库连接池。速度相对c3p0较快,但因自身存在BUGHibernate3已不再提供支持。

(2C3P0 是一个开源组织提供的一个数据库连接池,速度相对较慢,稳定性还可以,hibernate官方推荐使用。

(3Proxool 是sourceforge下的一个开源项目数据库连接池,有监控连接池状态的功能,稳定性较c3p0差一点.

(4BoneCP 是一个开源组织提供的数据库连接池,速度快。

(5Druid 是阿里提供的数据库连接池,据说是集DBCPC3P0Proxool优点于一身的数据库连接池,但是速度不确定是否有BoneCP快。
10.数据结构  操作系统
11.什么是反射
可以通过Class来生成任意类的对象
12.mybaits于mybatisplus的区别
MyBatis:

所有SQL语句全部自己写
手动解析实体关系映射转换为MyBatis内部对象注入容器
不支持Lambda形式调用
Mybatis Plus:

强大的条件构造器,满足各类使用需求
内置的Mapper,通用的Service,少量配置即可实现单表大部分CRUD操作
支持Lambda形式调用
提供了基本的CRUD功能,连SQL语句都不需要编写
自动解析实体关系映射转换为MyBatis内部对象注入容器
13.........