上海一二线公司java高级/资深岗位面试题汇总(一)

某头部电商

  1. 线程池如何调参
  2. 数据库的隔离级别,默认哪种实现,底层是怎么实现的
  3. 网关底层,线程对请求的处理机制
  4. k8s的核心组件
  5. spring事物的底层实现原理
  6. es如何做高可用
  7. 快递包裹的流转轨迹
    在这里插入图片描述

某科技金融

  1. 算法题:不用递归实现前序遍历
public static List<Integer> preorderTraversal(TreeNode root) {
    List<Integer> list = new ArrayList<>();
    Stack<TreeNode> stack = new Stack<>();
    stack.push(root);
    while (!stack.isEmpty()) {
        root = stack.pop();
        while (root != null) {
            list.add(root.val);
            if (root.right != null) {
                stack.push(root.right);
            }
            root = root.left;
        }
    }
    return list;
}
  1. 算法题:盛最多水的容器
    leetcode原题链接:https://leetcode-cn.com/problems/container-with-most-water/
public int maxArea(int[] height) {
    int max = Integer.MIN_VALUE;
    int left = 0;
    int right = height.length - 1;
    while (left < right) {
        int area = (right - left) * Math.min(height[left], height[right]);
        max = Math.max(max, area);
        if (height[left] <= height[right]) {
            left++;
        } else {
            right--;
        }
    }
    return max;
}
  1. 网关用的垃圾回收器。cms的原理,缺点
  2. 线程池的参数有哪些,是否重写过threadFactory。工作中一般怎么实现线程池的,是自定义的还是用默认的。fixedThreadPool要注意的地方
  3. 数据库的隔离级别,解释下幻读

某培训机构(讲师)

  1. 网关怎么做到高性能的、高并发的
  2. springboot的自动装配
  3. spring里面,bean的生命周期
  4. spring里面的事物,什么时候会失效
  5. spring如何解决循环依赖
  6. tomcat为什么要打破双亲委派模式
  7. 网关用到的设计模式
  8. 幂等性如何保证
  9. spring cloud gateway 怎么接收请求参数和请求头,怎么重写请求头,怎么重写响应体
  10. 谈谈eureka底层源码,核心的几个方法
  11. 解释eureka自我保护机制
  12. 整个网关的qps,怎么算出来的,机器数量,机器配置
  13. redis的主从复制原理
  14. redis单点、主从、哨兵、集群这几种架构的对比
  15. redis哨兵做故障转移的过程
  16. 解释下一致性哈希
  17. 网关的灰度发布怎么设计的
  18. 网关的监控告警项目,项目背景,为什么用flink,好处是什么,有哪些计算指标,用了什么设计模式
  19. es为什么这么快
  20. redis在生成rdb文件的时候,用了什么技术
  21. 说说对于redis的事物的理解
  22. 用简短的话,介绍下redis
  23. 说下为什么想转行进入教培行业
  24. rocketmq如何实现顺序消费,如何实现延时队列,是否会出现死信队列问题
  25. 解释下zk的zab协议
  26. 网关的filter顺序是怎么排的,如果两个filter的order值一样,哪个先执行
  27. zookeeper脑裂问题,怎么解决
  28. SkyWalking怎么实现代码的无侵入的
  29. 几种类加载器解释下
  30. mybatis里面的foreach的作用
  31. 线程之间如何实现通信的
  32. es的索引比较大的时候,用了什么压缩技术
  33. mysql深度分页的时候,为什么会慢
  34. springboot怎么让某个bean,不自动加载
  35. 解释下aop代理的两种方式:jdk和cglib的区别

某新兴物流

  1. http为什么是应用层协议
  2. http为什么是3次握手,而不是2次或者4次
  3. 两个线程,一个按照id 3,4的顺序修改,一个按照4,3的顺序修改,如何防止死锁的问题,且性能足够高
  4. redis io多路复用的原理
  5. redis主从复制的流程
  6. hystrix怎么避免因网络抖动等因素导致误熔断
  7. 聚集索引和非聚集索引
  8. b+树的设计原理
  9. es倒排索引的概念

