美团日常一面 行业合作平台

先自我介绍,问实验室研究方向,为什么从上一段离职,能实习多久,最快入职时间

总共50min

自我介绍等问题 4min、实习 12min、八股 26min、手撕 8min

timeline:9.1 一面,9.2 约 9.8 二面,后又说面试官有事,9.9 二面(下午五点) 9.10 晚上六点 oc

base:上海

bg:本 2 硕 9,一段得物4个月实习

实习

  1. threadpooltaskexecutor是什么作用
  2. forkpooljoin 起什么作用?底层窃取算法怎么实现的?
  3. 为什么更适合 cpu 密集型?那你如何防止他创建大量线程的(我答换了使用另一个自定义线程池(核心线程数和最大线程数设置成一样)?那核心线程和最大线程设置成一样是什么效果?
  4. 你用countdownlatch 作用是啥?await 是如何做到阻塞在那的?底层原理?聊一聊 AQS?

八股

  1. 聊一聊泛型?实际有用过吗?用的多的有哪些场景?
  2. 反射主要用在什么场景?你的理解中为什么需要反射这种机制?
  3. 有了解过动态语言和静态语言么(这里蒙了,然后跟我解释是编译型和解释型语言的意思),java 属于哪种?为什么说是半编译半解释?
  4. 讲讲 AOP?
  5. java 生成代理有哪几种方式?讲下静态代理和动态代理,动态代理动态在哪里?生成动态代理的方式有哪些?
  6. 集合了解哪些?CopyOnWriteArrayList是怎么实现并发安全的?CopyOnWriteArrayList如果只是读写分离,不是会有数据不一致的问题么,有进一步了解么?
  7. HashMap 和 ConcurrentHashMap 区别?JDK8 ConcurrentHashMap锁的粒度这么小的话不会有额外的开销吗?它用的是什么锁?
  8. Syncronized 锁的原理?
  9. 了解哪些 GC 算法?G1 从哪个版本开始有的?jdk8默认垃圾回收器是什么?
  10. JVM 内存分哪几个区域?
  11. 双亲委派模型讲讲?为什么要避免重复加载?有了解要破坏双亲委派的场景吗?破坏双亲委派模型要重写的类叫什么?
  12. 数据库 MVCC 机制讲下?它是怎么做到让一些事物不可见的?它是怎么知道前面有一串事物 id 的?
  13. undolog 作用?
  14. spring 里面怎么注入一个 bean?
  15. @Resource 和@Autowired 区别?
  16. Spring 默认事务传播级别?
  17. 事物注解失效的场景?为什么自调用会导致事物失效?如果代码就写成这样了,自调用导致事务失效了,怎么办?
  18. 布隆过滤器讲下?弊端?
  19. 使用过哪种分布式锁?(答了用 Redission,有自动续期,不然会被别的线程释放掉锁)然后问使用原生 Redis 不能做好这种锁释放吗,原生 Redis怎么解决被错误释放锁?

手撕

层序遍历

5min运行成功后,然后问思路,问为什么 size这样取可以保证是某一层的数量等细节问题(默太快了导致讲的时候思路有点乱,以后要想清楚再默)

反问:业务是什么?有几面?

面试官回完后说 感谢你的时间

全部评论

相关推荐

09-02 22:36
已编辑
北京邮电大学 Java
行业合作平台 base 北京1. 自我介绍2. 点评项目超卖问题怎么解决的3. 乐观锁什么问题,比如说十个线程同时到,无限自旋次数,最多会相当于多少个请求打过来(10+9+8+……+1 = 55)4. 高并发场景下有什么问题(就答了个线程安全)5. 使用悲观锁呢,乐观锁重复请求会很多,悲观锁效率低,那该怎么办(这里没答出来,就说了个存到redis内预扣减)6. 存到redis内预扣减的话lua脚本该怎么写7. 为什么用lua脚本能保证原子性(这里稀里糊涂的说了单线程,然后面试官就扯到多线程,然后就说多线程具体是怎么多线程的)8. 为什么使用redis效率就高,使用java能实现这种效率吗(说实话,这里没太明白要问什么)9. 一人一单怎么解决的,使用了分布式锁10. setnx为什么能实现分布式锁11. 使用分布式锁有一个问题,业务没执行完超时释放了,那怎么办12. 使用redission了是吧,底层是怎么续期的呢(这里回了看门狗机制,然后直接让手撕看门狗)13. 写了15min左右看门狗,写的依托,面试官也没说啥,看我前五分钟没动,说可以用伪代码,也不用完全一样(好人面试官)14. 项目拷打完直接JVM,内存分区有什么15. 元空间中存的是什么东西,运行时常量池里面存了什么,和堆中的字符串常量池有什么区别16. 简单完整的说说垃圾回收(这里说JVM会监控内存然后内存不够就启动gc)17. 什么情况下会触发gc(答了new一个对象空间不够的时候,还有system.gc()可能会调用)18. 既然system.gc()不一定会启动gc,那么还要他干什么(我这直接蒙,不知道在问啥)19. 判断无用对象方法(引用计数法、可达性分析)20. 可达性分析法中,没有被gc roots标记的对象怎么处理(这里也不知道在说啥,直接答了一个标记的对象放到一块,然后剩下的直接清理)21. rabbitmq在项目中怎么用的22. 什么情况下要使用rabbitmq23. 又回到了项目,我要取消订单的时候mq该怎么使用(这里说取消订单放到另一个队列中)24. 那么这两个队列一个是取消队列,一个是正常的下单队列,那要是取消队列的消息先被消费,然后才是下单队列被消费改哦怎么办(这个mq完全没见过,直接说不知道)25. 线程池七大核心参数26. 线程池提交任务怎么修改成核心线程->非核心线程->阻塞队列,这种方式(这里就答了同步队列,后来查了发现是要自定义阻塞队列)27. mysql建表的时候要注意什么28. mysql创建索引要注意什么29. limit有什么问题(答了深度分页问题)30. 有了解过大模型什么的吗面试官人很好,手撕redission看门狗的时候宕机了5min也没push,有的地方答得慢了也会提醒,但是有的问题确实是没太看懂要问什么两个小时之后约9.4二面
查看30道真题和解析
点赞 评论 收藏
分享
评论
1
5
分享

创作者周榜

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