金三银四面试
文章平均质量分 93
Java基础、并发编程、JVM、缓存、算法等面试题
王二蛋!
个人网站:hicxy.cn
展开
-
Java开发,准备好迎接金九银十吧!!!
金三银四招聘季已落幕,虽说行情不是很乐观,但真正的强者从不抱怨。在此期间,我收到众多小伙伴的宝贵反馈,整理出132道面试题,从基础到高级,有八股文,也有对某个知识点的深度解析。准备好迎接金九银十吧!!!原创 2024-05-21 10:43:07 · 888 阅读 · 23 评论 -
13个Java基础面试题
在一个类或者一个方法里面定义的类,称为内部类。成员内部类、静态内部类、局部内部类和匿名内部类。强引用是默认的引用类型,当一个对象具有强引用时,垃圾回收器不会回收该对象,即使系统内存不足也不会回收。强引用通常用于确保对象一直存在,例如在单例模式或缓存中。fail-fast是软件开发中的一种设计原则或模式。它指的是在程序执行过程中,一旦检测到异常或错误,就立即抛出异常并停止执行,以避免后续代码产生更严重的问题。这种策略被设计用来提高软件的可靠性和稳定性,防止问题持续扩散并造成更严重的后果。原创 2024-04-16 20:49:07 · 910 阅读 · 0 评论 -
面试官脑子有病系列:为什么 HashMap 是线程不安全的?
Hi,大家好,我是王二蛋。我们在面试的时候,经常会被问到一些有的没的、看似高深但与日常工作关系不大的问题。也因此被大家调侃为“面试造火箭,工作拧螺丝”。今天就来探讨一个在Java面试时经常被问到的一个问题:为什么 HashMap 是线程不安全的?HashMap开发时使用率是非常高的,面试官问这个问题主要是考察对数据结构理解、对线程安全的掌握以及有没有高并发项目的经验。所以,在平时的工作中要多思考、多观察,做到知其然知其所以然。原创 2024-04-09 15:49:23 · 770 阅读 · 1 评论 -
Redis经典面试题:你知道缓存击穿、缓存穿透、缓存雪崩吗?
又快到一年一度的金三银四了,大家在面试的时候一定被问到过Redis缓存问题吧。可能有些初学者对“缓存击穿、缓存穿透、缓存雪崩”这几个名词感到陌生,或者了解过但是一时半会没办法理解。没关系,希望通过本文可以让你轻松理解这些概念并掌握其解决方案,然后在即将到来的金三银四面试中对你有所帮助。面试时不要被花里胡哨的问题迷惑住,要思考一下问题的本质。当缓存没命中或失效,并发的请求打到数据库怎么办?\color{blue}{当缓存没命中或失效,并发的请求打到数据库怎么办?原创 2024-03-26 20:03:13 · 1175 阅读 · 12 评论 -
Spring Cloud微服务面试题
Nacos是CP还是AP?Nacos作为注册中心应该选择是CP还是AP?Nacos如何实现就近访问?Eureka注册中心原理Eureka自我保护机制原理Eureka和Nacos对比Nacos配置中心长轮询机制Nacos配置中心宕机了,会影响服务吗?配置中心的技术选型为什么Feign第一次调用耗时很长?Feign怎样实现认证的传递?Feign底层默认使用什么发送HTTP?请简述2PC流程以及优缺点请简述3PC流程以及优缺点Seata支持那些事务模式?Seata中xid怎样通过Feign进行全局传递原创 2023-03-31 13:05:37 · 2170 阅读 · 26 评论 -
JVM调优面试题——参数命令专题
1、JVM参数有哪些?1.1、标准参数1.2、-X参数1.3、-XX参数1.4、其他参数1.5、查看参数1.6、设置参数的常见方式1.7、常用参数含义2、JVM常用命令有哪些?2.1、jps2.2、jinfo2.3、jstat2.4、jstack2.5、jmap3、你会估算GC频率吗?4、内存溢出(OOM)怎么解决?4.1、大并发[秒杀]4.2、内存泄露导致内存溢出原创 2023-03-09 20:00:00 · 1560 阅读 · 6 评论 -
JVM调优面试题——垃圾回收专题
1、如何确定一个对象是垃圾?1.1、引用计数法1.2、可达性分析2、对象被判定为不可达对象之后就“死”了吗?3、都有哪些垃圾收集算法?3.1、标记-清除(Mark-Sweep)3.2、标记-复制(Mark-Copying)3.3、标记-整理(Mark-Compact)3.4、分代收集算法3.5、三色标记4、什么是STW(stoptheworld)?5、你知道哪些垃圾收集器?5.1、Serial5.2、SerialOld5.3、ParNew5.4、ParallelScavenge5.5、ParallelOld原创 2023-03-08 17:39:27 · 3345 阅读 · 15 评论 -
JVM调优面试题——基础知识
1、JDK,JRE以及JVM的关系2、编译器到底干了什么事3、类加载机制是什么3.1、装载3.2、链接3.3、初始化4、类加载器有哪些5、什么是双亲委派机制6、介绍一下JVM内存划分(运行时数据区)6.1、方法区6.2、堆6.3、虚拟机栈7、堆为什么进行分代设计8、老年代的担保机制9、为什么Eden:S0:S1是8:1:110、对象的创建以及分配过程11、方法区、元数据区、持久代是什么关系?12、对象在内存中的布局原创 2023-03-03 17:41:15 · 5078 阅读 · 8 评论 -
Java缓存面试题——Redis解决方案
1、什么是缓存击穿?该如何解决2、什么是缓存穿透?该如何解决3、什么是缓存雪崩?该如何解决4、什么是BigKey?该如何解决bigkey的危害发现bigkey解决bigkey5、redis过期策略都有哪些?6、讲一讲Redis缓存的数据一致性问题和处理方案原创 2023-02-28 21:20:22 · 6054 阅读 · 16 评论 -
Java缓存面试题——Redis应用
1、为什么要使用Redis做缓存?2、为什么Redis单线程模型效率也能那么高?3、Redis6.0为什么要引入多线程呢?4、Redis常见数据结构以及使用场景字符串(String)哈希(Hash)列表(list)集合(set)有序集合(ZSET)5、pipeline有什么好处,为什么要用pipeline?6、Redis官方为什么不提供Windows版本?7、Redis持久化方式有哪些?以及有什么区别?RDBAOF8、什么是Redis事务?原理是什么?9、如何在100个亿URL中快速判断某URL是否存在?传原创 2023-02-23 16:52:12 · 12172 阅读 · 17 评论 -
Java并发编程面试题——JUC专题
1.1AQS是什么?1.2唤醒线程时,AQS为什么从后往前遍历?1.3AQS为什么用双向链表,(为啥不用单向链表)?1.4AQS为什么要有一个虚拟的head节点1.5ReentrantLock的底层实现原理1.6ReentrantLock的公平锁和非公平锁的区别1.7ReentrantReadWriteLock如何实现的读写锁2.1说下你熟悉的阻塞队列?2.2虚假唤醒是什么?3.1线程池的7个参数3.2线程池的状态有什么,如何记录的?3.3线程池常见的拒绝策略3.4线程池执行流程3.5线程池为什么添加空任务原创 2023-02-20 18:21:57 · 7471 阅读 · 26 评论 -
Java并发编程面试题——线程安全(原子性、可见性、有序性)
一、原子性高频问题1.1 Java中如何实现线程安全?1.2 CAS底层实现1.3 CAS的常见问题1.4 四种引用类型 + ThreadLocal的问题?二、可见性高频问题2.1 Java的内存模型2.2 保证可见性的方式2.3 volatile修饰引用数据类型2.4 有了MESI协议,为啥还有volatile?2.5 volatile的可见性底层实现三、有序性高频问题3.1 什么是有序性问题3.2 volatile的有序性底层实现四、synchronized高频问题4.1原创 2023-02-16 21:26:18 · 4633 阅读 · 10 评论 -
Java基础面试题——JavaWeb专题
为了更好地促进互联网的研究和发展,国际标准化组织ISO在1985 年指定了网络互联模型。OSI 参考模型(Open System Interconnect ReferenceModel),具有 7 层结构应用层:各种应用程序协议,比如HTTP、HTTPS、FTP、SOCKS安全套接字协议、DNS域名系统、GDP网关发现协议等等。表示层:加密解密、转换翻译、压缩解压缩,比如LPP轻量级表示协议。会话层。原创 2023-02-15 18:04:28 · 3302 阅读 · 2 评论 -
Java基础面试题——IO和多线程专题
进程:一个独立的正在执行的程序线程:一个进程的最基本的执行单位,执行路径多进程:在操作系统中,同时运行多个程序多进程的好处:可以充分利用CPU,提高CPU的使用率多线程:在同一个进程(应用程序)中同时执行多个线程多线程的好处:提高进程的执行使用率,提高了CPU的使用率在同一个时间点一个CPU中只可能有一个线程在执行多线程不能提高效率、反而会降低效率,但是可以提高CPU的使用率一个进程如果有多条执行路径,则称为多线程程序Java虚拟机的启动至少开启了两条线程,主线程和垃圾回收线程。原创 2023-02-15 14:44:57 · 7529 阅读 · 1 评论 -
Java基础面试题——面向对象和集合专题
1. 面向对象和面向过程的区别2. 介绍下Java中的基本数据类型3. 标识符的命名规则4. instanceof关键字的作用5.重载和重写的区别6.介绍下内部类7.介绍下Java中的四种引用8.HashCode的作用9.有没有可能两个不相等的对象有相同的hashcode10.深拷贝和浅拷贝的区别是什么?11.static都有哪些用法?12.介绍下Object中的常用方法13.Java 创建对象有几种方式?14.有了数组为什么还要再搞一个ArrayList呢?15. 说说什么是原创 2023-02-14 18:26:39 · 2664 阅读 · 3 评论