
Java面经
Geffin
欲戴王冠,必承其重
展开
-
Netty 面经
文章目录1.Netty 是什么?2.Netty 的特点是什么?3.Netty 的优势有哪些?4.Netty 的应用场景有哪些?5.Netty 高性能表现在哪些方面?6.BIO、NIO和AIO的区别?7.NIO的组成?8.Netty的线程模型?9.TCP 粘包/拆包的原因及解决方法?10.什么是 Netty 的零拷贝?11.Netty 中有哪种重要组件?12.Netty 发送消息有几种方式?13.默认情况 Netty 起多少线程?何时启动?14.了解哪几种序列化协议?15.如何选择序列化协议?16.Netty转载 2020-11-01 12:32:25 · 625 阅读 · 0 评论 -
ZooKeeper 面经
文章目录1. ZooKeeper 是什么?2. ZooKeeper 提供了什么?3. Zookeeper 文件系统4. Zookeeper 怎么保证主从节点的状态同步?5. 四种类型的数据节点 Znode6. Zookeeper Watcher 机制 – 数据变更通知7. 客户端注册 Watcher 实现8. 服务端处理 Watcher 实现服务端接收 Watcher 并存储Watcher 触发调用 process 方法来触发 Watcher9. 客户端回调 Watcher10. ACL 权限控制机制UGO转载 2020-10-08 21:26:19 · 437 阅读 · 0 评论 -
大厂面试官让我设计一个死锁,我的方案是这样的
题目面试官:给你15分钟,设计一个死锁,应该问题不大吧我:。。。。代码public class Test implements Runnable{ private static Object obj1 = new Object(); private static Object obj2 = new Object(); private int flag; public...原创 2020-03-20 11:49:21 · 1288 阅读 · 0 评论 -
大厂面试官问我进程和线程的区别,我是这么回答的
前言最近一直在面试找实习,然后发现每次面试都会问进程和线程的区别,真是醉了,这里特地做个总结,希望各位同学在被问到这个问题时都能发挥自如,早日拿到 offer ,共勉!回答根本区别:进程是操作系统进行资源分配的基本单位,线程是独立调度的基本单位地址空间:进程包含独立的地址空间,线程没有自己独立的地址空间,它共享所属进程的空间开销:进程之间的切换会有较大的开销,线程之间的切换的开销比较小...原创 2020-03-19 20:17:53 · 6811 阅读 · 4 评论 -
Java 基础面经(二)
1 浅拷贝与深拷贝关于 Java 中的对象克隆,有直接赋值、浅拷贝、深拷贝三种方式。直接赋值:例如 Person a = new Person();Person b = a;,这种方法仅仅拷贝了对象引用地址,并没有在内存中生成新的对象。浅拷贝:如果原型对象的成员变量是值类型,将复制一份给克隆对象,也就是说在堆中拥有独立的空间;如果原型对象的成员变量是引用类型,则将引用对象的地址复制一份给克...原创 2020-02-26 19:16:11 · 547 阅读 · 0 评论 -
Mybatis 面经
1 什么是 Mybatis?Mybatis 是一个半 ORM(对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身,不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性能,灵活度高MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO 映射成数据库中的记录,避免...转载 2020-02-07 13:13:41 · 2414 阅读 · 0 评论 -
Spring Boot 面经
什么是 Spring Boot?Spring Boot 是 Spring 开源组织下的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。Spring Boot 的核心配置文件有哪几个?它们的区别是什么?Spring Boot 中有以下两种配置文件:bootstrap.properties(bootstr...转载 2020-02-06 17:59:11 · 2410 阅读 · 0 评论 -
Spring MVC 面经
1 什么是 Spring MVC?Spring MVC 是一个基于 Java 的实现了 MVC 设计模式的请求驱动类型的轻量级 Web 框架,通过把 Model,View,Controller 分离,将 web 层进行职责解耦,把复杂的 web 应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合2 什么是 MVC 模型?用户的请求会到达 Servlet,然后根据请求调...原创 2020-02-03 21:37:23 · 797 阅读 · 0 评论 -
Spring 面经
什么是 Spring?Spring 是一个轻量级的 IoC 和 AOP 容器框架。是为 Java 应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于 XML 的配置、基于注解的配置、基于 Java 的配置。Spring 的优点?Spring 属于低侵入式设计,代码的污染极低Spring 的 DI 机制将对象之间的...转载 2020-01-30 17:22:08 · 2752 阅读 · 0 评论 -
数据库(MySQL)面经
1 请介绍一下三个范式?第一范式(1NF):数据库表中的字段都是单一属性的,不可再分。这个单一属性由基本类型构成,包括整型、实数、字符型、逻辑型、日期型等。第二范式(2NF):数据库表中不存在非关键字段对任一候选关键字段的部分函数依赖(部分函数依赖指的是存在组合关键字中的某些字段决定非关键字段的情况),也即所有非关键字段都完全依赖于任意一组候选关键字。第三范式(3NF):在第二范式的基础上...原创 2020-01-26 18:13:12 · 4708 阅读 · 0 评论 -
Java 基础面经(一)
1 面向对象的特点有哪些?抽象、继承、封装、多态2 抽象类和普通类的区别?抽象方法的访问修饰符必须为 public 和 protected。抽象类不能被实例化。如果一个类继承于抽象类,则子类必须实现父类的抽象方法,如果子类没有实现父类的抽象方法,则子类必须也一个抽象类。3 抽象类和接口的区别?一个类只能继承一个抽象类,而一个类可以实现多个接口。抽象类可以有构造方法,接口中不能...原创 2020-01-14 22:03:39 · 2414 阅读 · 0 评论 -
Java 并发编程面经
synchronized 关键字使用 synchronized 关键字修饰的方法为同步方法,由于 java 的每个对象都有一个内置锁,当此关键字修饰方法时,内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态。( synchronized 关键字也可以修饰静态方法,此时如果调用该静态方法,将会锁住整个类)有 synchronized 关键字修饰的语句块被称为同步代码块,被...原创 2020-01-14 14:50:00 · 607 阅读 · 0 评论 -
消息队列面经
消息队列的使用场景?异步:A系统需要发送请求给B系统处理,由于B系统需要查询更新数据库花费时间较长,以至于A系统要等待B系统处理完毕后再发送下个请求,造成A系统资源浪费。使用消息队列后,A系统生产完消息后直接丢进消息消息队列,就完成一次请求,继续处理下个请求。解耦:A系统发送个数据到BCD三个系统,接口调用发送,那如果E系统也要这个数据呢?那如果C系统现在不需要了呢?现在A系统又要发送第二种...原创 2020-01-13 20:37:21 · 1072 阅读 · 0 评论 -
Redis 面经
1 缓存有哪些类型?本地缓存:本地缓存就是在进程的内存中进行缓存。本地缓存是内存访问,没有远程交互开销,性能最好,但是受限于单机容量,一般缓存较小且无法扩展。分布式缓存:分布式缓存一般都具有良好的水平扩展能力,对较大数据量的场景也能应付自如。缺点就是需要进行远程请求,性能不如本地缓存。多级缓存:为了平衡这种情况,实际业务中一般采用多级缓存,本地缓存只保存访问频率最高的部分热点数据,其他的热...原创 2020-01-10 14:30:30 · 1813 阅读 · 0 评论 -
Java 集合框架面经
1 Java 集合框架总览原创 2019-12-10 19:10:57 · 528 阅读 · 1 评论 -
JVM 面经
具体学习 JVM 可以参考我以前写的这篇博客 对Java虚拟机的学习总结,本篇博客在该博客的基础上加以修改1 Java 内存区域Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为以下6个运行时数据区域。程序计数器:一块较小的内存空间,可以看作当前线程所执行的字节码的行号指示器。如果线程正在执行的是一个 Java 方法,这个计数器记录的是正在执行的虚拟机字节码指令的地...原创 2019-12-08 17:20:23 · 452 阅读 · 1 评论 -
Redis面经
什么是Redis?Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此...转载 2019-06-05 00:12:15 · 828 阅读 · 0 评论 -
计算机网络面经
1 TCP/IPOSI的七层协议体系结构的概念清楚,理论也比较完整,但它既复杂又不实用。ICP/IP体系结构则不同,它现在已经得到了非常广泛的应用,TCP/IP是一个四层的体系结构,它包含应用层、运输层、网际层和网络接口层(用网际层这个名字是强调这一层是为了解决不同网络的互连问题)。不过从实质来讲,TCP/IP只有最上面的三层,因为最下面的网络接口层基本上和一般的通信链路的功能上没有多大差别...转载 2019-06-14 11:41:22 · 3725 阅读 · 3 评论