2021年 商汤/申通Java开发工程师社招面经

忽略自我介绍部分

商汤

一面

  1. java8里如何用 list转map一行代码,注意要考虑key值相同的情况。
  2. 本地缓存有哪些?如何实现。
  3. 说说你在项目中用到的redis场景,他的数据结构是什么样的?redis常用数据结构是什么?
  4. springBoot如何做全局配置?如何条件注入?如何做定时任务?(@ControllerAdvice,@Conditional,@Scheduled)
  5. 说下做的项目
  6. mysql 如何调优?慢查询如何优化?
  7. 说下mybatis 二级缓存
  8. 你刚说命中索引,那你建索引的时候,一般选择什么数据结构?

暂时只记得这些。。

二面

  1. springCloud 用了哪些组件各有什么用?一个请求在springCloud里会经过哪些组件? 
  2. 你刚提到ribbon,他是做什么用的?独立存在吗?
  3. ThreadLocal 是什么?使用场景?会有什么问题?和线程池使用会有问题吗?为什么会内存泄露?(争论了一会)
  4. hashMap的底层?put方法做了哪些事?
  5. sychronized和reentrantLock的区别?AQS做什么的?
  6. sql语句如何调优?讲下你平常如何优化sql?
  7. 事务隔离级别?Mysql默认隔离级别是什么?
  8. 给一个list,一行语句,对里面的对象排序。sort()要传什么参数?
  9. 对象里为什么要有hashCode?对象重写equals时为什么要重写hashCode?不重写会怎样?
  10. HashMap如何处理hash冲突?
  11. sychronized用法?锁普通方法和锁静态方法有什么区别?
  12. volatile 简单说下他的用处和原理。它是如何实现内存可见的又是如何阻止指令重排序的?
  13. 一个volatile 变量的自增是线程安全的吗?为什么?
  14. redis 有哪些持久化方法?各有什么区别?aof主要有什么缺点?
  15. 讲下jvm运行时数据区。

很遗憾,因为导航错误,错过了终面。。

申通

一面

  1. 项目中用到的redis的场景。redis为什么这么快?仅仅因为是读内存吗?redis数据结构有哪些?
  2. java8里jvm运行时数据区,堆中有哪些分代?用了什么垃圾回收算法?分代比例是多少?为什么是这个比例?
  3. mysql 如何调优的?说下执行计划列表中参数(任意两个)?sql慢的话一定是没有命中索引吗?如果现在有个查询慢仅仅是因为数据量大,你准备怎么优化?为什么?
  4. 索引的数据结构有哪些?各有什么区别?
  5. 讲下对aop的理解,底层原理是什么?jdk与cglib的区别在哪里?各有什么优势和差异?有没有一种情况是aop无法代理的?有没有碰到过@Transactional失效的情况?知道为什么会失效吗?(碰到但不知道,他解释是和代理失败有关)
  6. 说下你了解的数据结构有哪些?说下如何计算树的深度。
  7. synchronized和lock区别在哪里?说下synchronized锁升级过程?
  8. Lock如何做到公平锁和非公平锁?抢占式和非公平锁是一个概念吗?
  9. 说下项目里哪里用到多线程?用的线程池是什么?为什么用newFixedThreadPool?它有哪些弊端?线程池参数有哪些?阻塞队列用的什么?为什么用这个?有什么弊端?(无界队列会导致内存溢出)
  10. 平时如何学习的。

申通的连珠炮更猛点。。

比较写实了,有新的面试会持续更新。

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值