![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 71
玉面大蛟龙
阿里巴巴后端工程师
展开
-
Java后端研发实习生面试知识点总结(持续更新中)
一、Java基础 1、说说spring中的IOC和AOPIOC:IOC容器帮我们创建对象,不需要程序员去手动创建。IOC就像一个工厂一样,当我们需要一个对象的时候,只需要写java代码或者xml文件,IOC就会在适当的时候创建,通过DI自动注入,我们不需要关心这些bean是如何创建的。DI就像打疫苗一样,我们不需要知道疫苗是如何被制造出来的,只需要到指定点去告诉医务人员要打疫苗,相当于编写java代码或者xml文件,医务人员就会将疫苗注入我们体内。IOC还有一个重要的作......原创 2022-01-15 14:47:24 · 2258 阅读 · 2 评论 -
面试常问:Java中实例变量和局部变量的区别
— 类变量: static修饰。在linking的prepare阶段:给类变量默认赋值;然后在initial阶段:给类变量显式赋值,即静态代码块赋值。—— 实例变量:随着对象的创建,会在堆空间中分配实例变量空间,并进行默认赋值。生命周期与类对象相同。:包括方法形参、方法局部变量、代码块内局部变量。:在使用前,都经历过默认初始化赋值。必须要进行显式赋值!原创 2023-04-21 21:10:57 · 192 阅读 · 0 评论 -
一些关于简历的建议
具体来说,就是项目背景、个人职责、如何去做、学到什么。其中,项目背景和个人职责属于“必要的废话”,尽量一句话概况,将简历上的空间留来叙述做了什么和学到什么;即使项目经历再多,也总有主要项目和次要项目,需要详略得当,一般项目经历不宜超过3个。如果写过多的项目,用PUA话术来说就是只干活不思考,没有沉淀出可复用的体系和方法论;2、保证基本信息的真实。这段时间帮同学们改简历,发现一些共性的问题,也是很多同学平时没有注意到的。很多同学为了省事,都用随手拍的美颜照放在简历上,这样会给面试官造成不正经的印象;原创 2023-02-06 23:40:24 · 134 阅读 · 0 评论 -
简单聊聊MVCC
本文章仅仅是从一个点来讲MVCC,比较粗浅,并不能代表这就是全部的MVCC。网上还有许多其他详细的MVCC介绍文章,可以结合起来阅读。原创 2022-09-26 11:56:51 · 584 阅读 · 0 评论 -
面试题:实现死锁
3、同时,线程A想要资源2,他要等待线程B放弃手里的资源2;线程B想要资源1,他要等待线程A放弃手里的资源1,这个时候就形成死锁了。1、首先要有两个资源1和2,有两个线程A和B。2、线程A抢到了资源1,线程B抢到了资源2。...原创 2022-07-31 00:50:56 · 261 阅读 · 0 评论 -
VO、DO、DTO、PO是什么
vo(viewobject)视图对象用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来,一般由后端传输给前端。原创 2022-07-24 16:55:48 · 2618 阅读 · 0 评论 -
Java面试必问:类加载过程与类加载器
一、类加载过程先说一下类的生命周期吧加载、验证、准备、解析、初始化、使用、卸载类的加载过程也发生在类的生命周期中,其实就是他的前五步: 1、加载 查找加载类的二进制数据(Class文件) 其中,在方法区中存放类的信息;在堆中存放Class文件对应的类实例 2、验证 确保加载的类信息是正确的 3、准...原创 2022-03-06 17:58:27 · 322 阅读 · 0 评论 -
阿里一面被问到BIO、NIO和AIO,我:……,面试官:“出门右转”
目录一、IO模型有哪些?二、BIO三、NIO四、AIO五、适用场景一、IO模型有哪些?IO模型主要分为三类:BIO、NIO和AIO。Java 中的 BIO、NIO和 AIO 理解为是 Java 语言对操作系统的各种 IO 模型的封装。程序员在使用这些 API 的时候,不需要关心操作系统层面的知识,也不需要根据不同操作系统编写不同的代码。只需要使用Java的API就可以了。二、BIOBIO是同步并阻塞I...原创 2022-03-06 15:42:08 · 472 阅读 · 0 评论 -
浅析分布式ID生成算法(UUID、Snowflake、Leaf)
一、雪花算法1、雪花算法简介SnowFlake 算法,是 Twitter 开源的分布式 id 生成算法。其核心思想就是:使用一个 64 bit 的 long 型的数字作为全局唯一 id。在分布式系统中的应用十分广泛,且ID 引入了时间戳,基本上是保持自增的。由于在Java中64bit的整数是long类型,所以在Java中SnowFlake算法生成的id就是long来存储的。 2、雪花算法生成ID的结构 ...原创 2022-02-17 16:26:21 · 2535 阅读 · 0 评论 -
带着面试官畅游Java线程池
一、为什么使用线程池java中经常需要用到多线程来处理一些业务,如果单纯使用继承Thread或者实现Runnable接口的方式来创建线程,那样势必有创建及销毁线程耗费资源、线程上下文切换问题。同时创建过多的线程也可能引发资源耗尽的风险,这个时候引入线程池比较合理,方便线程任务的管理。java中涉及到线程池的相关类均在jdk1.5开始的 java.util.concurrent(JUC)包中,涉及到的几个核心类及接口包括:Executor、Executors、Execu...原创 2022-02-11 20:40:55 · 337 阅读 · 0 评论 -
Java并发中的可见性和原子性
目录一、可见性 1、实例讲解 2、如何理解Java线程中的不可见性? 3、那么如何实现可见性呢?二、原子性 1、实例讲解 2、a++的本质 3、使用Atomicxxxx保证原子性: 4、使用synchronized同步代码段强制实现原子性和可见性一、可见性 1、实例讲解先看这样一段代码:public class Test { ...原创 2022-02-10 22:12:24 · 810 阅读 · 0 评论 -
JavaThread、Runnable、Callable、线程池的使用
一、继承Thread类public class TestThread1 extends Thread { @Override public void run() { for(int i=1; i<=100; i++) { System.out.println("线程1的" + i); try { sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } }原创 2022-02-09 22:34:01 · 2096 阅读 · 0 评论 -
讲讲用户态和内核态之间的爱恨情仇(面试篇)
前言本文深度为上层语言(Java、go等)后端实习生面试难度,力求简洁明了。一、什么是用户态?什么是内核态?操作系统为了保护自己,严格控制用户程序的资源访问。不需要外部资源的程序运行状态是用户态,反之如果需要内核帮忙操作资源,此时就是内核态。内核态下,CPU可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡. CPU也可以将自己从一个程序切换到另一个程序;用户态下,只能受限的访问内存, 且不允许访问外围设备。占...原创 2022-02-08 14:37:54 · 415 阅读 · 0 评论 -
深入剖析垃圾收集器之后,我发现里面没有扫帚
前言为了面试实习生,把垃圾收集器相关的知识整理一下。一、前置的几个概念1、STW(Stop the world)它是指 JVM 由于要执行 GC 而停止了应用程序的执行,并且这种情形会在任何一种 GC 算法中发生。当 Stop-the-world 发生时,除了 GC 的线程以外,其他的线程均处于等待的状态,直到 GC 任务完成。实际上,很多 GC 优化都是通过减少 Stop-the-world 的时间来提高程序的性能。2、Safe-poin...原创 2022-02-07 22:51:03 · 406 阅读 · 0 评论 -
在面试官面前优雅地种下红黑树
目录前言一、红黑树的基本性质二、为什么要用红黑二叉树1、 二叉搜索树(Binary Search Trees) 2、二叉平衡搜索树(Balanced binary search trees) 3、总结:为什么要用红黑树三、红黑树的插入 1、父节点为黑色 2、父节点为红色,叔叔节点为红色 3、父节点为红、叔叔节点为黑,新节点是祖父节点的右子节点的右子节点(上表中的:右右)...原创 2022-02-05 22:25:47 · 670 阅读 · 0 评论 -
今天轮到我来撕ConcurrentHashMap了
前言你是否有过这样的经历:信心满满地进入面试房间,慷慨激昂地进行自我介绍,一度以为自己稳操胜券,直到面试官开口:“你是学Java的是吧?那你知道ConcurrentHashMap的实现原理吗?你知道ConcurrentHashMap1.7和1.8的区别吗?你知道ConcurrentHashMap使用什么技术来保证线程安全吗?你能说说ConcurrentHashMap的put()方法吗?跟我说说ConcurrentHashmap 不支持 key 或者 value 为 null 的原因?pu...原创 2022-02-04 21:22:36 · 3499 阅读 · 0 评论