随笔分类 -  面试

摘要:我们都知道HashMap是线程不安全的,在多线程环境中不建议使用,但是其线程不安全主要体现在什么地方呢,本文将对该问题进行解密。 1.jdk1.7中的HashMap 在jdk1.8中对HashMap做了很多优化,这里先分析在jdk1.7中的问题,相信大家都知道在jdk1.7多线程环境下HashMap 阅读全文
posted @ 2022-12-20 11:18 kisshappyboy 阅读(54) 评论(0) 推荐(0) 编辑
摘要:注:单点登录原理是一个重要知识点,也常被问及,很多童鞋照葫芦画瓢搭建过单点登录,但是被问到原理时可能说不出来,下面简单介绍,抛砖引玉,希望对大家有所帮助。 单点登录在现在的系统架构中广泛存在,他将多个子系统的认证体系打通,实现了一个入口多处使用,而在架构单点登录时,也会遇到一些小问题,在不同的应用环 阅读全文
posted @ 2022-12-13 01:35 kisshappyboy 阅读(30) 评论(0) 推荐(0) 编辑
摘要:关于怎么实现承载更多用户量的系统,一直是我重点关注的一个技术方向。改造架构提高承载力,通常来讲分为两个大方向,互相配合实现。 硬件架构改进,主要是使用阿里云这种多组件的云环境:通过负载均衡SLB,模版克隆的云服务器ECS,云数据库RDS,共享对象存储OSS等不同职责的云产品组合实现。 软件架构优化, 阅读全文
posted @ 2022-12-13 01:25 kisshappyboy 阅读(58) 评论(0) 推荐(0) 编辑
摘要:1. 什么是缓存雪崩?怎么解决? 通常,我们会使用缓存用于缓冲对 DB 的冲击,如果缓存宕机,所有请求将直接打在 DB,造成 DB 宕机——从而导致整个系统宕机。 如何解决呢? 2 种策略(同时使用): 对缓存做高可用,防止缓存宕机 使用断路器,如果缓存宕机,为了防止系统全部宕机,限制部分流量进入 阅读全文
posted @ 2022-12-13 01:22 kisshappyboy 阅读(15) 评论(0) 推荐(0) 编辑
摘要:上一篇关于介绍Object类下的几种方法时面试题时,提到equals()和hashCode()方法可能引出关于“hashCode() 和 equals() 之间的关系?”的面试题,本篇来解析一下这道基础面试题。 先祭一张图,可以思考一下为什么? 介绍 equals() 的作用是用来判断两个对象是否相 阅读全文
posted @ 2022-12-13 01:16 kisshappyboy 阅读(34) 评论(0) 推荐(0) 编辑
摘要:1 类的加载机制 的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向Ja 阅读全文
posted @ 2022-12-13 01:07 kisshappyboy 阅读(27) 评论(0) 推荐(0) 编辑
摘要:面试题 Object有几种方法呢? Java语言是一种单继承结构语言,Java中所有的类都有一个共同的祖先。这个祖先就是Object类。 如果一个类没有用extends明确指出继承于某个类,那么它默认继承Object类。 Object的方法我们在平时基本都会用到,但如果没有准备被忽然这么一问,还是有 阅读全文
posted @ 2022-12-12 22:51 kisshappyboy 阅读(31) 评论(0) 推荐(0) 编辑
摘要:分布式锁常见的三种实现方式: 数据库乐观锁; 基于Redis的分布式锁; 基于ZooKeeper的分布式锁。 本地面试考点是,你对Redis使用熟悉吗?Redis中是如何实现分布式锁的。 要点 Redis要实现分布式锁,以下条件应该得到满足 互斥性 在任意时刻,只有一个客户端能持有锁。 不能死锁 客 阅读全文
posted @ 2022-12-12 22:33 kisshappyboy 阅读(75) 评论(0) 推荐(0) 编辑
摘要:有些情况下,Spring事务会失效,比如我们在方法内部调用这个类的方法,那我们基于注解的Spring事务就会失效,因为我们在方法内使用的this 进行调用,而没有使用Spring提供的代理对象 还有我们使用异步处理时,由于Spring事务只存在于主线程中,我们采用异步的方式,是没办法用Spring事 阅读全文
posted @ 2022-12-12 22:21 kisshappyboy 阅读(95) 评论(0) 推荐(0) 编辑
摘要:此文对于部分原理的解释不全,甚至有错误。建议同时参考一文解决内存屏障阅读。 在只有双重检查锁,没有volatile的懒加载单例模式中,由于指令重排序的问题,我确实不会拿到两个不同的单例了,但我会拿到“半个”单例。 而发挥神奇作用的volatile,可以当之无愧的被称为Java并发编程中“出现频率最高 阅读全文
posted @ 2022-12-11 23:37 kisshappyboy 阅读(307) 评论(0) 推荐(0) 编辑
摘要:纠结单例模式有几种写法有用吗?有点用,面试中经常选择其中一种或几种写法作为话头,考查设计模式和coding style的同时,还很容易扩展到其他问题。 这里讲解几种笔者常用的写法,但切忌生搬硬套,去记“茴香豆的写法”。编程最大的乐趣在于“know everything, control everyt 阅读全文
posted @ 2022-12-11 23:22 kisshappyboy 阅读(20) 评论(0) 推荐(0) 编辑
摘要:问:如何保证消息的顺序性? 面试官心理分析 其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题。 面试题剖析 我举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步数据要达到上 阅读全文
posted @ 2022-12-11 22:32 kisshappyboy 阅读(87) 评论(0) 推荐(0) 编辑
摘要:问:分库分表之后,id 主键如何处理? 面试官心理分析 其实这是分库分表之后你必然要面对的一个问题,就是 id 咋生成?因为要是分成多个表之后,每个表都是从 1 开始累加,那肯定不对啊,需要一个全局唯一的 id 来支持。所以这都是你实际生产环境中必须考虑的问题。 面试题剖析 基于数据库的实现方案 数 阅读全文
posted @ 2022-12-10 23:55 kisshappyboy 阅读(56) 评论(0) 推荐(0) 编辑
摘要:问:如何决定使用 HashMap 还是 TreeMap? TreeMap<K,V>的Key值是要求实现java.lang.Comparable,所以迭代的时候TreeMap默认是按照Key值升序排序的;TreeMap的实现是基于红黑树结构。适用于按自然顺序或自定义顺序遍历键(key)。 HashMa 阅读全文
posted @ 2022-12-10 23:40 kisshappyboy 阅读(27) 评论(0) 推荐(0) 编辑
摘要:首先简单说一下(以下为一个回答的参考模板) 1、实例化一个Bean--也就是我们常说的new; 2、按照Spring上下文对实例化的Bean进行配置--也就是IOC注入; 3、如果这个Bean已经实现了BeanNameAware接口,会调用它实现的setBeanName(String)方法,此处传递 阅读全文
posted @ 2022-12-10 23:18 kisshappyboy 阅读(18) 评论(0) 推荐(0) 编辑
摘要:简单介绍 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。Spring使你能够编写更干净、更可管理、并且更易于测试的代码。 Spring MVC是Spring的一个模块,一个web框架。通过Dispatcher Servlet, ModelAndView 和 View R 阅读全文
posted @ 2022-12-10 21:42 kisshappyboy 阅读(17) 评论(0) 推荐(0) 编辑

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