摘要:
1、请你自我介绍一下你自己? 回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突 阅读全文
摘要:
194. 说一下 JVM 的主要组成部分?及其作用? 类加载器(ClassLoader) 运行时数据区(Runtime Data Area) 执行引擎(Execution Engine) 本地库接口(Native Interface) 组件的作用: 首先通过类加载器(ClassLoader)会把 J 阅读全文
摘要:
179. Redis 是什么?都有哪些使用场景? Redis 是一个使用 C 语言开发的高速缓存数据库。 Redis 使用场景: 记录帖子点赞数、点击数、评论数; 缓存近期热帖; 缓存文章详情信息; 记录用户会话信息。 数据缓存功能 分布式锁的功能 支持数据持久化 支持事务 支持消息队列 存储方式不 阅读全文
摘要:
164. 数据库的三范式是什么? 第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项。 第二范式:要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性。 第三范式:任何非主属性不依赖于其它非主属性。 表类型如果是 MyISAM ,那 id 就是 阅读全文
摘要:
157. zookeeper 是什么? zookeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 google chubby 的开源实现,是 hadoop 和 hbase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 阅读全文
摘要:
kafka 可以脱离 zookeeper 单独使用吗?为什么? kafka 不能脱离 zookeeper 单独使用,因为 kafka 使用 zookeeper 管理和协调 kafka 的节点服务器。 kafka 有几种数据保留的策略? kafka 有两种数据保存策略:按照过期时间保留和按照存储的消息 阅读全文
摘要:
135. RabbitMQ 的使用场景有哪些? 抢购活动,削峰填谷,防止系统崩塌。 延迟信息处理,比如 10 分钟之后给下单未付款的用户发送邮件提醒。 解耦系统,对于新增的功能可以单独写模块扩展,比如用户确认评价之后,新增了给用户返积分的功能,这个时候不用在业务代码里添加新增积分的功能,只需要把新增 阅读全文
摘要:
Mybatis相关知识点:https://mp.weixin.qq.com/s/ihEOnRt4eftKitLN0d7-JQ 125. MyBatis 中 #{}和 ${}的区别是什么? \#{}是预编译处理,${}是字符替换。 在使用 #{}时,MyBatis 会将 SQL 中的 #{}替换成“? 阅读全文
摘要:
113. 为什么要使用 hibernate? hibernate 是对 jdbc 的封装,大大简化了数据访问层的繁琐的重复性代码。 hibernate 是一个优秀的 ORM 实现,很多程度上简化了 DAO 层的编码功能。 可以很方便的进行数据库的移植工作。 提供了缓存机制,是程序执行更改的高效。 1 阅读全文
摘要:
104. 什么是 spring boot? spring boot 是为 spring 服务的,是用来简化新 spring 应用的初始搭建以及开发过程的。 105. 为什么要用 spring boot? 配置简单 独立运行 自动装配 无代码生成和 xml 配置 提供应用监控 易上手 提升开发效率 1 阅读全文
摘要:
90. 为什么要使用 spring? spring 提供 ioc 技术,容器会帮你管理依赖的对象,从而不需要自己创建和管理依赖对象了,更轻松的实现了程序的解耦。 spring 提供了事务支持,使得事务操作变的更加方便。 spring 提供了面向切片编程,这样可以更方便的处理某一类的问题。 更方便的框 阅读全文
摘要:
88. 说一下你熟悉的设计模式? 单例模式:保证被创建一次,节省系统开销。 工厂模式(简单工厂、抽象工厂):解耦代码。 观察者模式:定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。 外观模式:提供一个统一的接口,用来访问子系统中的一群接口,外观定义了 阅读全文
摘要:
79. http 响应码 301 和 302 代表的是什么?有什么区别? 301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地 阅读全文
摘要:
74. throw 和 throws 的区别? throw:是真实抛出一个异常。 throws:是声明可能会抛出一个异常。 75. final、finally、finalize 有什么区别? final:是修饰符,如果修饰类,此类不能被继承;如果修饰方法和变量,则表示此方法和此变量不能在被改变,只能 阅读全文
摘要:
64. JSP 和 servlet 有什么区别? JSP 是 servlet 技术的扩展,本质上就是 servlet 的简易方式。servlet 和 JSP 最主要的不同点在于,servlet 的应用逻辑是在 Java 文件中,并且完全从表示层中的 html 里分离开来,而 JSP 的情况是 Jav 阅读全文
摘要:
61. 为什么要使用克隆? 克隆的对象可能包含一些已经修改过的属性,而 new 出来的对象的属性都还是初始化时候的值,所以当需要一个新的对象来保存当前对象的“状态”就靠克隆方法了。 62. 如何实现对象克隆? 实现 Cloneable 接口并重写 Object 类中的 clone() 方法。 实现 阅读全文
摘要:
57. 什么是反射? 反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 Java 语言的反射机制。 58. 什么是 Java 序列化?什么情况下需要序列化? Java 序列化是 阅读全文
摘要:
35. 并行和并发有什么区别? 并行:多个处理器或多核处理器同时处理多个任务。 并发:多个任务在同一个 CPU 核上,按细分的时间片轮流(交替)执行,从逻辑上来看那些任务是同时执行。 如下图: 并发 = 两个队列和一台咖啡机。 并行 = 两个队列和两台咖啡机。 36. 线程和进程的区别? 一个程序下 阅读全文
摘要:
18. Java 容器都有哪些? Java 容器分为 Collection 和 Map 两大类,其下又有很多子类,如下所示: Collection List ArrayList LinkedList Vector Stack Set HashSet LinkedHashSet TreeSet Map 阅读全文
摘要:
1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境。 具体来说 JD 阅读全文