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

相关推荐

05-18 02:32
已编辑
华东师范大学 Java
倍受打击的一天:淘天笔试前夕看到了蚂蚁面试流程结束的信息(以后一定改掉笔试前看流程的怪癖😅),来不及悲伤就迎战笔试,第一道算法卡了很久,怎么改都只能过15%的用例,交完试卷不久想到是最后一个判断的地方取反了,唉,临场还是慌了,自己刷题应该不会犯这种低级失误,最后1.3/3,暑期是和淘天无缘了😄说说bg吧,废鼠是科班摆子,2月底开始备战暑期实习,技术积累只有快忘完的Java基础/计网/操统,算法将将能做ez也不知道当时怎么想的,一股脑扎紧了Java后端,如果走前端或客户端,应该不至于现在还一无所获。最近3个月,几乎每周都是996,奈何专注力太差,每天有效的学习时间也就5/6个小时,速成了spring,mybatis,包装了一个微服务项目,看了小林的redis,mysql,guide的juc/jvm,常问的八股背的还行,简单学了mq和springcloud,算法吭哧吭哧刷完了hot100(部分二刷)。4月初赶上中期结课的高峰期,清明附近的两周主要忙着学校的事,四月下旬开始海投,估计五一前筛选工作都放缓了,当时投的都泡池子了,只有腾讯的cpp岗捞面(疑似kpi),可能技术栈不对口,面试官问了很基础的java八股也没反馈,然后开始拷打计网/操统,计网都答上了,操统真不会啊手撕是简单的mid,10min码完,用的内置ide也没测试,感觉面试官也不关心结果匆匆结束,三天后感谢信51给自己放了两天假,剩下三天复习了一下八股,泛泛地学了些ai的知识,5.1后笔试扎堆,做了蚂蚁/pdd/灵犀的,隔周哈啰/蚂蚁/pdd约面,当时还挺开心的,觉的自己手撕能力提高了不少,能过大厂的笔试了,殊不知即将迎来面试暴击。哈啰一面,面试官“我们部门是做爬虫的,主要用python,你考虑转岗么,不考虑的话,现在就可以结束了”,我***,简历全篇就技术栈里提了一嘴python,投的也是后端Java岗,转岗的问题不能发邮件问么,“不想转”,开门黑pdd一面,上来先手撕,精准命中算法盲区,好久没接触的堆,只记得小根堆结构,上浮下沉怎么操作全然忘记,卡了半小时没撕出来,不过面试官挺和善,进入项目拷打和八股环节,大概都说到了,但想到手撕卡了那么久,感觉必寄,后续约了二面,不知道是不是陪跑蚂蚁一面,电话面,主要围绕项目问八股,答的七七八八,出的场景题刚好看到过,背出了最佳实践,然后开始问ai,没问具体问题,让我说自己接触到的,扯了15min,面试官也挺和善,反问环节,说我笔试排序比较高,有进展会联系我,感觉发挥的不错,期待了一晚上,结果隔天笔试前夕看到了流程结束的信息(毕竟太晚了,估计前面的人接了offer没hc了,或者同期有更厉害的大佬,不晓得了)蚂蚁自认为发挥不错隔天挂,pdd手撕卡住还进二面,感觉过不过全看运气,好无力淘天笔试又犯低级失误,还有一些生活中的烦心事,叠加在一起,下午心态崩了,也不push自己复习了,放半天假吧,明天从头来过。“世界上,只有一种真正的英雄主义,那就是认清了生活的真相后还依然热爱它”,高中最爱用的作文套话,三年后还在激励着找实习的废鼠与牛友共勉
点赞 评论 收藏
分享
评论
48
368
分享

创作者周榜

更多
牛客网
牛客企业服务