08 2022 档案
摘要:HTTP连环问 什么是HTTP? HTTP协议是Hyper TextTransfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。 HTTP特点? HTTP允许传输任意类型的数据。传输的类型由Content-Type加以标记。 无状态。对于客户端每
阅读全文
摘要:Redis串讲 什么是Redis? Redis是一个高性能的非关系型的键值对数据库,使用C编写实现的。与传统的数据库不同的是Redis是存在内存中的,所以读写速度非常快,每秒可以处理超过10万次的读写操作,这也是Redis常常被用作缓存的原因。 Redis的优缺点? 优点: 读写性能好,读的速度可达
阅读全文
摘要:算法之哈希表 介绍 散列表思想 假设你们班级100个同学每个人的学号是由院系-年级-班级和编号组成,例如学号为01100168表示是1系,10级1班的68号。为了快速查找到68号的成绩信息,可以建立一张表,但是不能用学号作为下标,学号的数值实在太大。因此将学号除以1100100取余,即得到编号作为该
阅读全文
摘要:Spring连环问 Spring有什么优点吗? 轻量,基本版本大约2MB。 通过控制反转和依赖注入实现松耦合。 支持面向切面的编程,并且把应用业务逻辑和系统服务分开。 通过切面和模板减少样板式代码。 方便集成各种优秀框架。内部提供了对各种优秀框架的直接支持(如:Hibernate、MyBatis等)
阅读全文
摘要:Redis连环问 Redis为什么这么快呢? 基于内存:Redis是使用内存存储,没有磁盘IO上的开销。数据存在内存中,读写速度快。 单线程实现( Redis 6.0以前):Redis使用单个线程处理请求,避免了多个线程之间线程切换和锁资源争用的开销。 IO多路复用模型:Redis 采用 IO 多路
阅读全文
摘要:JVM基础连环问 什么是堆吗? 堆用于存放对象实例,是垃圾收集器管理的主要区域,因此也被称作GC堆。堆可以细分为:新生代(Eden空间、From Survivor、To Survivor空间)和老年代。 堆栈的区别? 堆的物理地址分配是不连续的,性能较慢;栈的物理地址分配是连续的,性能相对较快。 堆
阅读全文
摘要:List连环问 List? List是一个接口,常见的实现类有ArrayList和LinkedList ArrayList和LinkedList的区别? ArrayList的底层数据结构是数组,支持下标访问,查询数据快。默认初始值大小为10,容量不足时会进行扩容 而LinkedList的底层数据结构
阅读全文
摘要:MySQL索引连环问 什么是索引? 索引类似于书本的目录,是存储引擎用于提高数据库表的访问速度的一种数据结构。 数据是存储在磁盘上的,查询数据时,如果没有索引,会加载所有的数据到内存,依次进行检索,读取磁盘次数较多。 有了索引,就不需要加载所有数据,因为B+树的高度一般在2-4层,最多只需要读取2-
阅读全文
摘要:分布式锁 什么是分布式锁? 我们的手机有锁、车有锁、家门有锁、贵重物品会锁进保险箱。可以说,锁在我们生活中无处不在,时刻保护着我们的人身财产安全。 在计算机领域也一样,锁可以理解为针对某项资源使用权限的管理,它通常用来控制共享资源,比如一个进程内有多个线程竞争一个数据的使用权限,解决方式之一就是加锁
阅读全文
摘要:一面 自我介绍,简单介绍了一下之前做过什么项目,用了什么技术等等,没有详细问项目的细节,但具体的功能和业务一定要讲清楚。 JVM垃圾回收,fullgc是否可以回收方法区 GC 的基本原理:将内存中不再被使用的对象进行回收,GC中用于回收的方法称为收集器,由于GC需要消耗一些资源和时间,Java在对对
阅读全文
摘要:用友 2021年9月1日Java一面 Java有哪些集合,以及他们有哪些实现? list map set arraylist linkedlist hashmap treemap hashset treeset HashMap底层实现,扩容了解吗? 扰动函数 (h = key.hashCode())
阅读全文
摘要:百度 实习或者自己的小项目中接触过设计模式吗?比如用过什么设计模式? 单例模式、代理模式、工厂模式 多态这个概念口述一下? 重写 重载 HashMap 和 TreeMap 区别了解吗?使用场景了解吗?说一下 HashMap 的底层实现? HashMap无序,TreeMap有序。 HashMap覆盖了
阅读全文
摘要:小米 Java开发 一面 一个用户订单表,一个用户有可能多个订单,查询出每个用户的最新订单 Java 新建线程有哪几种方式 Java 内存区域,new出来的对象分配在哪里,堆内存里面是怎么划分的,为什么要分为新生代,老年代 方法区 堆 本地方法栈、虚拟机栈、程序计数器、直接内存 edon s1 s2
阅读全文
摘要:oppo 提前批 8.24 一面 java几种集合,应用场景,ArrayList和LinkedList区别 list set map,有序可重复 无需不可重复 key不可重复value可重复 数据结构不同、效率不同、存储空间不同 tcp/udp联系区别,为什么3次握手,四次挥手的双方状态变化,tim
阅读全文
摘要:项目如何限流? 添加购物车时,数据库层面是如何操作的? 知道接口的幂等性和非幂等性吗? 项目里面有没有考虑幂等性? 自定义线程池需要关注的参数有哪些? 核心线程数、最大线程池、线程存活时间、时间单位、阻塞队列、拒绝策略、线程工厂 线程池执行execute()方法和submit()方法的区别是什么呢?
阅读全文
摘要:广联达 秋招面试22届java面经 自我介绍 聊了聊项目 http与https,分别是什么,区别是什么 端口、ssl加密、证书 https的请求方式 封装继承多态 将bean封装,提供调用方法、子类继承父类、重载和重写 hashmap底层,扩容机制,容量为什么是2的幂 扰动函数 (h = key.h
阅读全文
摘要:课程知识体系目录 Java知识 面试高频 集合相关知识 数据库相关知识 JVM相关知识 Java基础 基本类型与对象 类型转换与基本类型包装类 数组与集合 原码、反码和补码 编码与字符集 运算符 面向对象特性 this的引用与类变量 错误与异常 final/finally/finalize 序列化
阅读全文
摘要:串讲补充 单例模式 单例模式的写法 请参考单例模式,内容包括单例的概念、用途、实现方式、如何防止被序列化破坏等。 单例的实际应用 数据库连接池的设计一般也是采用单例模式,因为数据库连接是一种数据库资源。数据库软件系统中使用数据库连接池,主要是节省打开或者关闭数据库连接所引起的效率损耗,这种效率上的损
阅读全文
摘要:京东 简单自我介绍 参加过社团活动吗? 讲一下什么是线程池 一种多线程处理形式,处理过程中可以将任务添加到队列中,然后在创建线程后自动启动这些任务。 池化技术:降低资源消耗、提高响应速度、便于管理 spring中的ioc你怎么理解,aop呢 Spring IOC 容器就像是一个工厂一样,当我们需要创
阅读全文
摘要:面试重难点 面试技巧 服务限流 自我介绍 我是中北大学软件学院大四学生。在校期间主要专注于java后端的学习,绩点3.6,看到了实习岗位内容,很感兴趣,希望能来尝试一下。 反问 如果我有幸入职,对于我这个岗位,您对我1到3年职业规划的建议是什么呢? 请问我的技术水平,有哪些是还需要提高的呢?如果我有
阅读全文
摘要:网络串讲 TCP三次握手和四次挥手原理(连环问) 更详细解释请看TCP三次握手四次挥手 请简单解释一下TCP三次握手 客户端–发送带有 SYN 标志的数据包–一次握手–服务端 服务端–发送带有 SYN/ACK 标志的数据包–二次握手–客户端 客户端–发送带有带有 ACK 标志的数据包–三次握手–服务
阅读全文
摘要:多线程串讲 说说并发与并行的区别? 并发: 同一时间段,多个任务都在执行 (单位时间内不一定同时执行); 并行: 单位时间内,多个任务同时执行。 说说线程的生命周期和状态?什么是上下文切换?(理解为主) 线程的生命周期和状态 Java 线程在运行的生命周期中的指定时刻只可能处于下面 6 种不同状态的
阅读全文
摘要:JVM串讲 知识总结梳理 内存区域: 有逻辑的说出来,各种是干什么的,是否是线程安全的 方法区从Jdk1.8开始的变化,为什么这么设置? 类加载机制 类加载的几步骤,双亲委派模型 类的生命周期 对象的创建过程 对象创建的几步 对象的内存布局 对象的访问方式 如果判断对象是否存活 判断对象是否存活的标
阅读全文
摘要:泰隆银行 计算机网络、数据库、操作系统有学过吗 TCP三次握手的过程 seq x ack x+1 seq y ack y+1 拥塞避免的方法 慢开始、拥塞避免、快恢复、快重传 数据库创建索引的语法 CREATE INDEX indexName ON table_name (column_name)
阅读全文
摘要:华为 7.28一面 线程的创建方式 继承thread、实现runnable、实现callable 创建一个线程一般用哪种方式 callable 线程池用过哪些 固定线程池、单线程池 队列太长 定时线程池、缓存线程池 核心线程多 线程池的七大参数 核心线程数、最大线程数、阻塞队列、线程存活时间、存活时
阅读全文
摘要:常见工具类 底层代码生成器 /** * 底层代码生成器 * * @author 石一歌 * @date 2022-07-07 22:02 */ public class EntityUtil { private static final String PROJECT_NAME = "search";
阅读全文