某头部互联网金融

  1. 整个网关做的比较出色的功能
  2. 网关做了哪些优化
  3. 有两个表A和B,有相同字段pid,从A里面找出,pid不存在于B的那部分数据(不用in查询)
  4. redis限流怎么做的,解释下令牌桶算法
  5. 线程池的一些核心参数,含义
  6. 是否有自定义过线程池,线程池参数怎么调配的
  7. 对semophore的信号量的理解,解释下semophore包含的一些核心方法
  8. 小程序热点商品如何存放的
  9. 小程序用了哪些好的设计模式
  10. 订单表怎么设计的,是否有父子订单的概念
  11. 使用 Redis存储展示热门商品及用户浏览记录,怎么实现的
  12. 网关auth认证服务,怎么做的
  13. 网关的token怎么存放的
  14. 笔试题:合并两数组-合并排序的数组给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B。 编写一个方法,将 B 合并入 A 并排序。初始化 A 和 B 的元素数量分别为 m 和 n。
    leetcode原题链接:https://leetcode-cn.com/problems/sorted-merge-lcci/
public static void merge(int[] A, int m, int[] B, int n) {
    int indexA = m - 1;
    int indexB = n - 1;
    int start = A.length - 1;
    while (start >= 0) {
        if(indexA < 0){
            A[start--] = B[indexB--];
            continue;
        }
        if(indexB < 0){
            A[start--] = A[indexA--];
            continue;
        }
        if(A[indexA] >= B[indexB]){
            A[start--] = A[indexA--];
        }else{
            A[start--] = B[indexB--];
        }
    }
}
  1. 笔试题:删除链表中的节点-请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 。题目数据保证需要删除的节点 不是末尾节点 。
    leetcode原题链接:https://leetcode-cn.com/problems/delete-node-in-a-linked-list/
public void deleteNode(ListNode node) {
    int value = node.next.val;
    node.val = value;
    node.next = node.next.next;
}
  1. 两个线程,交替打印1-100,保证cpu消耗尽可能低
  2. 写一段死锁的代码
  3. 说下zk的强一致性怎么保证的
  4. zk的watcher机制原理解释下
  5. 说下你是怎么提升自己的抗压能力的
  6. zk的流量风暴问题,你是怎么发现的,当时的现象,怎么解决的
  7. 过去2年多在现公司是否有晋升
  8. 现公司和之前公司的异同,离开第一家公司加入现公司的原因,现在想离开的原因

某互联网物流独角兽

  1. redis io多路复用里面是否涉及到多线程
  2. redis fork为什么要用子线程,而不是多线程,用多线程是否可以
  3. kafka和rocketmq的区别
  4. hbase的热点问题,怎么解决的
  5. 网关怎么实现高吞吐,高io的,做过哪些优化
  6. 如果网关当前最大只支持1万的并发,现在实际的并发量也是1万,问在减少20%机器的情况下,如何保证仍然能支持这么大的并发
  7. redis出现卡顿,如何去排查问题
  8. 为什么要用flink去做实时日志流数据处理
  9. 在第一家公司,用es做什么
  10. 公司监控方面,怎么做的

某汽车养护电商

  1. gateway底层io模型,实现原理(接收请求到响应的整个过程)
  2. 说下g1垃圾回收器的原理
  3. 是否有jvm调优的相关经验
  4. sentinel的底层实现原理,持久化规则到阿波罗怎么实现的
  5. 聚集索引和非聚集索引
  6. b+树的设计,为什么是二叉树的设计,而不是哈希表
  7. gateway全局filter和gateway filter的区别
  8. gateway是否有做过性能优化,参数怎么调的,WebClient异步调用取代Feign阻塞调用怎么实现的
  9. gateway重写LoadBalancerClientFilter负载均衡策略,实现灰度发布功能怎么实现的
  10. syncronized锁的升级过程
  11. 你们网关单个实例的吞吐量是多少,机器配置,问我们是否做过优化(比如路由这块配置,怎么处理的,是遍历的去读配置列表,还是怎样,面试官说gateway网关其实也是有很多问题的,不去优化,性能不比zuul强多少。)
  12. 为什么要把eureka升级为nacos,问我们eureka上注册的实例数是多少
  13. eureka和nacos的区别,底层原理实现上的区别
  14. 网关监听zookeeper path清理,避免出现OOM问题----为什么会出现oom,zookeeer在监听path这块是否设计不合理,是否监听某个路径的父路径就可以,而不是所有路径
  15. 网关的鉴权是如何做的
  16. zookeeper配置下发部分优化,修复并发下发导致的流量风暴问题—整个前因后果,事发当时,怎么解决的,后续怎么排查出问题的
  17. 灰度发布这块的设计
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值