2021年5月14日

【145期】考考基础部分,谈谈Java集合中HashSet的原理及常用方法

摘要: 目录 HashSet概述 HashSet构造 add方法 remove方法 遍历 合计合计 先看一下LinkedHashSet 在看一下TreeSet 总结 一. HashSet概述 HashSet是Java集合Set的一个实现类,Set是一个接口,其实现类除HashSet之外,还有TreeSet, 阅读全文

posted @ 2021-05-14 23:03 凹凹凸凸 阅读(264) 评论(0) 推荐(0) 编辑

【153期】面试官:谈谈常用的Arraylist和Linkedlist的区别

摘要: Arraylist:底层是基于动态数组,根据下表随机访问数组元素的效率高,向数组尾部添加元素的效率高;但是,删除数组中的数据以及向数组中间添加数据效率低,因为需要移动数组。 例如最坏的情况是删除第一个数组元素,则需要将第2至第n个数组元素各向前移动一位。而之所以称为动态数组,是因为Arraylist 阅读全文

posted @ 2021-05-14 22:55 凹凹凸凸 阅读(42) 评论(0) 推荐(0) 编辑

【181期】HashMap 面试二十一问!

摘要: 1:HashMap 的数据结构? A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过 8 时,链表转换为红黑树。 transient Node<K,V>[] table; 2:HashMap 的工作原理? HashMap 底层是 hash 数组和单向链表实现,数组中的每 阅读全文

posted @ 2021-05-14 22:38 凹凹凸凸 阅读(55) 评论(0) 推荐(0) 编辑

MySQL高频面试题,硬gang面试官

摘要: MySQL 索引使用什么数据结构?为什么用 B+做索引? 使用B+树。 这个问题,可以在脑子里面先思考一下,如果让你来设计数据库的索引,你会怎么设计? 我们还是用Why?What?How?三步法来看这个问题。 为什么会需要索引?索引是什么?索引怎么用的? 再思考为什么需要B+树?B+树是什么?B+树 阅读全文

posted @ 2021-05-14 21:52 凹凹凸凸 阅读(71) 评论(0) 推荐(0) 编辑

索引失效的情况有哪些?索引何时会失效?(全面总结)

摘要: 虽然你这列上建了索引,查询条件也是索引列,但最终执行计划没有走它的索引。 下面是引起这种问题的几个关键点。 列与列对比 某个表中,有两列(id和c_id)都建了单独索引,下面这种查询条件不会走索引 这种情况会被认为还不如走全表扫描。 存在NULL值条件 我们在设计数据库表时,应该尽力避免NULL值出 阅读全文

posted @ 2021-05-14 21:49 凹凹凸凸 阅读(1353) 评论(0) 推荐(0) 编辑

MySQL索引的分类、何时使用、何时不使用、何时失效?

摘要: 1、分类 MySQL索引分为普通索引、唯一索引、主键索引、组合索引、全文索引。索引不会包含有null值的列,索引项可以为null(唯一索引、组合索引等),但是只要列中有null值就不会被包含在索引中。 (1)普通索引: create index index_name on table(column) 阅读全文

posted @ 2021-05-14 21:37 凹凹凸凸 阅读(283) 评论(0) 推荐(0) 编辑

【142期】阿里面试:分析为什么B+树更适合作为索引的结构以及索引原理

摘要: mysql的B+树索引 查找使用了二分查找,redis 跳表也使用了二分查找法,kafka查询消息日志也使用了二分查找法,二分查找法时间复杂度O(logn); 在MySQL中,主要有四种类型的索引,分别为:B-Tree索引,Hash索引,Fulltext索引(MyISAM 表)和R-Tree索引,本 阅读全文

posted @ 2021-05-14 21:22 凹凹凸凸 阅读(98) 评论(0) 推荐(0) 编辑

52条SQL语句性能优化策略,建议收藏

摘要: 本文会提到 52 条 SQL 语句性能优化策略。 1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引。 2、应尽量避免在 WHERE 子句中对字段进行 NULL 值判断,创建表时 NULL 是默认值,但大多数时候应该使用 NOT NULL,或者 阅读全文

posted @ 2021-05-14 21:12 凹凹凸凸 阅读(86) 评论(0) 推荐(0) 编辑

【112期】面试官:为什么选择B+树作为数据库索引结构?谈谈你的理解

摘要: 首先,来谈谈B树。为什么要使用B树?我们需要明白以下两个事实: 【事实1】 不同容量的存储器,访问速度差异悬殊。以磁盘和内存为例,访问磁盘的时间大概是ms级的,访问内存的时间大概是ns级的。有个形象的比喻,若一次内存访问需要1秒,则一次外存访问需要1天。所以,现在的存储系统,都是分级组织的。 最常用 阅读全文

posted @ 2021-05-14 21:08 凹凹凸凸 阅读(49) 评论(0) 推荐(0) 编辑

【29期】Java集合框架 10 连问,你有被问过吗?

摘要: 1.HashMap和HashTable的区别? HashMap 不是线程安全的 HashMap 是 map 接口的实现类,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap 允许 null key 和 null value,而 HashTable 不允许。 阅读全文

posted @ 2021-05-14 21:02 凹凹凸凸 阅读(49) 评论(0) 推荐(0) 编辑

【17期】什么情况用ArrayList or LinkedList呢?

摘要: ArrayList 和 LinkedList 是 Java 集合框架中用来存储对象引用列表的两个类。ArrayList 和 LinkedList 都实现 List 接口。先对List做一个简单的了解: 列表(list)是元素的有序集合,也称为序列。它提供了基于元素位置的操作,有助于快速访问、添加和删 阅读全文

posted @ 2021-05-14 20:54 凹凹凸凸 阅读(58) 评论(0) 推荐(0) 编辑

【66期】Java容器面试题:谈谈你对 HashMap 的理解

摘要: 为了能够在面试回答中优雅而不失体面回答面试考点,该文章借鉴了不同平台对知识点的描述。 回答 HashMap 是一种存取高效但不保证有序的常用容器。它的数据结构为“数组+链表”,是解决哈希冲突的产物,也就是我们常说的链地址法。它实现了Map 接口采用K-V 键值对存储数据,并实现了浅拷贝和序列化。 H 阅读全文

posted @ 2021-05-14 20:44 凹凹凸凸 阅读(63) 评论(0) 推荐(0) 编辑

【103期】史上最全的数据库面试题,面试前刷一刷!

摘要: 【103期】史上最全的数据库面试题,面试前刷一刷! 戳一戳→ 程序员的成长之路 2020-12-23 图片 程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 40 分钟。 来自:cnblogs.com/wenxiaofei/p/9853682.html 一、基本概念 1.主键 阅读全文

posted @ 2021-05-14 00:04 凹凹凸凸 阅读(87) 评论(0) 推荐(0) 编辑

导航