Java面试那点事
文章平均质量分 94
这里致力于分享 Java 面试路上的各种知识,无论是技术还是经验,你需要的这里都有!
这里可以让你【快速了解 Java 相关知识】,并且【短时间在面试方面有跨越式提升】
面试路上,你不孤单!
程序员世杰
公众号『程序员世杰』,就职过各互联网大厂,资深码农,专注Java后端技术栈、AIGC等领域的技术分享
展开
-
千万别忽视基础!十张图带你一步步理解Java内存结构!
本文笔者将为大家详解Java内存结构。原创 2024-07-01 09:20:45 · 1572 阅读 · 0 评论 -
2020届春招实习面经(含阿里、腾讯、网易、京东、华为、美团、快手、字节跳动)
前言:之前发表了一篇实习复习的内容:史上最全!20/21届春招/秋招 实习/校招 JAVA面试全攻略!复习回顾这一篇就够了!在这篇文章详细说了该如何去复习,也答应各位把面经整理一下,但是因为入职的事情耽搁了,现在整理出来回馈给大家!PS:楼主只收到网易、快手、华为三家offer,也不是所谓的offer收割机。只是提供一些个人经验,这个平台帮了我很多,前人栽树后人乘凉,共勉!文章目录快手(已offer)一面(60mins)二面(55mins)HR面(15mins)阿里一面腾讯一面(40mi.原创 2020-06-14 23:42:22 · 3564 阅读 · 4 评论 -
二分查找算法的万能公式(LeetCode35、704、1095)
二分查找常常用于有序数组的查找操作。当然如果是一个问题,数组的顺序满足特定条件(不仅仅是升序或者降序,也可以是先升后降或先降后升),就可以通过逐步排查,缩小问题的规模的方式找到,这种算法也是二分查找算法。PS:不想看过程的,直接拉到万能公式,即看即用!文章目录两种二分查找第一种第二种思维导图万能公式代码示例(套公式示例)LeetCode704LeetCode35LeetCode1095...原创 2020-04-29 22:09:25 · 3596 阅读 · 0 评论 -
史上最全!20/21届春招/秋招 实习/校招 JAVA面试全攻略!复习回顾这一篇就够了!
之前写过一篇Java面试知识点汇总,由于我不断补充,现在知识点已经比较庞杂,很多人私信我,说那一篇全是知识点太过庞杂,问我有没有整合的。正好春招和秋招在即,我花费了几个月的时间,把知识点整合成不同的模块并针对不同的知识点以及结合本人自己的面试经历,整合出这篇java面试全攻略。希望对大家有所帮助!原创 2020-04-26 18:48:13 · 6624 阅读 · 2 评论 -
Redis 常见数据结构以及使用场景
1、String(字符串):String 数据结构是简单的 key-value 类型,value 其实不仅可以是 String,也可以是数字。应用场景:常规 key-value 缓存应用;常规计数:微博数,粉丝数等。2、hash(字典): Hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象,后续操作的时候,可以直接仅仅修改这个对象中的某...转载 2020-03-29 22:12:56 · 928 阅读 · 0 评论 -
Redis 字典的底层实现
字典又称符号表,关联数组或者映射,是一种用于保存键值对的抽象数据结构。一、Redis的字典底层结构Redis 的字典使用哈希表作为底层实现,一个哈希表里面有多个哈希节点,而每个哈希表节点就保存了字典中的一个键值对,Redis的字典可以参照Java中的HashMap。哈希表代码typedef struct dictht{ //哈希表数组 dictEntry **table...转载 2020-03-29 21:58:58 · 537 阅读 · 0 评论 -
Java基础 200323
1. Java 中的设计原则?开闭原则(Open Close Principle):对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类。里氏代换原则(Liskov Substitution Principle):任何基类可以出现的地方,子类一...原创 2020-03-12 22:18:51 · 154 阅读 · 0 评论 -
Java基础 200322
1. BIO、NIO、AIO 有什么区别?2. java 中 IO 流分为几种?3. final 在 java 中有什么作用?抽象类能使用 final 修饰吗?4. java 中的 Math.round (-1.5) 等于多少?5. 什么是半双工?什么是全双工?6. 在多线程下选用什么处理大规模字符串?原创 2020-03-12 21:46:08 · 245 阅读 · 0 评论 -
Java基础 200321
1. 抽象类和接口的区别?普通类和抽象类有哪些区别?2. 抽象类必须要有抽象方法吗?抽象类能使用 final 修饰吗?3. 局部内部类和匿名内部类为什么只能访问 final 的局部变量?4. 什么是多态?原创 2020-03-12 17:50:35 · 239 阅读 · 0 评论 -
Java基础 200320
1. 什么是反射?反射的应用场景?2. 代理模式有什么用?应用场景是什么?3. 动态代理的实现方式都有什么?那种实现效率高?4. 动态代理是什么?与静态代理的区别在于?原创 2020-03-12 17:05:36 · 216 阅读 · 0 评论 -
Java基础 200319
1. 为什么要使用克隆?如何实现对象克隆?2. 深拷贝和浅拷贝区别是什么?3. 值传递和引用传递的区别是什么?4. 什么是 java 序列化?什么情况下需要序列化?如何避免序列化对象中的属性序列化?原创 2020-03-12 16:13:01 · 181 阅读 · 0 评论 -
Java基础 200318
1. throw 和 throws 的区别?2. try-catch-finally 中哪个部分可以省略?3. try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?4. 常见的异常类有哪些?5. java 异常的执行流程?【Java 面试那点事】这里致力于分享 Java 面试路上的各种知识,无论是技术还是经验,你需要的这...原创 2020-03-12 12:02:36 · 231 阅读 · 0 评论 -
Java基础 200317
1. 线程池都有哪些状态?2. 线程池中 submit () 和 execute () 方法有什么区别?3. 创建线程池有哪几种方式?4. 创建线程池的各个参数代表的含义?【Java 面试那点事】这里致力于分享 Java 面试路上的各种知识,无论是技术还是经验,你需要的这里都有!这里可以让你【快速了解 Java 相关知识】,并且【短时间在面试方面有跨越式提升】面试路上,你不孤...原创 2020-03-12 10:43:43 · 226 阅读 · 0 评论 -
Java基础概念
1.java 基本类型的默认值和取值范围整数类型 byte(1 个字节)short(2 个字节)int(4 个字节)long(8 个字节)字符类型 char(2 个字节)浮点类型 float(4 个字节)double(8 个字节)2.Java 标识符有如下命名规则:由 26 个英文字母大小写,数字:0-9 符号:_ $ ¥ 组成标识符应以字母、_ 、$ 开头。标识符不能是关键字。...原创 2020-03-11 11:38:55 · 975 阅读 · 0 评论 -
Java常见关键字
有些关键字在之前的内容已经提到过,这里做一个总结一、final、static、abstract1.static 修饰符被 static 关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。static 作用于代码块:称作静态代码块static 方法(类方法)只能访问 static 方法,不能访问非 static 方法static 方法只能...原创 2020-03-11 10:59:22 · 802 阅读 · 0 评论 -
Java面向对象概念全解
java四大特性(抽象、封装、继承、多态)面向对象(多态、代码执行顺序,初始化顺序、)super,this一、类(一)同级类在一个.java 文件中可以有多个同级类(和 public 一样的位置,注意不是内部类),编译一个 java 文件会生成多个 class 文件。修饰符只可以 abstract/final/和无修饰符,不能是其他的 protected/private/public等修饰...原创 2020-03-10 18:22:46 · 954 阅读 · 0 评论 -
反射与代理模式
一、反射(一)概述JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 java 语言的反射机制。实际上,我们创建的每一个类也都是对象,即类本身是 java.lang.Class 类的实例对象。这个实例对象称之为类对象,也就是 Class 对象。反射就是把 ...原创 2020-03-09 22:16:14 · 1907 阅读 · 0 评论 -
Java异常详解
一、异常分类1.Java 标准库内建了一些通用的异常,这些类以 Throwable 为顶层父类。Throwable 又派生出 Error 类和 Exception 类。错误:Error 类以及他的子类的实例,代表了 JVM 本身的错误。错误不能被程序员通过代码处理,Error 很少出现。因此,程序员应该关注 Exception 为父类的分支下的各种异常类。异常:Exception...原创 2020-03-09 11:16:59 · 693 阅读 · 0 评论 -
操作系统 200316
1. 普通文件 IO 页缓存需要复制几次?具体过程是什么?2. 常见的 IO 模型?IO 多路复用的 select、poll 和 epoll 函数额度区别?【Java 面试那点事】这里致力于分享 Java 面试路上的各种知识,无论是技术还是经验,你需要的这里都有!这里可以让你【快速了解 Java 相关知识】,并且【短时间在面试方面有跨越式提升】面试路上,你不孤单!...原创 2020-03-08 11:25:15 · 240 阅读 · 0 评论 -
操作系统 200315
1. 如何动态查看服务器日志文件?2. 如何打包压缩文件?3. 修改 /test 下的 aaa.txt 的权限为属主有全部权限,属主所在的组有读写权限, 其他用户只有读的权限?4. 查找 text.txt 文件中的 abc 的位置?【Java 面试那点事】这里致力于分享 Java 面试路上的各种知识,无论是技术还是经验,你需要的这里都有!这里可以让你【快速了解 Java 相关知...原创 2020-03-08 10:56:31 · 174 阅读 · 0 评论 -
操作系统 200314
互斥和同步的关系?死锁产生的条件?信号量的 PV 实现?生产者消费者的代码实现?【Java 面试那点事】这里致力于分享 Java 面试路上的各种知识,无论是技术还是经验,你需要的这里都有!这里可以让你【快速了解 Java 相关知识】,并且【短时间在面试方面有跨越式提升】面试路上,你不孤单!...原创 2020-03-08 10:05:23 · 248 阅读 · 0 评论 -
操作系统 200313
虚拟内存的作用与特性?虚拟内存的实现方式?分别有何种缺陷?页面置换算法?什么是中断?产生中断的方式?什么是系统调用?什么会导致用户态陷入内核态?陷阱和中断的区别?【Java 面试那点事】这里致力于分享 Java 面试路上的各种知识,无论是技术还是经验,你需要的这里都有!这里可以让你【快速了解 Java 相关知识】,并且【短时间在面试方面有跨越式提升】...原创 2020-03-08 09:27:29 · 295 阅读 · 0 评论 -
操作系统 200312
1. 什么是僵尸进程?什么是孤儿进程?有什么危害?2. CPU的上下文切换有几种?系统中断进行了几次上下文切换?3. 进程的通信方式?效率最高的通信方式是什么?4. 进程调度算法有几种?应用最广泛的是什么?5. 进程和线程的区别?【Java 面试那点事】这里致力于分享 Java 面试路上的各种知识,无论是技术还是经验,你需要的这里都有!这里可以让你【快速了解 Java 相关知识】,...原创 2020-03-07 21:31:14 · 193 阅读 · 0 评论 -
数据库 200311
1. 数据库从哪几方面进行调优?2. 索引优化方向?3. mysql 问题排查都有哪些手段?怎么验证 mysql 的索引是否满足需求?4. 主从复制的过程?【Java 面试那点事】这里致力于分享 Java 面试路上的各种知识,无论是技术还是经验,你需要的这里都有!这里可以让你【快速了解 Java 相关知识】,并且【短时间在面试方面有跨越式提升】面试路上,你不孤单!...原创 2020-03-07 21:04:19 · 212 阅读 · 0 评论 -
数据库 200310
1. 两种常见的数据库引擎?分别具有什么特点?2. 一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是几?3. 什么是主从复制?什么是读写分离?【Java 面试那点事】这里致力于分享 Java 面试路上的各种知识,无论是技术还是经验,你需要的这里都有!这里可以让你【快速了解 Java 相关知识】,并且【短时间在面试方面有...原创 2020-03-07 20:43:25 · 208 阅读 · 0 评论 -
数据库 200309
1. 索引是什么?是如何实现的?2. 索引的分类?索引失效条件?3. 索引优化方式?4. 怎么验证 mysql 的索引是否满足需求?5. 索引的底层结构是什么?说说各种的特点和缺点?【Java 面试那点事】这里致力于分享 Java 面试路上的各种知识,无论是技术还是经验,你需要的这里都有!这里可以让你【快速了解 Java 相关知识】,并且【短时间在面试方面有跨越式提升】面...原创 2020-03-07 20:00:10 · 162 阅读 · 0 评论 -
数据库 200308
事务的 ACID 特性?事务并发会造成的问题?事务的隔离级别?说一下乐观锁和悲观锁?说一下 mysql 的行锁和表锁?事务的隔离级别和加锁的关系?【Java 面试那点事】这里致力于分享 Java 面试路上的各种知识,无论是技术还是经验,你需要的这里都有!这里可以让你【快速了解 Java 相关知识】,并且【短时间在面试方面有跨越式提升】面试路上,你不孤单!...原创 2020-03-07 18:06:19 · 348 阅读 · 0 评论 -
数据库 200307
什么是超键?什么是主键?二者有什么关系?数据库的三范式是什么?char 和 varchar 的区别是什么?delete 和 truncate 有什么区别?谁效率更好?存储过程和函数的区别?视图的操作会对基本表产生影响吗?count(*)和 count(列名)谁的效率更高?【Java 面试那点事】这里致力于分享 Java 面试路上的各种知识,无论是技...原创 2020-03-07 17:31:18 · 261 阅读 · 0 评论 -
Java面试那点事——网络200306
什么 XSS 攻击?如何预防?什么是 CSRF 攻击?如何预防?什么是 DDoS 攻击?如何预防什么是 SQL 注入攻击?如何预防?【Java 面试那点事】这里致力于分享 Java 面试路上的各种知识,无论是技术还是经验,你需要的这里都有!这里可以让你【快速了解 Java 相关知识】,并且【短时间在面试方面有跨越式提升】面试路上,你不孤单!...原创 2020-03-03 21:14:53 · 278 阅读 · 0 评论 -
SQL注入攻击详解
一、什么是SQL注入SQL 注入(SQLi)是一种注入攻击,,可以执行恶意 SQL 语句。它通过将任意 SQL 代码插入数据库查询,使攻击者能够完全控制 Web 应用程序后面的数据库服务器。攻击者可以使用 SQL 注入漏洞绕过应用程序安全措施;可以绕过网页或 Web 应用程序的身份验证和授权,并检索整个 SQL 数据库的内容;还可以使用 SQL 注入来添加,修改和删除数据库中的记录。SQL 注...原创 2020-03-03 17:23:20 · 8189 阅读 · 1 评论 -
Java面试那点事——网络200305
http1.0 与 http1.1 的区别?什么是 keep-alive 模式?简单说一下 http2.0?什么是幂等性?http 的方法是否都符合幂等性?若不符合,怎么避免?https 与 http 的区别?https 加密的过程?https 是否存在安全问题?如何避免?【Java 面试那点事】这里致力于分享 Java 面试路上的各种知识,无论是技术还是经验...原创 2020-03-03 15:32:22 · 325 阅读 · 0 评论 -
Java面试那点事——网络200304
TCP 是如何保证可靠传输数据的?TCP 和 UDP 的区别?TCP 三次握手和四次挥手的过程?TCP 为什么需要三次握手?只进行两次会出现什么问题?第三次握手失败的情况 TCP 是如何处理的?为什么连接的时候是三次握手,关闭的时候却是四次握手?【Java 面试那点事】这里致力于分享 Java 面试路上的各种知识,无论是技术还是经验,你需要的这里都有!这里可...原创 2020-03-03 09:57:02 · 294 阅读 · 0 评论 -
Java面试那点事——网络200303
OSI 七层模型?HTTP 协议对应第几层?IP 协议呢?从一个 URL 到获取页面的过程?session 的实现原理?session 和 cookie 的关系?禁用 cookie 后对 session 的影响?forward 和 redirect 的区别?...原创 2020-03-02 20:18:13 · 278 阅读 · 0 评论 -
HTTP协议的补充(POST、GET请求方法、幂等性)
一、幂等性1.定义:HTTP 方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用。说白了就是,同一个请求,发送一次和发送 N 次效果是一样的!幂等性是分布式系统设计中十分重要的概念,而 HTTP 的分布式本质也决定了它在 HTTP 中具有重要地位。我们不能轻易假设分布式环境的可靠性。【问题】withdraw 的语义是从 account_id 对应的账户中扣除 amount 数额...原创 2020-03-02 16:31:31 · 2659 阅读 · 0 评论 -
Java面试那点事——网络200302
内网和外网 IP 地址的区别?ABC 三类 IP 地址的划分区别:外网 IP 是全世界唯一的 IP 地址,仅分配给一个网络设备。公网 IP 地址全世界仅分配给一个网络设备(比如你在家拨号,分配给你一个 IP 地址吧,那个地址是唯一的,你用你机器做个网站,别人访问你的 IP 地址就可以连接到你的机器)内网 IP 局域网,网线都是连接在同一个 交换机上面的,也就是说它们的 IP ...原创 2020-03-02 11:57:46 · 181 阅读 · 0 评论 -
Java面试那点事——基础200119
1. 说一下 synchronized 底层实现原理?2.volatile 有是没用?synchronized 和 volatile 的区别是什么?3.synchronized 和 Lock 有什么区别?4. 说一下 atomic 的原理?5. 乐观锁的实现方式?6. 用代码实现不可重入锁?...原创 2020-01-19 21:51:39 · 258 阅读 · 1 评论 -
Java面试那点事——基础200116
并行和并发有什么区别?同步、异步、阻塞、非阻塞有什么区别?同步等同于阻塞吗?线程和进程的区别?守护线程是什么?线程有哪些状态?创建线程有哪几种方式?线程的 run () 和 start () 有什么区别?ThreadLocal 是什么?有哪些使用场景?notify () 和 notifyAll () 有什么区别?现在有 T1、T2、T3 三个线程,你怎样保证 T2...原创 2020-01-17 11:08:15 · 248 阅读 · 0 评论 -
Java面试那点事——基础200115
1. 什么是锁消除?什么是锁膨胀锁消除:对数据进行逃逸分析。对象实例都是存在于线程共享的堆中的,即便是局部变量的对象,也是存在于堆中,但是局部变量对象的引用是存在于方法栈中的,方法栈是线程私有,线程之间彼此不可见,当对于这样的引用进行加锁和释放锁的时候,其实是没有必要的,因为数据是不会逃逸出去,比如说StringBuffer的append方法,是synchronized修饰的同步方法,虚拟机检...原创 2020-01-16 11:20:19 · 343 阅读 · 0 评论 -
Java面试那点事——基础200114
1.java 容器都有哪些?2.Collection 和 Collections 有什么区别?3.List、Set、Map 之间的区别是什么?4.ArrayList 和 LinkedList 的区别是什么?5.ArrayList 和 Vector 的区别是什么?6.哪些集合类是线程安全的?7.Iterator 怎么使用?有什么特点?Iterator的 fail-fast属性是什么?8...原创 2020-01-14 21:56:06 · 1675 阅读 · 0 评论 -
Java面试那点事——基础200113
1.HashMap 和 Hashtable 有什么区别?HashMap 和 HashSet 呢?HashMap 和 Hashtable 区别:hashmap线程不安全、hashtable线程安全hashmap继承自abstractmap、hashtable继承dictionaryhashmap允许存储null键值(存一个null键和多个value是null)、hashtable不允许h...原创 2020-01-14 10:09:18 · 3006 阅读 · 1 评论