金三银四面试专栏
文章平均质量分 89
整理近些年热门的Java面试题、加入自己的理解素材、试题对初中高工程师、架构师、技术经理、技术总监、CTO均可适用!
Thomas.Sir
优秀的作品无论你怎样去探测它,都是探不到底的!
展开
-
01:面试的正确姿势你掌握了吗?
目录一、如何准备面试?(2页简历;STAR;重点突出;)二、面试如何答问?一、如何准备面试?(2页简历;STAR;重点突出;)1、简历写作技巧1.1)简历技巧--排板(既不要密密麻麻,也不要松松垮垮!)1.2)简历技巧--分类(分类维度:中间件、存储、框架、数据库、缓存、编程语言等)例如上述简历可以改为:1)熟练掌握Redis和Kafka的应用以及底层原理,能够基于业务需求设计相应方案; 2)熟练掌握ZooKeeper、Nacos、Dubbo.原创 2022-03-27 00:18:40 · 361 阅读 · 0 评论 -
05:消息队列篇(8)
目录一、MQ有什么用?有哪些具体的使用场景?二、如何进行产品选型?三、如何保证消息不丢失?四、如何保证消息消费的幂等性?五、如何保证消息的顺序?六、如何保证消息的高效读写?七、使用MQ如何保证分布式事务的最终一致性?八、让你设计一个MQ,你会如何设计?一、MQ有什么用?有哪些具体的使用场景? MQ: MessageQueue,消息队列。 队列是一种FIFO先进先出的数据结构。消息由生产者发送到MQ进行排队,然后由消费者对消息进行处理。QQ、 微信 就是典型的M原创 2022-03-26 15:49:39 · 6452 阅读 · 0 评论 -
06:缓存篇(6)
一、为什么使用缓存? 1、高性能 2、高可用 二、什么是缓存穿透?缓存击穿?缓存雪崩? 怎么解决? 1. 缓存穿透: 缓存中查不到,数据库中也查不到。 解决方案: 1)对参数进行合法性校验。2)将数据库中没有查到结果的数据也写入到缓存。这时要注意为了防止Redis被无用的Key占满,这一类缓存的有效期要设置得短一点。 3)引入布隆过滤器,在访问Redis之前判断数据是否存在。 要注意布隆过滤器存在一定的误判率,并且,布隆过滤器只能加数据不能减数据。.原创 2022-03-26 15:05:06 · 1124 阅读 · 0 评论 -
04:JVM调优篇(6)
目录一、说一说JVM的内存模型二、JAVA类加载的全过程是怎样的?什么是双亲委派机制?有什么作用?三、怎么确定一个对象到底是不是垃圾? 什么是GC Root?四、JVM有哪些垃圾回收算法?五、JVM有哪些垃圾回收器?他们都是怎么工作的?什么是STW?他都发生在哪些阶段?什么是三色标记?如何解决错标记和漏标记的问题?为什么要设计这么多的垃圾回收器?六、如何进行JVM调优?JVM参数有哪些?怎么查看一个JAVA进程的JVM参数?谈谈你了解的JVM参数。如果一个java程序每次运行一段时间原创 2022-03-25 21:45:32 · 175 阅读 · 0 评论 -
03:JAVA网络通信篇(5)
目录一、TCP和UDP有什么区别?TCP为什么是三次握手,而不是两次?二、JAVA有哪几种IO模型?有什么区别?三、JAVA NIO的几个核心组件是什么?分别有什么作用?四、select,poll和epoll有什么区别?五、描述下HTTP和HTTPS的区别一、TCP和UDP有什么区别?TCP为什么是三次握手,而不是两次? TCP Transfer Control Protocol 是一种面向连接的、可靠的、传输层通信协议。 特点: 好比是打电话:面向连接的,点对点的通信,原创 2022-03-25 15:51:40 · 143 阅读 · 0 评论 -
02:Java并发篇(6)
目录一、Java如何开启线程?怎么保证线程安全?二、 Volatile和Synchronized有什么区别?Volatile能不能保证线程安全?DCL(DoubleCheck Lock)单例为什么要加Volatile?三、JAVA线程锁机制是怎样的?偏向锁、轻量级锁、重量级锁有什么区别?锁机制是如何升级的?四、谈谈你对AQS的理解。AQS如何实现可重入锁?五、有A,B,C三个线程,如何保证三个线程同时执行?如何在并发情况下保证三个线程依次执行?如何保证三个线程有序交错进行?六、如何.原创 2022-03-25 15:29:41 · 134 阅读 · 0 评论 -
07:微服务篇(5)
一、谈谈你对微服务的理解,微服务有哪些优缺点? 微服务是由Martin Fowler大师提出的。微服务是一种架构风格,通过将大型的单体应用划分为比较小的服务单元,从而降低整个系统的复杂度。 优点: 1)服务部署更灵活:每个应用都可以是一个独立的项目,可以独立部署,不依赖于其他服务,耦合性降低。 2)技术更新灵活:在大型单体应用中,技术要进行更新,往往是非常困难的。而微服务可以根据业务特点,灵活选择技术栈。 3)应用的性能得到提高: 大型单体应用中,往往启动就会成为一个很大的难关。而采原创 2022-03-25 10:46:57 · 331 阅读 · 0 评论 -
10:搜索引擎篇(6)
一、什么是倒排索引?有什么好处? 正排索引:书本的目录倒排索引:书本的索引图书和搜索引擎的对比图书:正牌索引-目录页倒排索引-索引页搜索引擎:正排索引-文档Id到文档内容和单词的关联倒排索引-单词到文档Id的关系倒排索引的核心组成倒排索引包含两个部分:(1)单词词典,记录所有文档的单词,记录单词到倒排列表的关联关系(2)倒排列表(Posting List)- 记录了单词对应的文档结合,由倒排索引项组成倒排索引项:> 文档ID原创 2022-03-25 08:38:39 · 2378 阅读 · 0 评论 -
11:安全验证篇(7)
一、什么是认证和授权?如何设计一个权限认证框架? 认证: 就是对系统访问者的身份进行确认。 用户名密码登录、 二维码登录、手机短信登录、指纹、刷脸......授权:就是对系统访问者的行为进行控制。授权通常是在认证之后,对系统内的用户隐私数据进行保护。后台接口访问权限、前台控件的访问权限。 RBAC模型: 主体 -》 角色 -》 资源 -》访问系统的行为。 认证和授权也是对一个权限认证框架进行扩展的两个主要的方面。 二、Cookie和Ses.原创 2022-03-25 09:36:11 · 424 阅读 · 0 评论 -
09:MySQL数据库篇(7)
一、MySQL有哪几种数据存储引擎?有什么区别? MySQL中通过show ENGINES指令可以看到所有支持的数据库存储引擎。 最为常用的就是MyISAM 和InnoDB 两种。 MyISAM和InnDB的区别: 1、存储文件。 MyISAM每个表有两个文件。 MYD和MYISAM文件。 MYD是数据文件。 MYI是索引文件。 而InnDB每个表只有一个文件,idb。 2、InnoDB支持事务,支持行级锁,支持外键。 3、InnoDB支持XA事务 4、InnoDB支持savePoi原创 2022-03-25 05:08:23 · 261 阅读 · 0 评论 -
08:Spring底层相关篇(7)
一、什么是Spring?谈谈你对IOC和AOP的理解?Spring: 是一个企业级java应用框架,他的作用主要是简化软件的开发以及配置过 程,简化项目部署环境。 Spring的有点: 1、Spring低侵入设计,对业务代码的污染非常低。 2、Spring的DI机制将对象之间的关系交由框架处理,减少组件的耦合。 3、Spring提供了AOP技术,支持将一些通用的功能进行集中式管理,从而提供更 好的复用。 4、Spring对于主流框架提供了非常好的支持。 IOC就是控制反转原创 2022-03-25 03:51:07 · 199 阅读 · 0 评论