随笔分类 -  Java高频面试题

摘要:一条update语句到底加了多少锁?带你深入理解底层原理面试官:看你简历上面写着精通MySQL,我问你一个MySQL锁相关的问题,你看一下这条SQL会对哪些数据加锁? 阅读全文
posted @ 2022-06-28 23:34 一灯架构 阅读(2728) 评论(12) 推荐(18) 编辑
摘要:MySQL十种锁,一篇文章带你全解析MySQL有两个核心的知识点,索引和锁。前几篇文章已经详细讲解了MySQL索引实现机制,今天再一起学习一下MySQL的锁。 阅读全文
posted @ 2022-06-27 22:22 一灯架构 阅读(1786) 评论(4) 推荐(2) 编辑
摘要:一文详解MySQL事务底层原理,全是干货,推荐收藏迎面走来了你的面试官,身穿格子衫,挺着啤酒肚,发际线严重后移的中年男子。 手拿泡着枸杞的保温杯,胳膊夹着MacBook,MacBook上还贴着公司标语:“我爱加班”。 面试开始,直入正题。 面试官: 看你简历上面写着精通MySQL,我先问你事务的特性是什么? 老生常谈,这个还有谁不会背的吗? 我: 阅读全文
posted @ 2022-06-26 16:53 一灯架构 阅读(1407) 评论(1) 推荐(1) 编辑
摘要:一篇文章讲清楚MySQL的聚簇/联合/覆盖索引、回表、索引下推迎面走来了你的面试官,身穿格子衫,挺着啤酒肚,发际线严重后移的中年男子。 手拿泡着枸杞的保温杯,胳膊夹着MacBook,MacBook上还贴着公司标语:“加班使我快乐”。 面试官: 看你简历上用过MySQL,问你几个简单的问题吧。什么是聚簇索引和非聚簇索引? 这个问题难不住我啊。来之前我看一下一灯M 阅读全文
posted @ 2022-06-25 11:14 一灯架构 阅读(2127) 评论(0) 推荐(8) 编辑
摘要:MySQL索引底层为什么用B+树?看完这篇文章,轻松应对面试。迎面走来了你的面试官,身穿格子衫,挺着啤酒肚,发际线严重后移的中年男子。 手拿泡着枸杞的保温杯,胳膊夹着MacBook,MacBook上还贴着公司标语:“我爱加班”。 面试开始,直入正题。 面试官: 你知道MySQL索引底层数据结构为啥用B+树?而不用B树、红黑树或者普通二叉树? 我: 这事谁知道作 阅读全文
posted @ 2022-06-23 21:47 一灯架构 阅读(434) 评论(0) 推荐(0) 编辑
摘要:面试官竟然问我订单ID是怎么生成的?难道不是MySQL自增主键?一个美女面试官坐到我的对面,发光logo的MacBook也挡不住她那圆润可爱的脸庞。 程序媛本就稀有,美女面试官更是难寻。具体长什么样呢?就像下面这样: 这么温柔可爱的面试官,应该不会为难我吧。嗯,应该是的,毕竟我这么帅气,面试可能就是走个过场。美女面试官是不是单身?毕竟程序员都不善交流,因为我也是 阅读全文
posted @ 2022-06-21 23:03 一灯架构 阅读(346) 评论(0) 推荐(0) 编辑
摘要:一文详解如何用MySQL/Redis/ZooKeeper实现分布式锁一个挺着啤酒肚,身穿格子衫,发际线严重后移的中年男子,手拿着保温杯,胳膊夹着MacBook向你走来,看样子是架构师级别。 面试开始, 直入正题。 面试官: 你有没有参与过秒杀系统的设计? 我: 没有,我平时都是开发后台管理系统、OA办公系统、内部管理系统,从来没有开发过秒杀系统。 面试官: 嗯... 阅读全文
posted @ 2022-06-19 20:51 一灯架构 阅读(509) 评论(0) 推荐(0) 编辑
摘要:不知道如何分库分表,看完这篇文章,轻松应对工作面试一个挺着啤酒肚,身穿格子衫,发际线严重后移的中年男子,手拿着保温杯,胳膊夹着MacBook向你走来,看样子是架构师级别。 面试开始,直入正题。 面试官: 小伙子,看到你的简历上面写了项目中有对MySQL进行分库分表,为什么要进行分库分表? 我: 不知道啊!谁知道老大咋想的,反正我来的时候就已经分好了 阅读全文
posted @ 2022-06-18 16:10 一灯架构 阅读(405) 评论(0) 推荐(1) 编辑
摘要:面试官竟然问我为啥要用MQ,幸亏我看了参考答案互联网公司的项目没有不用到MQ(消息队列)的,在简历中写上项目中用到MQ,也算是亮点之一。既然你写了,面试官就会问,你对MQ到底了解多少? 一个挺着啤酒肚,身穿格子衫,发际线严重后移的中年男子,手拿着保温杯,胳膊夹着MacBook向你走来。 **面试官:**小伙子,我看你简历上写了,在项目中用到了M 阅读全文
posted @ 2022-06-16 15:23 一灯架构 阅读(567) 评论(2) 推荐(1) 编辑
摘要:面试官:你能写个LRU缓存吗?0. 前情提要 面试官: 你能手写个LRU缓存吗? 你: LRU是什么东西?(一脸懵逼状) 面试官: LRU全称Least Recently Used(最近最少使用),用来淘汰不常用数据,保留热点数据。 你写了5分钟,然而只写了个get和put方法体,里面逻辑实在不知道咋写。 面试官: 今天的面试先 阅读全文
posted @ 2022-06-14 23:52 一灯架构 阅读(209) 评论(1) 推荐(1) 编辑
摘要:非常好用统计接口耗时小工具,Java程序员强烈推荐我们经常需要统计一个方法的耗时,一般我们会这样做: public class Test { public static void main(String[] args) throws InterruptedException { long start = System.currentTimeMill 阅读全文
posted @ 2022-06-14 13:00 一灯架构 阅读(1383) 评论(0) 推荐(1) 编辑
摘要:面试官:高并发场景下,你们是怎么保证数据的一致性的?面试的时候,总会遇到这么一个场景。 1. 场景分析 面试官:你们的服务的QPS是多少? 我:我们的服务高峰期访问量还挺大的,大约是3万吧。 面试官:这么大的访问量,你们的服务器能撑住吗?有加缓存吗? 我:有的,我们使用了Redis做缓存,接口优先查询缓存,缓存不存在,才访问数据库。这样可以减少数据库 阅读全文
posted @ 2022-06-13 18:05 一灯架构 阅读(600) 评论(0) 推荐(0) 编辑
摘要:Java线上惨痛踩坑记录,你也一定遇到过线上问题年年有,今年特别多。记几次线上惨痛的踩坑记录,希望大家以史为鉴。 1. 包装类型自动解箱导致空指针异常 public int getId() { Integer id = null; return id; } 如果调用上面的方法会发生什么?id是Integer类型,而方法的返回值int类型, 阅读全文
posted @ 2022-06-12 11:17 一灯架构 阅读(333) 评论(0) 推荐(0) 编辑
摘要:你不知道的Java工具类库,十倍提升开发效率工作很多年后,才发现有很多工具类库,可以大大简化代码量,提升开发效率,初级开发者却不知道。而这些类库早就成为了业界标准类库,大公司的内部也都在使用,如果刚工作的时候就有人告诉我使用这些工具类库,该多好! 一块看一下有哪些工具类库你也用过。 1. Java自带工具方法 1.1 List集合拼接成以逗号 阅读全文
posted @ 2022-06-11 15:08 一灯架构 阅读(354) 评论(0) 推荐(0) 编辑
摘要:Java程序员怎么避免空指针异常?看完这篇文章再也不用担心了Java程序员工作中遇到最多的错误就是空指针异常,无论你多么细心,一不留神就从代码的某个地方冒出NullPointerException,真是令人头疼。 到底怎么避免空指针异常?看完这篇文章,可以帮助你。 1. 对象设置默认值 Object obj = new Object(); String st 阅读全文
posted @ 2022-06-10 18:43 一灯架构 阅读(568) 评论(0) 推荐(1) 编辑
摘要:竟然还有人说ArrayList是2倍扩容,今天带你手撕ArrayList源码ArrayList是我们开发中最常用到的集合,但是很多人对它的源码并不了解,导致面试时,面试官问的稍微深入的问题,就无法作答,今天我们一起来探究一下ArrayList源码。 1. 简介 ArrayList底层是数组,允许元素是null,能够动态扩容 size、isEmpty、get、set、add 阅读全文
posted @ 2022-06-10 14:13 一灯架构 阅读(1150) 评论(0) 推荐(2) 编辑
摘要:HashMap高阶用法,十倍提升开发效率HashMap在工作中使用非常频繁,其实在JDK1.8的时候新增一些更高阶的用法,熟练使用这些方法可以大大提升开发效率,写出更简洁优美的代码。 1. get方法指定返回默认值(getOrDefault) Map<String, String> map = new HashMap<>(); map.p 阅读全文
posted @ 2022-06-10 11:45 一灯架构 阅读(492) 评论(1) 推荐(1) 编辑
摘要:Java8新增的Stream流大大减轻了我们代码的工作量,但是Stream流的用法较多,实际使用的时候容易遗忘,整理一下供大家参考。 阅读全文
posted @ 2022-06-06 17:50 一灯架构 阅读(426) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示