剑指offer--大厂java开发岗面试题(持续更新)

剑指offer–大厂java开发岗面试题

本篇写于2020年,题目主要是这1-2年的热门高频面试题,根据题目要自行扩展,不要每次回答就说1,2句话,要自己横向扩展,或引导性扩展(往自己会的方面说),才能给面试官留下深刻印象。

一定要先准备一份自我介绍,长于2分钟,自己面试前一定要想好,面试时候大多数面试官会借你自我介绍进行简历的快速浏览。可以谈谈你的简历上的项目经验,实习经历等等,帮助面试官熟悉你的简历,如何进入问答环节。

我写的答案并非标准,大家觉得不靠谱可以看题目后自行组织,方便的话评论也指明一下,一起学习

(2020字节跳动)Spring的IOC,DI和AOP简单介绍

Spring的2大核心设计分别是控制反转IOC和切面编程AOP,控制反转(IOC)与依赖注入(DI)是同一个概念,目的在于降低系统耦合度,将类的实例化工作转交给Spring代理,主要用到的设计模式为工厂模式,通过Java反射机制实现类的自动注入。

DI的注入方式有主要的4种分别是:1)注解注入;2)构造器注入;3)Set注入;4)静态工厂注入方式

常用注解注入有2种分别是@Autowired与@Resource:区别是

@Autowired默认按类型进行自动装配(该注解属于Spring),默认情况下要求依赖对象必须存在,如果要允许为null,需设置required属性为false,例:@Autowired(required=false)。如果要使用名称进行装配,可以与@Qualifier注解一起使用。

@Resource默认按照名称进行装配(该注解属于J2EE),名称可以通过name属性来指定。

面向切面编程AOP是基于代理模式设计的,应用场景有日志,资源池,事务等等,把公共代码抽取出来重利用,利用动态代理进行横切,减少代码的冗余和进行解耦。

(2020字节跳动)MySQL存储引擎有哪些并有什么区别?聚簇索引和非聚簇索引区别

最常见的有InnoDB和MyISAM,InnoDB是目前默认的存储引擎,他支持事务和外键,而MyISAM不行。InnoDB在查询数据总条数的时间比MyISAM慢,因为MyISAM直接存储了数据行数的信息,清空整个表时,InnoDB是一行一行删除而MyISAM会重建表,另外InnoDB支持行级锁和表级锁,MyISAM只有表级锁。

聚簇索引和非聚簇索引都是基于B+树设计,在SQL语言中,建立聚簇索引使用CREATE INDEX语句,格式为:CREATE CLUSTER INDEX index_name ON table_name(column_name1,column_name2,…);

  1. 聚集索引。表数据按照索引的顺序来存储的,也就是说索引项的顺序与表中记录的物理顺序一致。对于聚集索引,叶子结点即存储了真实的数据行,不再有另外单独的数据页。 在一张表上最多只能创建一个聚集索引,因为真实数据的物理顺序只能有一种。
  2. 非聚集索引。表数据存储顺序与索引顺序无关。对于非聚集索引,叶结点包含索引字段值及指向数据页数据行的逻辑指针,其行数量与数据表行数据量一致。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百里东君~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值