20230928 百度二面

50min

深挖项目 然后按照简历上的技能挨个问
项目没啥问题,先问了一下 jvm 调优的几个点 都答上来了 比如 老年代新生代比例控制避免多 fullgc,然后就是怎么造成堆内存不足 写参数 创造对象大于堆内存 后端主要是写了一个会使用 springcloud 然后被追着问微服务里面 服务熔断 服务降级这些平时没有实操过的 有点难受 然后问了 jvm 调优 docker 这两个答的没问题,之后问了一下正在看的技术方面的书 我说 java 并发编程之美 然后他让并发里面的锁机制 然后我扯了一大段从源码层面解释 synoized 锁里面的 轻量锁 锁膨胀 锁自选 偏向锁的执行过程

  1. 自我介绍

  2. 项目

    1. 投票的细节
    2. 问投票,如果有很多用户同时投票怎么处理
    3. 负责了哪一块的工作
    4. 遇到了哪些挑战
      1. 讲了一下实时更新排行榜
  3. 绩点挺高的,为什么不考虑保研 保不了

  4. go 项目如果做成微服务该怎么做

  5. 你认为微服务与单体架构的区别在哪

  6. 假如有一个服务挂掉了,会导致其他的服务也挂掉,这个该怎么解决,扯了一下服务熔断服务降级那些东西

    1. 如果让你设计一个机制,你会怎么解决,

    这个答的不好,当时答得是服务治理可视化,发现有不均衡负载,就直接暂时停掉调用

  7. 你简历上说学过 jvm 调优,知道那些 jvm 调优得方法吗

    1. 调整老年代年轻代大小,减少 full gc 次数,调整堆内存等
    2. 写一个代码造成堆内存溢出
      1. 刚开始写得是用一个 gc root 防止被 gc,然后往后面挂引用,然后递归,他说这个首先造成的是栈内存溢出
      2. 后面想的是先使用参数调整堆内存大小为多少兆,然后直接使用字节创建对象大小
      3. 项目里用过 jvm 调优吗
  8. 使用过 docker 吗

    1. 讲了一下项目里怎么自定义镜像,然后创建一个容器,然后创建另一个容器使用挂载,共享内存实现一个功能
    2. 讲一下 docker 创建容器的参数
  9. 一般项目使用什么部署,docker compose? 他说用过 k8s 吗 我说听过但是没学过

  10. 接口压测过吗

    1. jmeter,apifox 但是自己之前没压测过
    2. Qps tps
  11. 现在在看哪些技术书或者博客

    1. java 并发编程之美,编程思想
      1. 讲一下并发中的锁机制
        1. 你自己有实操过吗 有的有有的没有

反问