某头部电商
- 线程池如何调参
- 数据库的隔离级别,默认哪种实现,底层是怎么实现的
- 网关底层,线程对请求的处理机制
- k8s的核心组件
- spring事物的底层实现原理
- es如何做高可用
- 快递包裹的流转轨迹
某科技金融
- 算法题:不用递归实现前序遍历
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;
}
- 算法题:盛最多水的容器
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;
}
- 网关用的垃圾回收器。cms的原理,缺点
- 线程池的参数有哪些,是否重写过threadFactory。工作中一般怎么实现线程池的,是自定义的还是用默认的。fixedThreadPool要注意的地方
- 数据库的隔离级别,解释下幻读
某培训机构(讲师)
- 网关怎么做到高性能的、高并发的
- springboot的自动装配
- spring里面,bean的生命周期
- spring里面的事物,什么时候会失效
- spring如何解决循环依赖
- tomcat为什么要打破双亲委派模式
- 网关用到的设计模式
- 幂等性如何保证
- spring cloud gateway 怎么接收请求参数和请求头,怎么重写请求头,怎么重写响应体
- 谈谈eureka底层源码,核心的几个方法
- 解释eureka自我保护机制
- 整个网关的qps,怎么算出来的,机器数量,机器配置
- redis的主从复制原理
- redis单点、主从、哨兵、集群这几种架构的对比
- redis哨兵做故障转移的过程
- 解释下一致性哈希
- 网关的灰度发布怎么设计的
- 网关的监控告警项目,项目背景,为什么用flink,好处是什么,有哪些计算指标,用了什么设计模式
- es为什么这么快
- redis在生成rdb文件的时候,用了什么技术
- 说说对于redis的事物的理解
- 用简短的话,介绍下redis
- 说下为什么想转行进入教培行业
- rocketmq如何实现顺序消费,如何实现延时队列,是否会出现死信队列问题
- 解释下zk的zab协议
- 网关的filter顺序是怎么排的,如果两个filter的order值一样,哪个先执行
- zookeeper脑裂问题,怎么解决
- SkyWalking怎么实现代码的无侵入的
- 几种类加载器解释下
- mybatis里面的foreach的作用
- 线程之间如何实现通信的
- es的索引比较大的时候,用了什么压缩技术
- mysql深度分页的时候,为什么会慢
- springboot怎么让某个bean,不自动加载
- 解释下aop代理的两种方式:jdk和cglib的区别
某新兴物流
- http为什么是应用层协议
- http为什么是3次握手,而不是2次或者4次
- 两个线程,一个按照id 3,4的顺序修改,一个按照4,3的顺序修改,如何防止死锁的问题,且性能足够高
- redis io多路复用的原理
- redis主从复制的流程
- hystrix怎么避免因网络抖动等因素导致误熔断
- 聚集索引和非聚集索引
- b+树的设计原理
- es倒排索引的概念
某头部互联网金融
- 整个网关做的比较出色的功能
- 网关做了哪些优化
- 有两个表A和B,有相同字段pid,从A里面找出,pid不存在于B的那部分数据(不用in查询)
- redis限流怎么做的,解释下令牌桶算法
- 线程池的一些核心参数,含义
- 是否有自定义过线程池,线程池参数怎么调配的
- 对semophore的信号量的理解,解释下semophore包含的一些核心方法
- 小程序热点商品如何存放的
- 小程序用了哪些好的设计模式
- 订单表怎么设计的,是否有父子订单的概念
- 使用 Redis存储展示热门商品及用户浏览记录,怎么实现的
- 网关auth认证服务,怎么做的
- 网关的token怎么存放的
- 笔试题:合并两数组-合并排序的数组给定两个排序后的数组 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--];
}
}
}
- 笔试题:删除链表中的节点-请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点 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-100,保证cpu消耗尽可能低
- 写一段死锁的代码
- 说下zk的强一致性怎么保证的
- zk的watcher机制原理解释下
- 说下你是怎么提升自己的抗压能力的
- zk的流量风暴问题,你是怎么发现的,当时的现象,怎么解决的
- 过去2年多在现公司是否有晋升
- 现公司和之前公司的异同,离开第一家公司加入现公司的原因,现在想离开的原因
某互联网物流独角兽
- redis io多路复用里面是否涉及到多线程
- redis fork为什么要用子线程,而不是多线程,用多线程是否可以
- kafka和rocketmq的区别
- hbase的热点问题,怎么解决的
- 网关怎么实现高吞吐,高io的,做过哪些优化
- 如果网关当前最大只支持1万的并发,现在实际的并发量也是1万,问在减少20%机器的情况下,如何保证仍然能支持这么大的并发
- redis出现卡顿,如何去排查问题
- 为什么要用flink去做实时日志流数据处理
- 在第一家公司,用es做什么
- 公司监控方面,怎么做的
某汽车养护电商
- gateway底层io模型,实现原理(接收请求到响应的整个过程)
- 说下g1垃圾回收器的原理
- 是否有jvm调优的相关经验
- sentinel的底层实现原理,持久化规则到阿波罗怎么实现的
- 聚集索引和非聚集索引
- b+树的设计,为什么是二叉树的设计,而不是哈希表
- gateway全局filter和gateway filter的区别
- gateway是否有做过性能优化,参数怎么调的,WebClient异步调用取代Feign阻塞调用怎么实现的
- gateway重写LoadBalancerClientFilter负载均衡策略,实现灰度发布功能怎么实现的
- syncronized锁的升级过程
- 你们网关单个实例的吞吐量是多少,机器配置,问我们是否做过优化(比如路由这块配置,怎么处理的,是遍历的去读配置列表,还是怎样,面试官说gateway网关其实也是有很多问题的,不去优化,性能不比zuul强多少。)
- 为什么要把eureka升级为nacos,问我们eureka上注册的实例数是多少
- eureka和nacos的区别,底层原理实现上的区别
- 网关监听zookeeper path清理,避免出现OOM问题----为什么会出现oom,zookeeer在监听path这块是否设计不合理,是否监听某个路径的父路径就可以,而不是所有路径
- 网关的鉴权是如何做的
- zookeeper配置下发部分优化,修复并发下发导致的流量风暴问题—整个前因后果,事发当时,怎么解决的,后续怎么排查出问题的
- 灰度发布这块的设计