大厂Java基础面经总结

集合

  1. Arraylist和Linkedlist的区别?
  2. HashMap原理?
  3. 红黑树红和黑代表什么?
  4. HashMap数组索引怎么确认?
  5. 常见的哈希算法了解哪些?解决哈希冲突的方法?
  6. Java有什么集合容器?
  7. Treemap怎么排序,有什么注意事项,可不可以自定义排序,排序的数据结构是什么
  8. CopyOnWriteArrayList怎么保证线程安全,优点是这个,那缺点呢?
  9. arraylist线程安全吗,想要使用线程安全的arraylist怎么办?
  10. 假设你要遍历一个 HashMap,同时删除一些 key,应该怎么编写代码?
  11. hashtable怎么保证线程安全的,concurrentHashmap呢,怎么去选择呢
  12. hashmap 为什么选择红黑树而不是AVL

代理

  1. JDK和Cglib动态代理什么区别?

字符串

  1. String s = new String("abc") 创建了几个对象,s是表示什么,创建的对象分别存放在哪里?

注解

  1. 四种标准原注解
  2. 注解它是做什么用的呢?

接口

  1. 接口和抽象类的区别,各自什么时候使用?

ThreadLocal

  1. 除了手动释放ThreadLocal中的值外,它里面还有其他设计来避免内存泄漏吗?

特性

  1. java的编译器跨平台性如何实现?

反射

  1. 对Java的反射如何理解的,原理是什么?
  2. 反射机制对于其他没有反射的语言有什么好处?
  3. Java中哪些效率高的功能是基于反射做的呢?
  4. byte怎么转字符串?
  5. 反射的应用场景
  6. 反射为什么性能开销高

volatile

  1. volatile 关键字作用
  2. 不加这个关键字对变量修改就不会加到主存吗?
  3. 加了这个关键字还需要加锁吗?这个关键字的一些应用场景都有哪些呢?

线程池

  1. 假设让你写一个线程池工具,你觉得应该怎么去设计呢?应该有什么变量?有什么接口?
  2. 比如核心线程数量是5,最大线程是10,现在来了11个任务,怎么调度?
  3. 线程池的执行流程?
  4. 线程池是否会出现并发安全问题?
  5. 动态线程池是怎么实现的?
  6. 动态调整机制是什么?我们应该设置多少核心线程数和最大线程数,以及通过哪里去设置?
  7. 动态线程池的“动态”体现在什么地方?
  8. 线程池过程和原理
  9. 你怎么实际计算需要的核心线程数目和阻塞队列大小?你怎么设定拒绝策略?高请求下有的用户的请求被拒绝了,你会怎么处理反映给用户?

String

  1. String,StringBuilder,StringBuffer的区别?
  2. String s=“a”+“b” 会创建几个对象?

  1. synchronized和reentrantlock的区别?
  2. java乐观锁和悲观锁?
  3. Java 有哪些重要的锁?
  4. AQS实现
  5. 有了synchornized为什么还会出现lock

多线程

  1. 多进,多线,多协各自优势和劣势?
  2. Java有哪些线程状态?
  3. 如果一个进程创建了几万个线程会出现什么问题?
  4. .怎么让两个线程有序执行?
  5. 多线程如何做同步
  6. 线程的上下文切换需要切换什么东西
  7. completablefuture 和 futuretask
  8. 怎么进入阻塞状态
  9. 怎么进入runnable状态
  10. java线程上下文切换具体过程

  1. 如果让你调研是否要从Java 8升级到更新的版本(如11或17),你会如何评估其必要性?
  2. BigDecimal怎么存储,怎么计算,有什么注意事项,为什么他能保证不丢失
  3. JDK Proxy 和 CGLib Proxy 的区别
  4. Java中你遇到过哪些异常?你分别怎么处理?
  5. 团队升级JDK版本的话你怎么调研?
  6. Java分配大对象怎么进行性能优化
  7. 泛型、反射和类型推断的关系
全部评论
mark一下
1 回复 分享
发布于 03-19 11:53 北京
mark一下
点赞 回复 分享
发布于 03-26 22:17 湖南
mark
点赞 回复 分享
发布于 03-25 19:40 黑龙江
mark一下
点赞 回复 分享
发布于 03-24 18:20 四川
mark一下
点赞 回复 分享
发布于 03-24 11:17 辽宁
mark一下
点赞 回复 分享
发布于 03-23 21:38 湖南
mark一下
点赞 回复 分享
发布于 03-20 23:18 贵州
mark一下
点赞 回复 分享
发布于 03-19 15:39 辽宁
mark一下
点赞 回复 分享
发布于 03-19 15:13 安徽
mark一下
点赞 回复 分享
发布于 03-19 14:31 香港
mark一下
点赞 回复 分享
发布于 03-19 12:29 河南
mark一下
点赞 回复 分享
发布于 03-19 12:20 天津
mark一下
点赞 回复 分享
发布于 03-19 11:14 河南
mark一下
点赞 回复 分享
发布于 03-19 10:29 江苏
m
点赞 回复 分享
发布于 03-19 09:41 湖南
mark一下
点赞 回复 分享
发布于 03-19 00:46 北京
mark
点赞 回复 分享
发布于 03-18 23:41 湖北
mark一下
点赞 回复 分享
发布于 03-18 19:23 广东
mark
点赞 回复 分享
发布于 03-18 18:59 江苏
mark一下
点赞 回复 分享
发布于 03-18 18:16 北京

相关推荐

06-11 23:37
南京大学 Java
项目相关的就不分享了,但是问的蛮多的。这里主要分享八股一面:1.你可以跟我说一下线程池的一个原理,工作原理。2. 在你日常用的时候,你怎么去评估?应该怎么去设置这个线程池的一个数量呢?(如何设置核心线程数等等)3. 什么时候会让你选择,redis中,你什么时候会用 hash 什么时候会用string?(不知道是不是听错了,不过我回答的是hash和string的区别)4. redission 的那个看门狗机制怎么实现的吗?5. 那并发抢并发请求过来的时候,大家去抢这把锁,怎么去实现这个并发锁的?6. 搜索你觉得分布式锁除了用 redis 的实现,也没有了解过业界其他实现的方案呢?7. redis有了解过它的一些内存淘汰吗?8. 慢SQL分析9. 上述策略都用到了,但是还是很慢,你可以怎么去定位?10. 深分页页怎么解决?11. 在MySQL里面有了解过它底层的一些锁吗?12. TCP三次握手的过程是怎样的?13. 可以跟我介绍一下 aop 吗?14. 你现在有了解到java每个版本它的一些特性吗?15. java 里面类加载的过程是怎么样子的?16. linux怎么去创建一个文件呢?17. 比如说怎么去通过某个关键字去看这个日志里面有没有,日志文件里面有没有出现呢?二面:1. 你对分布式这种微服务这一块的一些知识了解吗?2. 能不能讲讲你了解过现在一些概念呢?为什么有这么一微服是什么回事?有哪些概念你现在了解的?3. 嗯嗯,那那他们如果之间相互之间交互的话,他们会怎么来通信呢?4. java 里面你知道它的那个,你了解 spring 的那个事务传播属性吗?5. 其他的那种几个场景有没有遇到过可以去用的?1. 日志用**NOT_SUPPORTED** 场景**6. 你现在主要在看,就除了微服务还在看哪一些方面的一些技术的知识,或者有关注一些。7. 大模型你研究了哪些东西啊?8. 那有没有关注一些,比如说为什么没有考虑用一些新的 jdk 呢?比如说17或者21,更高级版本呢?
查看25道真题和解析
点赞 评论 收藏
分享
评论
51
375
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务