面试
文章平均质量分 62
hellozhxy
这个作者很懒,什么都没留下…
展开
-
字节面试题
单链表的反转,不用递归的方法。import java.util.ArrayList;public class ListRevert{ public static class Node{ private int val ; private Node next ; public Node(int val){ this.val = val; } } public Node revertL转载 2021-08-31 16:55:29 · 224 阅读 · 0 评论 -
二叉树的四种遍历方式
二叉树的四种遍历方式:二叉树的遍历(traversing binary tree)是指从根结点出发,按照某种次序依次访问二叉树中所有的结点,使得每个结点被访问依次且仅被访问一次。 四种遍历方式分别为:先序遍历、中序遍历、后序遍历、层序遍历。 遍历之前,我们首先介绍一下,如何创建一个二叉树,在这里用的是先建左树在建右树的方法,首先要声明结点TreeNode类,代码如下:public class TreeNode { public int data; publ转载 2021-08-24 15:02:21 · 2846 阅读 · 0 评论 -
150面试题
Java集合22题 ArrayList 和 Vector 的区别。 说说 ArrayList,Vector, LinkedList 的存储性能和特性。 快速失败 (fail-fast) 和安全失败 (fail-safe) 的区别是什么? hashmap 的数据结构。 HashMap 的工作原理是什么? Hashmap 什么时候进行扩容呢? List、Map、Set 三个接口,存取元素时,各有什么特点? Set 里的元素是不能重复的,原创 2021-08-23 16:28:30 · 135 阅读 · 0 评论 -
LRU算法
LRU算法作为面试常问题,是时候深入学习了1. LRU1.1. 原理LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。1.2. 实现最常见的实现是使用一个链表保存缓存数据,详细算法实现如下: 新数据插入到链表头部; 每当缓存命中(即缓存数据被访问),则将数据移到链表头部; 当链表满的时候,将链表尾部的数据丢弃。 1.3. 分析【命中率】转载 2021-08-17 15:21:44 · 12221 阅读 · 0 评论 -
LRU LeetCode
一、题目描述运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-值」。当缓存容量达到上限时.转载 2021-08-17 15:19:28 · 166 阅读 · 0 评论 -
LRU算法及Java实现
LRU算法介绍LRU是Least Recently Used的缩写,即最近最少使用,常用于页面置换算法,为虚拟页式存储管理服务。LRU算法的提出,是基于这样一个事实:在前面几条指令中使用频繁的页面很可能在后面的几条指令中频繁使用。反过来说,已经很久没有使用的页面很可能在未来较长的一段时间内不会被用到。这个,就是著名的局部性原理。此外,LRU算法也经常被用作缓存淘汰策略。本文将基于LRU算法的思想,使用Java语言实现一个我们自己的缓存工具类。实现方式最常见的实现是使用一个双向链表保存缓存数据,详细算转载 2021-08-17 15:17:35 · 236 阅读 · 0 评论 -
Java实现单链表反转操作
单链表是一种常见的数据结构,由一个个节点通过指针方式连接而成,每个节点由两部分组成:一是数据域,用于存储节点数据。二是指针域,用于存储下一个节点的地址。在Java中定义如下:public class Node { private Object data;//数据域 private Node next;//指针域 public Node(Object data){ this.data = data; } public Node(...转载 2021-08-17 14:27:18 · 752 阅读 · 0 评论 -
面试题
面试题模块介绍说了这么多,下面进入我们本文的主题,我们这份面试题,包含的内容了十九了模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示:可能对于初学者不需要看后面的框架和 JVM 模块的知识,读者朋友们可根据自己的情况,选...原创 2021-03-12 10:47:02 · 133 阅读 · 0 评论 -
Redis面试题
Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库。Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。与传统数据库不同的是 Redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用...转载 2020-04-07 15:41:12 · 920 阅读 · 0 评论 -
互联网公司Java面试总结
GitHub链接:面试问题总结github.comLeetCode高频题及题目分类github.comZooKeeper1. CAP定理2. ZAB协议3. Leader选举算法和流程Redis1. Redis的应用场景2. Redis支持的数据类型(必考)3. zset跳表的数据结构(必考)4. Redis的数据过期策略(必考)5. Redis的LR...原创 2020-03-17 12:59:22 · 339 阅读 · 0 评论