当前位置: 首页 > 面试经验 >

Java开发实习生——喜马拉雅(30min)

优质
小牛编辑
138浏览
2023-03-28

Java开发实习生——喜马拉雅(30min)

#软件开发2023笔面经#

面试官是个年轻小伙,体验良好,非常和蔼,你不懂的面试官会给你回答出来,面试官按照简历往下问的

  1. 自我介绍
  2. 使用过哪些集合?
  3. ArrayList和LinkedList的区别?
  4. 反射机制,反射机制你常用在哪里?答得Spring的ioc
  5. 什么情况下用单线程?什么情况下用多线程?
  6. jvm内存区域
  7. jvm垃圾回收算法
  8. 操作系统是什么?
  9. 假如让你设计一个malloc(),和free()你会怎么做?之前看过,面试的时候忘了。。。
  10. 如何查找慢查询sql,慢查询如何优化?开启慢查询日志,MySQL配置文件中可以配置时间阈值。用explain分析sql
  11. 说到explain,explain中都有哪些字段
  12. ref中的const字段表示什么?有点忘了,答得是会走索引,面试官只出走的是唯一索引,比如主键索引就会走这个
  13. redis中字符串怎么表示的?
  14. rehash的过程,以及为什么要rehash?
  15. IO多路复用
  16. Netty中的IO多路复用形式

接下来就开始问项目了:

RPC:

  1. “可扩展向后兼容的私有RPC协议”是什么?为什么不用HTTP?
  2. 传输层采用tcp还是udp?为什么?用的tcp,我答的因为tcp是可靠性传输能够保证服务调用的可靠性,面试官提示还有TCP的超时重传机制以及tcp是全双工的
  3. "插件化可扩展的微内核架构"怎么理解,SPI机制怎么实现的?
  4. 关注AP,CAP是什么?为什么要关注AP而不是CP?
  5. 关注AP的注册中心除了nacos还有哪些?关注CP的注册中心有哪些?AP:eurukaCP:zoomkeeperAP/CP:nacos
  6. 幂等性是什么?为什么只对有幂等性的服务进行重试
  7. CompletableFuture如何实现全异步,优点以及缺点答的还不是很清楚,优点吞吐量更大,缺点没有说出来,面试管提示了得分业务,全异步编码复杂,不能用事务

IM:

  • 总未读数与会话未读是什么意思,为什么要用redis+lua
  • 使用redis事务不行吗,redis中的事务是怎样的
  • redis事务支持回滚吗?

算法:

比较简单,面试官让口述

  • 二叉树的镜像翻转
  • 反转链表
 类似资料: