- 博客(248)
- 资源 (6)
- 收藏
- 关注
原创 真实面试系列-万泰建设Java面试(2021年04月25日)
真实面试系列-万泰建设Java面试(2021年04月25日)1、公司介绍2、应聘职位介绍3、面试流程3.1、自我介绍3.2、他提问环节3.3、我提问环节4、往期佳文4.1、面试系列4.2、技术系列4.3、源码系列4.4、数据结构和算法系列4.5、并发系列4.6、面试题系列4.7、JVM系列1、公司介绍2、应聘职位介绍3、面试流程简单自我介绍一下他提问环节我提问环节3.1、自我介绍 主要介绍了,我的
2021-04-26 16:42:24 714
原创 算法系列之十大经典排序算法
算法系列之十大经典排序算法1、有哪十大经典排序算法?2、冒泡排序2.1、算法步骤2.2、动画演示2.3、 代码实现3、选择排序3.1、算法步骤3.2、动画演示3.3、 代码实现4、插入排序4.1、算法步骤4.2、动画演示4.3、 代码实现5、希尔排序5.1、算法步骤5.2、动画演示5.3、 代码实现6、归并排序6.1、算法步骤6.2、动画演示6.3、 代码实现7、快速排序7.1、算法步骤7.2、动画演示7.3、 代码实现8、堆排序8.1、算法步骤8.2、动画演示8.3、 代码实现9、计数排序9.1、算法步骤
2021-04-22 11:29:05 468 1
原创 面试题系列之消息队列面试题
面试题系列之消息队列面试题1、为什么使用MQ?MQ的优点1.1、解耦1.2、异步1.3、削峰2、消息队列有什么缺点?3、你们公司生产环境用的是什么消息中间件?4、MQ 有哪些常见问题?如何解决这些问题?4.1、消息的顺序问题4.2、消息的重复问题4.3、如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?5、设计MQ思路6、往期佳文6.1、面试系列6.2、技术系列6.3、源码系列6.4、数据结构和算法系列6.5、并发系列6.6、面试题系列5.7、JV
2021-04-21 14:23:03 609
原创 面试题系列之IO面试题
面试题系列之IO面试题1、IO里面的常见类,字节流、字符流、接口、实现类、方法阻塞?8、往期佳文8.1、面试系列8.2、技术系列8.3、源码系列8.4、数据结构和算法系列8.5、并发系列8.6、面试题系列8.7、JVM系列1、IO里面的常见类,字节流、字符流、接口、实现类、方法阻塞? 8、往期佳文8.1、面试系列1、吊打面试官之一面自我介绍2、吊打面试官之一面项目介绍3、吊打面试官之一面系统架构设计4、吊打面
2021-04-21 10:35:23 14157 5
原创 面试题系列之网络面试题
面试题系列之网络面试题1、OSI七层网络模型的结构与功能2、TCP/IP四层协议有哪些结构与功能3、TCP和UPD的主要特点对比和区别4、TCP 三次握手和四次挥手5、在浏览器中输入url地址后显示主页的过程6、HTTP长连接、短连接7、HTTPS是如何保证安全的?8、往期佳文8.1、面试系列8.2、技术系列8.3、源码系列8.4、数据结构和算法系列8.5、并发系列8.6、面试题系列8.7、JVM系列1、OSI七层网络模型的结构与功能  
2021-04-20 23:38:58 2393
原创 JVM系列之JVM内存结构
JVM系列之JVM内存结构1、运行时数据区2、程序计数器2.1、使用PC寄存器存储字节码指令地址有什么用呢?2.2、PC寄存器为什么会被设定为线程私有的?3、10、往期佳文10.1、面试系列10.2、技术系列10.3、源码系列10.4、数据结构和算法系列10.5、并发系列10.6、面试题系列10.7、JVM系列1、运行时数据区 内存是非常重要的系统资源,是硬盘和 CPU 的中间仓库及桥梁,承载着操作系统和应用程序的实时运行
2021-04-20 19:03:22 266
原创 JVM系列之Java 类加载机制
JVM系列之类加载机制1、类的生命周期2、类的加载3、连接3.1、验证(确保被加载的类的正确性)3.2、准备(为类的静态变量分配内存,并将其初始化为默认值)3.3、解析(把类中的符号引用转换为直接引用)4、初始化5、使用6、卸载7、小例子来醒醒神8、实战分析9、方法论10、往期佳文10.1、面试系列10.2、技术系列10.3、源码系列10.4、数据结构和算法系列10.5、并发系列10.6、面试题系列10.7、JVM系列1、类的生命周期  
2021-04-20 14:27:39 274
原创 JVM系列之Class文件解析
JVM系列之Class文件解析1、简介1.1、前端编译器:源代码到字节码1.2、JIT 编译器:从字节码到机器码2、class文件的结构6、往期佳文6.1、面试系列6.2、技术系列6.3、源码系列6.4、数据结构和算法系列6.5、并发系列6.6、面试题系列6.7、JVM系列······持续更新中······1、简介 机器是只认机器码的,所谓的机器码, 就是机器认的一堆有特殊意义的二进制指令。 &nb
2021-04-20 10:45:23 682
原创 JVM系列之JVM介绍
JVM系列之JVM介绍1、为什么要学习JVM2、 JVM 定义3、JVM的作用4、查看自己的JVM5、JVM,JRE 和 JDK 联系4、往期佳文4.1、面试系列4.2、技术系列4.3、源码系列4.4、数据结构和算法系列4.5、并发系列4.6、面试题系列1、为什么要学习JVM 跟许多人一样,我一开始接触 Java 虚拟机只是因为面试需要用到,所以硬着头皮看看。所以很多人对于为什么要学虚拟机这个问题,他们的答案都是:因为面试
2021-04-19 11:03:28 2503 1
原创 面试题系列之并发面试题
面试题系列之并发面试题1、基础系列2、中端系列3、高端系列5、往期佳文5.1、面试系列5.2、技术系列5.3、源码系列5.4、数据结构和算法系列5.5、并发系列1、基础系列线程和进程的区别?讲一下协程?并发和并行的区别?并发编程的三要素是什么?线程的生命周期有哪些?并且是怎么转换的?讲一下创建线程的几种方式?线程池的优点?线程池的状态?创建线程池的常用方法?2、中端系列说一下synchronized的实现原理?说一下volatile怎么维护可见性和有序性的?说一下synch
2021-04-19 10:06:30 1449 1
原创 并发系列之锁的知识梳理
锁系列之锁的知识梳理1、锁的分类1.1、乐观锁和悲观锁1.1.1、乐观锁1.1.2、悲观锁1.2、公平锁和非公平锁1.2.1、公平锁1.2.2、非公平锁1.3、可重入锁1.4、独享锁和共享锁1.4.1、独享锁1.4.2、共享锁1.5、偏向锁/轻量级锁/重量级锁1.5.1、偏向锁1.5.2、轻量级锁1.5.2、重量级锁1.6、分段锁2、往期佳文2.1、面试系列2.2、技术系列2.3、源码系列2.4、数据结构和算法系列1、锁的分类1.1、乐观锁和悲观锁1.1.1、乐观锁  
2021-04-14 22:32:49 220
原创 并发系列之线程池解析
并发系列之线程池解析1、线程池是什么?2、线程池核心设计与实现2.1、线程池的生命周期2.2、任务执行的机制2.2.1、任务调度2.2.2、任务缓冲2.2.3、任务申请2.2.4、任务拒绝2.3、核心参数2.4、功能线程池3、Worker线程管理3.1、Worker线程增加3.2、Worker线程回收3.3、Worker线程执行任务4、线程池在业务中的实践4.1、快速响应用户请求4.2、快速处理批量任务4.3、解决方案4.3.1、能否不用线程池?4.3.2、追求参数设置合理性?4.3.3、线程池参数动态化?
2021-04-13 11:05:50 448 1
原创 并发系列之AQS分析
并发系列之AQS分析1、AQS简介2、AQS的数据结构3、AQS的主要方法源码解析3.1获取资源3.2、释放资源4、往期佳文4.1、面试系列4.2、技术系列4.3、源码系列4.4、数据结构和算法系列4.5、并发系列1、AQS简介AQS是AbstractQueuedSynchronizer的简称,即抽象队列同步器,从字面意思上理解:抽象:抽象类,只实现一些主要逻辑,有些方法由子类实现;队列:使用先进先出(FIFO)队列存储数据;同步:实现了同步的功能。 &nb
2021-04-12 14:22:03 506
原创 并发系列之CAS与原子操作
并发系列之CAS与原子操作1、CAS的概念2、Java实现CAS的原理 - Unsafe类3、原子操作-AtomicInteger类源码简析4、CAS实现原子操作的三大问题4.1、ABA问题4.2、循环时间长开销大4.3、只能保证一个共享变量的原子操作5、往期佳文5.1、面试系列5.2、技术系列5.3、源码系列5.4、数据结构和算法系列5.5、多线程系列1、CAS的概念CAS的全称是:比较并交换(Compare And Swap)。在CAS中,有这样三个值:V:要更新的变量(var)E:预期值(e
2021-04-12 10:18:35 338 1
原创 源码分析之五种Map容器的区别
源码分析之五种Map容器的区别1、Java中的Map容器概述2、HashMap容器3、Hashtable容器4、ConcurrentHashMap容器5、LinkedHashMap容器6、TreeMap容器7、往期佳文7.1、面试系列7.2、技术系列7.3、源码系列7.4、数据结构和算法系列7.5、多线程系列1、Java中的Map容器概述 Map是一种存储key-value(键值对)的容器,在Java中,常见的Map接口的实现类有五种
2021-04-09 15:46:02 370
原创 源码分析之ConcurrentHashMap容器
源码分析之ConcurrentHashMap容器1、ConcurrentHashMap容器概述2、JDK1.7中的ConcurrentHashMap容器3、JDK1.8中的ConcurrentHashMap容器3.1、主要属性3.2、构造、初始化相关的方法3.3、put方法3.4、get方法3.5、hash计算方法3.6、链表、红黑树转换方法3.7、扩容方法4、总结6、往期佳文6.1、面试系列6.2、技术系列6.3、源码系列5.4、数据结构和算法系列6.5、多线程系列1、ConcurrentHashMap
2021-04-09 15:16:37 322
原创 并发系列之synchronized与lock的区别
并发系列之synchronized与lock的区别1、实现层面2、用法层面3、是否自动释放锁4、获取锁成功是否可知5、是否可中断和是否公平6、往期佳文6.1、面试系列6.2、技术系列6.3、源码系列5.4、数据结构和算法系列6.5、多线程系列1、实现层面 synchronized 是 Java 关键字,JVM层面 实现加锁和释放锁;Lock 是一个接口,在代码层面实现加锁和释放锁2、用法层面 &n
2021-04-09 09:26:29 398
原创 并发系列之Lock解析
并发系列之Lock解析1、Lock简介2、ReentrantLock介绍2.1、内部类Sync:2.2、内部类NonfairSync:2.3、内部类FairSync:3、ReentrantLock的用法5、往期佳文5.1、面试系列5.2、技术系列5.3、源码系列5.4、数据结构和算法系列5.5、多线程系列1、Lock简介 Lock接口是对锁操作的基本定义,它提供了synchronized关键字所具备的全部功能方法,另外我们可以借助Lo
2021-04-08 17:29:19 364
原创 并发系列之synchronized与volatile的区别
并发系列之synchronized与volatile的区别1、使用上的区别2、对原子性的保证3、对可见性的保证4、对有序性的保证和阻塞5、往期佳文5.1、面试系列5.2、技术系列5.3、源码系列5.4、数据结构和算法系列5.5、多线程系列1、使用上的区别 volatile只能修饰变量,synchronized修饰方法和语句块; volatile例子:volati
2021-04-08 13:10:13 319 3
原创 并发系列之volatile解析
并发系列之volatile解析1、volatile简介2、可见性3、有序性4、往期佳文4.1、面试系列4.2、技术系列4.3、源码系列4.4、数据结构和算法系列4.5、多线程系列1、volatile简介 volatile 具有可见性和有序性的特性,同时,对 volatile 修饰的变量进行单个读写操作是具有原子性。2、可见性 简单的说,就
2021-04-08 11:10:43 307 3
原创 并发系列之synchronized解析
多线程系列之synchronized解析1、synchronized简介2、synchronized实现原理2.1、对象锁(monitor)机制2.2、synchronized的happens-before关系2.3、锁获取和锁释放的内存语义3、synchronized优化4、一个例子2、往期佳文2.1、面试系列2.2、技术系列2.3、源码系列2.4、数据结构和算法系列2.5、多线程系列1、synchronized简介 我
2021-04-07 16:22:10 291 1
原创 并发系列之JMM内存模型
并发系列之JMM内存模型1、JMM的介绍2、内存模型抽象结构3、重排序4、 happens-before规则4.1、 happens-before定义4.2、具体规则5、总结5.1、JMM的设计5.2、happens-before与JMM的关系6、往期佳文6.1、面试系列6.2、技术系列6.3、源码系列6.4、数据结构和算法系列6.5、多线程系列1、JMM的介绍 JMM定义了程序中各个共享变量的访问规则,即在虚拟机中将变量
2021-04-06 14:13:57 355
原创 吊打面试官之一面你有什么问题吗
吊打面试官之你有什么问题吗1、吊打面试官之你有什么问题吗?2、往期佳文2.1、面试系列2.2、技术系列2.3、源码系列2.4、数据结构和算法系列2.5、多线程系列1、吊打面试官之你有什么问题吗?信息了解为主主要做什么业务;部门有多少成员;公司的技术栈;自己发展方向。2、往期佳文2.1、面试系列1、吊打面试官之一面自我介绍2、吊打面试官之一面项目介绍3、吊打面试官之一面系统架构设计4、吊打面试官之一面你负责哪一块5、吊打面试官之一面试官提问······持续更新中······
2021-04-02 16:46:34 553 1
原创 源码分析之HashMap容器
源码分析之HashMap容器1、HashMap概述2、HashMap类的属性2.1、HashMap类静态属性2.2、HashMap非静态属性3、HashMap类的构造器4、查找相关方法5、插入相关方法6、删除相关方法7、其它方法1、tableSizeFor方法2、hash方法(重要)3、resize方法(重要)8、总结5、往期佳文5.1、面试系列5.2、技术系列5.3、源码系列5.4、数据结构和算法系列1、HashMap概述 &nbs
2021-04-01 11:44:08 484
原创 数据结构之动态查找树(二叉查找树,平衡二叉树,红黑树)
数据结构之树1、二叉树1.1、二叉树定义1.2、二叉树性质1.3、二叉树遍历方式2、二叉查找树2.1、查找2.2、添加2.3、删除3、平衡二叉树3.1、平衡调整3.1.1、LL型调整3.1.2、RR型调整3.1.3、LR型调整3.1.4、RL型调整3.2、查找3.3、添加3.4、删除4、红黑树4.1、性质4.2、查找4.3、添加4.4、删除5、往期佳文5.1、面试系列5.2、技术系列5.3、源码系列5.4、数据结构和算法系列1、二叉树1.1、二叉树定义 &
2021-03-31 23:49:08 575
原创 数据结构之八大数据结构
数据结构之八大数据结构1、数据结构分类2、数组3、栈4、队列5、链表6、树6、散列表7、堆8、图9、往期佳文9.1、面试系列9.2、技术系列9.3、源码系列1、数据结构分类 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。 常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表等,如图所示:
2021-03-31 10:11:16 469
原创 源码分析之LinkedList容器
源码分析之LinkedList容器1、手撕LinkedList源码1.1、双链表的底层数据结构1.2、双链表中查找元素1.3、双链表中设置元素1.4、双链表中删除元素2、往期佳文2.1、面试系列2.2、技术系列2.3、源码系列1、手撕LinkedList源码外部优秀文章:Java容器之LinkedList源码分析1.1、双链表的底层数据结构堆内存1.2、双链表中查找元素1.3、双链表中设置元素1.4、双链表中删除元素2、往期佳文2.1、面试系列1、吊打面试官之一面自我介绍2、吊打面试
2021-03-30 15:58:26 308 2
原创 源码分析之ArrayList容器
package java.util;import java.util.function.Consumer;import java.util.function.Predicate;import java.util.function.UnaryOperator;import sun.misc.SharedSecrets;/** * Resizable-array implementation of the <tt>List</tt> interface. Impleme
2021-03-30 12:55:00 396
原创 吊打面试官之一面试官提问
吊打面试官之一面试官提问1、你在项目中遇到什么样的难问题?1.1、什么是难解决的问题?1.2、你在项目中遇到什么样的难问题?你是如何解决的?还有没有其他的解决方案??2、往期佳文2.1、面试系列2.2、技术系列2.3、源码系列1、你在项目中遇到什么样的难问题?1.1、什么是难解决的问题?常见问题 or 偏门问题正常问题 or 踩坑问题一般准备常见的、并且具有技术难度的问题(3个左右就可以了),一面面试官一般会根据这些问题进行提问,所以需要我们好好的准备一下。1.2、你在项目中遇到什么样的难问
2021-03-29 11:17:18 532 1
原创 吊打面试官之项目线上问题排查
吊打面试官之项目线上问题排查1、线上常出现的问题2 、CPU相关问题2.1、模拟CPU飙升的场景2.2、排查套路3、内存相关问题3.1、模拟OOM堆异常的场景3.2、排查套路4、磁盘及IO相关问题4.1、模拟磁盘满的场景4.2、排查套路5、业务代码问题5.1、模拟ArithmeticException的场景6.2、排查套路6、往期佳文6.1、面试系列6.2、技术系列6.3、源码系列1、线上常出现的问题CPU相关问题内存相关问题磁盘及IO相关问题业务代码问题推荐使用工具: Arthas 来排查问
2021-03-29 10:49:06 2602 2
原创 源码分析之SpringBoot自动装配原理
源码分析之SpringBoot自动装配原理1、自动装配流程2 、@SpringBootConfiguration3、@EnableAutoConfiguration4、往期佳文4.1、面试系列4.2、技术系列4.3、源码系列@SpringBootApplicationpublic class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplicati
2021-03-26 14:06:19 446
原创 源码分析之SpringBoot启动流程原理
public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args);}public static ConfigurableApplicationContext run(Class<?>[] primarySources, String[] args) { return new SpringApplication(primarySources).run(args);}
2021-03-25 15:38:07 673
原创 吊打面试关之分布式事务
吊打面试官之分布式锁1、什么是分布式锁2、有哪些分布式锁解决方案?3、为什么选择基于Redis分布式锁?1、基于数据库实现分布式锁2、基于ZooKeeper实现分布式锁3、基于Redis实现分布式锁4、如何实现基于zookeeper分布式锁5、如何实现基于redis分布式锁1、什么是分布式锁 我认为就是在同一个系统中访问不同服务器能做到控制共享资源的访问的一种互斥机制(解决方案)。 &n
2021-03-24 14:50:44 598 1
原创 吊打面试官之一面你负责哪块
4、你负责了哪一块4.1、分维度阐述普通一线研发系统负责人架构师4.2、普通一线研发快速了解需求,产出代码如何充分单元测试,快速上线4.3、系统负责人对系统边界值智者指责是否清晰系统稳定性考虑:连接池,监控,限流做了吗4.3、架构师整个链路在电商场景中的位置未来的扩展性如何发现瓶颈,快速解决...
2021-03-22 15:18:51 1221 1
原创 吊打面试官之一面系统架构设计
3、系统架构方案3.1、分维度介绍系统架构:体现整体部署结构,选型思考业务架构:业务场景引入进来做业务架构设计3.2、系统架构流量入口服务治理数据选型3.3、业务架构商品系统:商品详情页查询交易系统:下单支付流程3.3.1、商品的领域模型商品基础品牌类目库存详情详情销量价格物流3.3.2、交易的领域模型业务单主子商品单支付单营销工具4、你负责了哪一块4.1、分维度阐述普通一线研发系统负责人架构师4.2、普通一线研发快速
2021-03-22 14:48:24 929 2
原创 吊打面试官之幂等性问题
项目场景:提示:这里简述项目相关背景:例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)问题描述:提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obta
2021-03-22 09:38:05 773
原创 吊打面试官之一面项目介绍
1、聊聊项目要点项目场景介绍系统架构方案你负责了哪一块2、项目场景介绍项目做了什么?内容要有结构性:经历简介、项目经历、技术总结凸显能力:技术经验能力、学习思考能力3、自我介绍内容经历简介 个人信息、教育背景、职业生涯、工作年限项目经历 物业项目:微服务,领域模型驱动设计、结果产出、QPS、高并发场景、担当什么?技能总结 你的技术栈,开发语言,主要框架,中间件(存储
2021-03-19 14:03:51 954 2
原创 吊打面试官之一面自我介绍
1、面试流程自我介绍聊聊项目提问环节你有什么要问的吗2、自我介绍要点简短有力3-4分钟就好内容要有结构性:经历简介、项目经历、技术总结凸显能力:技术经验能力、学习思考能力3、自我介绍内容经历简介 个人信息、教育背景、职业生涯、工作年限项目经历 物业项目:微服务,领域模型驱动设计、结果产出、QPS、高并发场景、担当什么?技能总结 你的技术栈,开发语言,主要框架,中间
2021-03-17 16:36:54 1906 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人