JAVA 初级面试题记录-1

题目是基于深圳法本java初级面试,绝对真实。

参考b站视频:[JAVA面试录音]深圳法本java初级面试,绝对真实,题比较简单,刚毕业的你是否都能答出_哔哩哔哩_bilibili

1.自我介绍


2.java的基本数据类型有哪些,java的包装类的理解。

Java中共有8种基本类型,可分为三类:

  • 数值类型:byte,short,int,long,float,double
  • 布尔类型:boolean
  • 字符类型:char

java为其提供了8种对应的包装类:Byte、Short、Integer、Long、Float、Double、Boolean、Character

Java语言是面向对象的编程语言,而基本数据类型声明的变量并不是对象,为其提供包装类,增强了Java面向对象的性质。

而且,如果只有基本数据类型,使用时是很不方便的,比如,在集合类中,无法将int 、double等类型放进去的,因为集合的容器要求元素是Object类型。

此外,包装类还为基本类型添加了属性和方法,丰富了基本类型的操作。如当我们想知道int取值范围的最小值,我们需要通过运算,如下面所示,但是有了包装类,我们可以直接使用Integer.MAX_VALUE即可。]

3.java面向对象的特征。

“ Java⾯向对象的三个基本特征是:封装、继承、多态。


4.编程规范的理解

Java编程规范_夜雨风云的博客-CSDN博客


5.你的java集合的了解。map的理解。hashmap里面的关键属性有哪些。

Java中的集合框架大类可分为Collection和Map;两者的区别:

1、Collection是单列集合;Map是双列集合

2、Collection中只有Set系列要求元素唯一;Map中键需要唯一,值可以重复

3、Collection的数据结构是针对元素的;Map的数据结构是针对键的。

Map是一个双列集合,其中保存的是键值对,键要求保持唯一性,值可以重复

键值是一一对应的,一个键只能对应一个值

    //(2)初始容量
    static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16
    //(3) 最大容量
    static final int MAXIMUM_CAPACITY = 1 << 30;
     //(4)默认负载因子
    static final float DEFAULT_LOAD_FACTOR = 0.75f;
    //(5)链表与树之间转换的阈值
    static final int TREEIFY_THRESHOLD = 8;//链表树化
    static final int UNTREEIFY_THRESHOLD = 6;//树链表化
    //(6)
    static final int MIN_TREEIFY_CAPACITY = 64;//树化的表的最小容量
 

6.spring中ioc的理解

Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反转就应该有正转了),哪些方面反转了”,那我们来深入分析一下:

  ●谁控制谁,控制什么:传统Java SE程序设计,我们直接在对象内部通过new进行创建对象,是程序主动去创建依赖对象;而IoC是有专门一个容器来创建这些对象,即由Ioc容器来控制对 象的创建;谁控制谁?当然是IoC 容器控制了对象;控制什么?那就是主要控制了外部资源获取(不只是对象包括比如文件等)。

  ●为何是反转,哪些方面反转了:有反转就有正转,传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转;而反转则是由容器来帮忙创建及注入依赖对象;为何是反转?因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转;哪些方面反转了?依赖对象的获取被反转了。

7.设计模式的理解。spring的设计模式有哪些。

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。

(1)工厂模式:Spring使用工厂模式,通过BeanFactory和ApplicationContext来创建对象

(2)单例模式:Bean默认为单例模式

(3)策略模式:例如Resource的实现类,针对不同的资源文件,实现了不同方式的资源获取策略

(4)代理模式:Spring的AOP功能用到了JDK的动态代理和CGLIB字节码生成技术

(5)模板方法:可以将相同部分的代码放在父类中,而将不同的代码放入不同的子类中,用来解决代码重复的问题。比如RestTemplate, JmsTemplate, JpaTemplate

(6)适配器模式:Spring AOP的增强或通知(Advice)使用到了适配器模式,Spring MVC中也是用到了适配器模式适配Controller

(7)观察者模式:Spring事件驱动模型就是观察者模式的一个经典应用。

(8)桥接模式:可以根据客户的需求能够动态切换不同的数据源。比如我们的项目需要连接多个数据库,客户在每次访问中根据需要会去访问不同的数据库

详细看原文。
————————————————
版权声明:本文为CSDN博主「张维鹏」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a745233700/article/details/112598471


8.mybatis的常用标签。(指XML)

select、insert、update、delete

resultMap、foreach、association


9.redis的常用数据类型有哪些。在项目中使用redis做了什么。

string、list、set、zset、hash、hyperloglog

缓存、排行榜、计数器、限流、分布式会话、分布式锁


10.mysql的存储引擎有哪些。表的设计有哪些原则,sql的语句优化怎么处理。联合索引什么时候使用。

1)MyISAM、InnoDB、MEMORY(内存)、ARCHIVE(独立、压缩 插入性能好,不支持索引)

2)数据库设计三范式

1.第一范式(确保每列保持原子性)

2.第二范式(确保表中的每列都和主键相关)

3.第三范式(确保每列都和主键列直接相关,而不是间接相关)

3)sql语句层面优化

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上合理建立索引。

2.防止产生索引失效

3.建议能用int、char就用 节约空间

4)联合索引一般在where的条件有多个时,如果没有联合索引,就只能依据有索引条件的结果再查找出最终结果


11.sql语句执行的时候关键字的执行顺序。

  • 我们先执行from,join来确定表之间的连接关系,得到初步的数据

  • where对数据进行普通的初步的筛选

  • group by 分组

  • 各组分别执行having中的普通筛选或者聚合函数筛选。

  • 然后把再根据我们要的数据进行select,可以是普通字段查询也可以是获取聚合函数的查询结果,如果是集合函数,select的查询结果会新增一条字段

  • 将查询结果去重distinct

  • 最后合并各组的查询结果,按照order by的条件进行排序


12.mysql的体系结构。

MySQL整体的逻辑结构可以分为4层,客户层、服务层、存储引擎层、数据层

客户层
客户层:进行相关的连接处理、权限控制、安全处理等操作
服务层
服务层负责与客户层进行连接处理、处理以及执行SQL语句等,主要包含连接器、查询缓存、优化器、执行器、存储引擎。触发器、视图等也在这一层
存储引擎层
存储引擎层负责对数据的存储和提取,常见的存储引擎有InnoDB、MyISAM、Memory等,在MySQL5.5之后,MySQL默认的存储引擎就是InnoDB,InnoDB默认使用的索引结构就是B+树,上面的服务层就是通过API接口与存储引擎层进行交互的
数据层
数据层系主要包括MySQL中存储数据的底层文件,与上层的存储引擎进行交互,是文件的物理存储层。其存储的文件主要有:日志文件、数据文件、配置文件、MySQL的进行pid文件和socket文件等。
那么一条SQL语句在MySQL的整个体系结构是如何执行的呢?
————————————————
版权声明:本文为CSDN博主「龙空白白」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42094855/article/details/125207426


13.linux常用的命令有哪些。

第二章 linux的基础命令
1.pwd 命令
2.ls 命令
3.cd 命令
4.man 命令
5.grep 命令
6.find 命令
7.chmod 命令
8.ps 命令
9.kill 命令
10.tail 命令
11.netstat 命令
8.date 查看当前系统时间
10.echo 打印 选项 -e
11.ping 地址 检测是否与主机连通
第三章 文件操作的命令
1.mkdir 命令
2.rmdir 命令
3.touch 命令
4.rm 命令
5.mv 命令
6.cp 命令
7 cat 命令
————————————————
版权声明:本文为CSDN博主「无 羡ღ」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yuan2019035055/article/details/120584242

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值