ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

赛意科技Java初面

2022-09-10 19:35:02  阅读:239  来源: 互联网

标签:Java blog csdn details https 初面 article net 赛意


1.      静态变量和实例变量的区别。它们加载的时机是什么时候?

  1. 静态变量前要加static关键字,而实例变量前不加。
  2. 静态变量属于类,在加载类的时候,就加载了静态变量。
  3. 实例变量属于对象的属性,创建了实例对象,实例变量才会被分配空间。
  4. 静态变量可以直接使用类名来调用,实例变量必须创建对象之后才来使用。 

参考博客:https://blog.csdn.net/hjq_ku/article/details/122452611

 

 2.      包装类和基本数据类型的区别?

a、包装类是对象,拥有方法和字段,对象的调用都是通过引用对象的地址;基本类不是。

b、包装类型是引用的传递;基本类型是值的传递

c、声明方式不同:

                基本数据类型不需要new关键字;

                包装类型需要new在堆内存中进行new来分配内存空间

d、存储位置不同:

                基本数据类型直接将值保存在值栈中;

                包装类型是把对象放在堆中,然后通过对象的引用来调用他们

e、初始值不同:

                int的初始值为 0 、 boolean的初始值为false

                包装类型的初始值为null

f、使用方式不同:

                基本数据类型直接赋值使用就好;

                包装类型是在集合如 coolectionMap时使用 

参考博客:https://blog.csdn.net/weichi7549/article/details/108745119

 

 3.      面向对象的几个特征

有四大特征:

抽象

封装

继承

多态 

https://m.php.cn/faq/421584.html

 

 4.      抽象类和接口的区别

抽象类是类只能被单继承,接口可以被多实现。

接口中只能有抽象方法,抽象类中有抽象方法,也可以有普通的方法。

接口使用的是interface关键字,抽象类用abstract class来定义。 

https://blog.csdn.net/qq_47908816/article/details/126236967

 

 5.      String、StringBuffer、StringBuilder的区别

 

String是不可变的,StringBuffer和StringBuilder是可变的。

String、StringBuffer是线程安全的,StringBuilder是线程不安全的。

不安全的速度最快,安全的慢一些,String最慢。 

 

https://blog.csdn.net/zxl646801924/article/details/84646918

 

 6.      HashMap扩容原理,什么时候扩容

这里回答的不好,需要重点学习一下。 

当hashmap中的元素个数超过数组大小*loadFactor时,就会进行数组扩容,loadFactor的默认值为0.75,也就是说,默认情况下,数组大小为16,那么当hashmap中元素个数超过16*0.75=12的时候,就把数组的大小扩展为2*16=32,即扩大一倍,然后重新计算每个元素在数组中的位置。

 

 7.      Java的序列化与反序列化。

实现了数据的持久化,通过序列化可以把数据持久地保存在硬盘上(磁盘文件)。

利用序列化实现远程通信,在网络上传输字节序列。

 

 8.      union和union all的区别?哪个速度快

union会去重,进行默认规则排序。

union all 不会去重 ,不会进行排序,速度快。 

https://blog.csdn.net/a200822146085/article/details/119545374

 

 9.      是否设计过数据库,数据库的三范式?

第一范式:保证每列的原子性,不可再拆分。

第二范式:保证一张表只描述一件事情。有主键,非主键字段依赖主键。

第三范式:保证每列都和主键直接相关。非主键字段不能相互依赖。

https://blog.csdn.net/charlesyoosky/article/details/89204229

https://baijiahao.baidu.com/s?id=1703973144064369296&wfr=spider&for=pc

 

 10.  主键索引和唯一索引的区别。

主键是一种约束,一张表只有一个;

唯一索引是一个索引,可以为多个字段设置唯一索引。

唯一索引允许为空,主键列不允许为空值。

 

11.  Sql语句优化的思路?

尽量避免全表扫描,考虑在where及order by涉及的列上建立索引。

尽量避免可能引起索引失效的写法,例如:

1   对null进行判断。

2   使用or来连接,or可以改写为 union all

3   避免使用like操作。

4   避免使用in 和 not in , 尽量使用 between and。

等其他操作。

 

参考博客:https://blog.csdn.net/biyusr/article/details/125599865

 

 12.  视图是否会自动刷新,如何实现视图的自动刷新?

单表的视图会自动刷新。多表的视图不会自动刷新。

可以使用触发器实现视图的自动刷新。

 

13.  谈谈对IOC的理解?

这里主要分为两方面去谈,一个是对象的创建交给ioc容器去创建与管理,一个是依赖注入。

 

14.  @autowired默认注入方式是什么?构造器注入的前提条件与setter方法注入前提条件。

默认注入方式是根据类型去注入,类的名称。

set方法注入前提条件:在配置的类中有对应属性的set方法。

构造器注入前提条件:在配置的类中有对应的有参构造器。 

https://blog.csdn.net/m0_52325708/article/details/125669000

 

15.  谈谈对AOP的理解

面向切面,抽离出一些与业务无关的操作,例如记录日志、事务管理。

 

16.  Spring的AOP中环绕通知与后置通知的执行顺序?

最新spring版本环绕通知在最后。

 

17.  MQ解决了什么痛点?

异步、解耦、消峰

https://blog.csdn.net/lisu061714112/article/details/116465216

 

18.  Redis的主从架构与哨兵模式。哨兵是如何选主的?

哨兵也是分布式集群架构,当主宕机后,哨兵会进行监控,通过选举投票来选择一个主。哨兵会把自己选择主的消息发给其他的哨兵,如果大多数都同意,那么就选定了主。

 

参考博客:https://blog.csdn.net/a745233700/article/details/112451629

 

19.  Redis数据量过大,占用内存,如何解决?

采用热点数据定时过期的方式。

参考博客:http://www.muzhuangnet.com/show/47034.html

 

20.  Mybatis的映射器,xml文件与接口是如何映射的?

通过反射的方式拿到接口的类型然后再来对应相应的xml文件。

参考博客:https://blog.csdn.net/weixin_38192427/article/details/123340994

 

21.  Mybatis的xml文件的引入方式,有哪几种?

绝对路径引入:url

相对路径引入:resource

mapper接口引入:class

package引入:name

 

参考博客:https://www.jianshu.com/p/f08ca40e7260

 

22.  Mybatis的大概执行流程是怎样的?

解析配置文件,获取数据源信息,建立连接。

解析mapper文件,获取sql语句,执行sql。

解析执行结果,并返回。 

https://blog.csdn.net/fengzhizi520m/article/details/118330815

 

23.  Mybatis的配置文件可以配置哪些内容?

environments: 环境配置,一些数据源信息等。

properties:属性信息,可以进行动态的设置值。

typeAliases: 类型别名.

plugins: 插件。等

参考博客:https://blog.csdn.net/weixin_44688973/article/details/125891522

 

24.  Mybatis的一级缓存与二级缓存?什么时候用到一级缓存,什么时候用到二级缓存?

一级缓存是sqlsession级别,二级缓存是mapper级别。一级缓存是默认开启,二级缓存默认没有开启。查询的时候,会先看缓存里有没有,有就取缓存,没有就去取数据库,然后存入缓存。那么是如何找到缓存的?缓存是根据id,sql语句作为key来存储,下次再根据这个key来查找就可以了。

 

其他:又到了金九银十面试季,且面且珍惜。初面为电话面试, 对Java系列的基本功考察还是比较多,总体难度不大,面试体验比较好。

标签:Java,blog,csdn,details,https,初面,article,net,赛意
来源: https://www.cnblogs.com/wxh-hoho/p/16678041.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有