小红书面试题 · 问题拆解 · Java
小红书相关面试题,按最终去重题目聚合。
共 2200 道真题 · 当前筛选命中 28 道 · 更新 2026-08-05
筛选题目已选:问题拆解 · Java
考察点
技术栈
第 1 题详细介绍一下HashMap的结构、扩容机制、put过程的寻址流程以及hash冲突的处理方式。 考察对HashMap底层实现原理、扩容机制和冲突处理策略的理解第 2 题HashMap的put和get方法的执行过程 考察HashMap核心操作的实现原理与边界条件处理第 3 题现有a、b、c三个线程,需实现“a执行完执行b,b执行完执行c,c执行完回头执行a”的按需循环效果,该如何实现? 考察多线程顺序控制与循环协作的并发设计能力第 4 题如果要自己实现一个类似 AQS 的同步器,你认为核心难点和关键设计有哪些? 考察对并发同步机制的设计能力和边界情况处理第 5 题Java中有成员变量和局部变量,它们在使用、语法、内存分配和生命周期上有哪些区别? 对比成员变量与局部变量的语法位置、内存区域和生命周期差异第 6 题白板写一个HashMap数据结构,要求考虑哈希冲突,重点实现put和get方法。 考察哈希表核心原理、哈希冲突处理及基本操作的实现能力第 7 题HashMap的key是否可以为null?为什么null默认存到下标0处? 考察HashMap对null键的处理机制及对源码细节的理解第 8 题请讲解Java面向对象的三大特性,并重点阐述你对多态的理解。 考察面向对象核心概念的掌握与多态机制的深入理解第 9 题请解释线程池的工作原理,包括核心参数、任务提交流程和拒绝策略。 考察对线程池核心机制的理解第 10 题部署Java应用后频繁FullGC内存不收敛,怎么排查? 考察Java内存泄漏与FullGC问题的系统化排查能力第 11 题请说明线程池的工作原理:当一个任务被提交到线程池后,核心线程数和最大线程数是如何逐步升级的? 考察对Java线程池任务调度流程和参数升级机制的深入理解第 12 题请手写并讲解一个简化版的 HashMap 实现,包括 put、get 和扩容逻辑。 考察对哈希表数据结构、哈希冲突处理与扩容机制的理解及编码能力第 13 题在 Java 中,synchronized 块编译后生成的 monitorenter 和 monitorexit 指令有什么特点?为什么 monitorexit 可能被执两次? 考察对 synchronized 字节码实现与异常处理机制的理解第 14 题线程池执行过程? 考察线程池核心参数与任务执行流程第 15 题如果线程池核心线程数是5,最大线程数是10,任务队列容量是100,此时一次性提交110个任务,线程池会如何处理? 考察线程池任务调度机制和核心参数的理解第 16 题给定一个只包含字符 '(' 和 ')' 的字符串,请实现一个函数计算最长有效括号子串的长度,并分析时间复杂度。 考察动态规划或栈的算法设计与复杂度分析第 17 题请讲讲 ReentrantLock 的实现原理。 考察对可重入锁底层实现原理和并发机制的理解第 18 题创建类A,其静态方法入参为类A的实例,询问方法内部如何找到该对象、对象实际地址,以及如何读取对象某一字段的值 考察Java对象引用、内存地址概念及字段访问机制第 19 题那如何设计一个阻塞队列呢 考察并发数据结构设计、线程安全与阻塞机制理解第 20 题请说明动态线程池的核心参数及其执行流程。 考察对线程池核心参数理解与任务执行流程的掌握