大厂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 北京

相关推荐

面试官人很好,态度和蔼可亲,没答出来时也会引导你去思考。由于是晚上面的,导致我白天一天都有点紧张,面的时候状态也不是很好,正常可能面试官提问完应该思考几秒再答,而我就像抢答一样一口气把所有会的都说出来,这样就导致逻辑比较混乱,东一句西一句的。首先是自我介绍,先把会的技术大致讲一下,由于我八股背的多所以着重讲了一下,Java,go,jvm,MySQL,Redis,计网,操作系统这些,然后一小部分闲聊,然后先问了一下项目,面试官问我这个项目是否落实之类的,直接坦言说是写的练手的,包括之前也写过IM通讯,外卖之类的。然后面试官就把提问的重点放在了八股上。先问了Java:类加载器(答:3种+自定义类加载器、tomcat、原因+双亲委派+好处)JVM参数(答:xmx,xms,newsize这些,问我是如何设定的,我回答是把内存分一半给堆,再把堆分一半给新生代,这方面确实不太了解)然后问了一下并发相关的:线程池(答:线程池的7个参数(忘了线程工厂和阻塞时间了),3个重要参数,还有线程如何启用,为什么要设计最大线程数之类的,提到Java栈默认分配1MB运行时不可以更改)AQS(答:先讲clh是自旋锁+list,然后是AQS在这个基础上做的两个优化,然后举了一下reentrantlock根据state如何获取资源)CAS(答:使用三个字段,aba问题,然后将通常搭配自旋锁实现,面试官问通常会自旋多少次,这个不太了解,答的100,然后问100次大概多少秒,回答微秒级,然后面试官讲了一下怎么做资源可能没用完,意识到可能还需要进行阻塞操作)然后考虑一下Linux命令(top,ps,如何使用管道符过滤线程和使用Linux启动线程没答出来)然后问Redis:持久化机制(答:三种aof,rdb,混合,aof的三个参数刷盘策略,rdb以快照保存,使用bgsave会使用子线程来保存不会阻塞,而aof虽然会阻塞但是只在写完数据后追加一条命令,不会太影响,然后是他俩的优缺点,还有混合是怎么保存数据的)集群模式(答:三种,主从复制到缺点再到哨兵机制,正常使用三个哨兵互相监督,主节点挂了投票选主哨兵然后选主节点,然后额外讲一下脑裂的问题,主节点进行数据更新然后把命令写入aof来同步从节点,最后cluster集群,如何实现,使用16383个哈希槽(艹答成16384了),先根据哈希码取余,再根据节点数取余决定放在哪个节点上,然后问了一下我会怎么选集群模式,首先是cluster的问题,会让管道操作之类的失效,然后哨兵会导致整个集群结构变得复杂,使用小项目可能会考虑哨兵,大的考虑cluster,然后考了一下cluster如果一个节点挂了怎么办,根据节点数重新取余然后数据转移,面试官说这么转移比较慢,有没有别的办法,我隐约记得使用一个类似环形数组的方式,想不起来了)然后考了一下MySQL的b+树(这方面的知识点太多了,导致我什么都想讲逻辑就比较乱,讲了一下聚簇索引,树的叶子节点对应着一张页16KB,MySQL有一个区的概念,把这些页放在同一个区中,这样叶子节点的双向链表遍历时速度更快,然后b+树的扇出比较大(非常二,说成扇度之类的,面试官以为说的是扇区)这样层数就比较小,一行1kb数据的话3层可以放心2000w数据)其他的暂时想不起来了算法是lru,面试官问要不要提示,我说写个,然后写了10分钟左右,说大概写好了,但是面试官指出了2个小错误,第一个马上就改回来了,第二个一直没看出来(大脑这时候已经停止工作了)反问:问学习建议,说根据实际的项目进行深入,考虑应该怎么做,还问了一下组里面是做Java的吗?面试官说他是做go的,组里什么语言都有,语言影响不大,连忙补充了一句我对go的底层有深入源码的学习)结束。总体感觉答得不太好,没有太体现出深度,细节也不够全面。
下一个更好呗:佬,我投完云智一直没消息,多久约的一面啊
查看14道真题和解析
点赞 评论 收藏
分享
评论
49
370
分享

创作者周榜

更多
牛客网
牛客企业服务