
面试必背系列
文章平均质量分 95
面试常问知识点,Java基础,MySQL,Redis,Zookeeper 等,长期更新中
寒泉Hq
当你试图解决一个你不理解的问题时,复杂化就产生了
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面试必会系列 - 5.3 LVS负载均衡
目录LVS 负载均衡网络协议原理引入七层模型TCP / IP(详见5.2节)路由表下一跳机制路由器、交换机ARP 协议ARP 请求ARP 响应案例网络包传输的过程负载均衡 & LVS 的引入NAT 网路地址转换(1)S-NAT 模式:源地址替换协议(2)D-NAT 模式:目标地址转换协议(基于3层网络层)(3)DR 模型:直接路由模型(基于2层链路层)(4)隧道模式LVS隐藏的Virtual IP 配置原理负载均衡调度方法LVS在Linux中自带的ipvs内核模原创 2021-01-23 22:16:35 · 65976 阅读 · 0 评论 -
面试必会系列 - 11.1 一文读懂Maven:Maven工程类型、项目结构、工程关系、常见命令等
Maven详解什么是MavenMaven的下载目录结构、IDEA整合Maven【1】IDEA默认整合了Maven:【2】下载地址:【3】目录结构:【4】如果没有.m2目录 ,自己手动执行mvn命令:Maven仓库远程仓库本地仓库仓库配置在settings.xml文件中配置本地仓库在settings.xml文件中配置镜像仓库仓库优先级问题JDK的配置总结:Maven工程类型【1】POM工程【2】JAR工程【3】WAR工程在IDEA中创建Maven工程【1】过程:Ma原创 2021-01-16 23:17:42 · 64990 阅读 · 2 评论 -
面试必会系列 - 5.2 详解OSI模型与七层协议,网络TCP/IP基础,三次握手、四次挥手等
网络IOOSI 与 TCP/IP 各层的结构与功能,都有哪些协议?七层体系结构图1、应用层2、传输层3、网络层4、数据链路层5、物理层数据经过网卡,传输到 CPU 的过程TCP 协议TCP 的状态变迁图TCP 协议如何保证可靠传输?TCP协议IP 协议UDP 协议三次握手四次分手为什么握手需要三次,分手需要四次?为什么四次分手之后,还会等两个传输时间,才会释放资源?socketIP 地址HTTP 长连接、短连接原创 2021-01-16 18:31:27 · 67083 阅读 · 0 评论 -
面试必会系列 - 5.1 网络BIO、NIO、epoll,同步/异步模型、阻塞/非阻塞模型,你能分清吗?
BIO,NIO,epoll同步/异步模型、阻塞/非阻塞模型同步:当一个同步调用发出后,调用者要一直等待返回结果。通知后,才能进行后续的执行。异步:当一个异步过程调用发出后,调用者不能立刻得到返回结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。阻塞:是指调用结果返回前,当前线程会被挂起,即阻塞。非阻塞:是指即使调用结果没返回,也不会阻塞当前线程。比喻:小Q去钓鱼,抛完线后就傻傻的看着有没有动静,有则拉杆(同步阻塞)小Q去钓鱼,拿鱼网捞一下,有没有鱼立即知道,不用等,直原创 2020-12-22 18:00:22 · 67325 阅读 · 3 评论 -
面试必会系列 - 4.1 程序员必须掌握的:计算机组成、操作系统知识点汇总
计组、操作系统汇编和操作系统代码,又是不同层面的东西。汇编是针对CPU编程。系统内核方法,是针对操作系统编程。CPU电路原理 CPU的基本组成PC -> Program Counter 程序计数器 (记录当前指令地址)Registers -> 暂时存储CPU计算需要用到的数据ALU -> Arithmetic & Logic Unit 运算单元缓存行对齐伪共享问题缓存行大小缓存行越大,局部性空间效率越高,但读取时间慢;缓存行越小,局部性空间效率越低,但读取时间快。取一个折中值,目前 Inte原创 2020-12-13 22:56:15 · 70328 阅读 · 2 评论 -
面试必会系列 - 3.1 Redis知识点大汇总(数据类型,内存模型,持久化,缓存击穿,集群,一致性哈希等等)
Redis常问问题Redis 五种基本数据结构1、字符串 string2、列表 list3、字典 hash4、集合 set5、有序集合 zset内存模型数据类型使用在 Java 中的 API 使用持久化RDBAOF缓存常见问题缓存击穿缓存穿透缓存雪崩缓存一致性(双写问题)Redis 集群AKF 拆分原则拆分之后,怎么知道数据存在哪台机器了?去哪里取数据?AKF 存在的问题:CAP定理集群一般使用奇数台Sentinel 哨兵一致性哈希普通的哈希算法存在的问原创 2020-12-12 12:07:01 · 68831 阅读 · 7 评论 -
面试必会系列 - 2.1 MySQL知识点大汇总(基本架构,存储引擎,锁,事务,索引,B+树等等)
局部性原理时间、空间局部性数据和程序的存储,都有聚集成群的倾向,相关关联的数据可能被放在一起。同时,之前查询过的数据,短时间内可能再次被查询。磁盘预读当内存和磁盘发生交互的时候,是以一个逻辑单元 “页” 为单位进行交互的,“页”是磁盘和内存交互的最小单位,一般是 4k 或 8k。读取的时候可以以页为单位,也可以是页的整数倍。SSD 4K 对齐,能够加快查询效率MySQL 日志有多少种?binlog, undolog, redolog, relaylog(主从复制), errorlog,原创 2020-12-11 18:42:26 · 68490 阅读 · 14 评论 -
面试必会系列 - 1.8 Spring IOC / AOP原理
Spring 原理概览IOCAOPIOCSpring IOC 常用注解使用注解的方式将 bean 注册到 IOC 容器中这四个注解写在类上面的时候,都可以完成注册bean 的功能,但是这些规定并不是spring识别的依据在spring运行过程中,不会对这4个注解做任何区分,看起来都是一样的,都会完成bean的注册功能在实际开发中,最好能分清楚,提高代码的可读性@Component组件,理论上可以在任何位置添加,在扫描的时候都会完成 bean 的注册。最偷懒的方式,就是给所有需要注原创 2020-12-11 18:29:53 · 70742 阅读 · 5 评论 -
面试必会系列 - 1.7 JVM 内存模型
对象内存布局new Object() 对象在内存中占多少字节?16字节8 字节(MarkWord,固定大小)4 字节(开启压缩时的对象指针 ClassPointer,指向你的对象 TT.class)0 字节 Instance data,要看你的对象有多少成员变量4 字节 padding(对齐,要被 8 整除)原创 2020-11-26 11:08:19 · 64557 阅读 · 2 评论 -
面试必会系列 - 1.6 Java 垃圾回收机制
本文已收录至 github,完整图文:https://github.com/HanquanHq/MD-Notes面试必会系列专栏:https://blog.youkuaiyun.com/sinat_42483341/category_10300357.html垃圾回收机制垃圾:没有引用指向的对象JVM 堆分代模型JVM 内存模型和具体的垃圾回收器有关,面试问的时候,你应该说明是哪一种回收器!新生代(堆空间)分为 1 个 伊甸区,2 个 survivor 区存活对象少,使用 拷贝算法老年代(堆空.原创 2020-11-03 11:22:08 · 67149 阅读 · 0 评论 -
面试必会系列 - 1.5 Java 锁机制
本文已收录至 github,完整图文:https://github.com/HanquanHq/MD-NotesJava 锁机制概览syncronized 锁升级过程ReentrantLock 可重入锁volatile 关键字JUC 包下新的同步机制syncronized给一个变量/一段代码加锁,线程拿到锁之后,才能修改一个变量/执行一段代码wait()notify()synchronized 关键字可以作用于 方法 或者 代码块,最主要有以下几种使用方式:注意:不.原创 2020-09-04 12:25:48 · 70917 阅读 · 0 评论 -
面试必会系列 - 1.4 类加载机制
本文已收录至 github,完整图文:https://github.com/HanquanHq/MD-Notes类加载机制类加载机制,类加载的过程?class loading 加载:JVM 把描述类的数据从 Class 文件加载到内存中class linking 连接verification:校验装进来的 class 文件是否符合标准,比如 CA FE BA BEpreparation:将 class 文件的静态变量赋默认值(不是初始值)resolution:把 class 文件常量.原创 2020-09-04 12:21:35 · 67046 阅读 · 1 评论 -
面试必会系列 - 1.3 Java 多线程
本文已收录至 github,完整图文:https://github.com/HanquanHq/MD-Notes多线程线程有多少种状态?指定时刻,线程只可能处于下面 6 种不同状态 的其中一个状态(图源《Java 并发编程艺术》4.1.4 节)线程在生命周期中,而是随着代码的执行在不同状态之间切换。Java 线程状态变迁如下图所示(图源《Java 并发编程艺术》4.1.4 节):原图中 wait 到 runnable 状态的转换中,join实际上是Thread类的方法,但这里写成了Obje.原创 2020-08-25 12:32:27 · 64496 阅读 · 0 评论 -
面试必会系列 - 1.2 Java 集合,源码讲解
本文已收录至 github,完整图文:https://github.com/HanquanHq/MD-Notes容器连老师在公开课里面讲过相关的源码CollectionListCopyOnWriteList:读时不加锁,写时复制,适用于读线程多,写线程少的情况Vector, StackArrayList:会有并发问题LinkedListSetHashSet, LinkedHashSetSortedSet, TreeSetEnumSetCopyOnWriteArra.原创 2020-08-15 01:06:10 · 66510 阅读 · 0 评论 -
面试必会系列 - 1.1 Java SE 基础
Java SE 基础面向对象Java 按值调用还是引用调用?按值调用指方法接收调用者提供的值,按引用调用指方法接收调用者提供的变量地址。Java 总是 按值 调用,方法得到的是所有参数值的副本,传递对象时,实际上方法接收的是 对象引用的副本。方法不能修改基本数据类型的参数,如果传递了一个 int 值 ,改变值不会影响实参,因为改变的是值的一个副本。可以改变对象参数的状态,但不能让对象参数引用一个新的对象。如果传递了一个 int 数组,改变数组的内容会影响实参,而改变这个参数的引用并不会让实参引用新原创 2020-08-15 01:01:45 · 64256 阅读 · 0 评论