一面采用电话面试+笔试链接做算法题(可能开视频)的形式
蚂蚁第一次:
技术一般使用开源技术还是自己研发 开源spring cloud等
流水线用来做什么
用户是什么人 应用场景
是toB的对吧
学到的最前沿的技术有哪些 gateway全局权限控制 加解密编码 ansible线程池多线程及ansible命令 流水线整体流程设计
用户注册登录这些是用开源框架还是自己设计
多线程实现中遇到的问题 如何解决 并发问题 加锁怎么处理
数据库本身的锁用过吗 改同一条记录 基于他的前置状态去改后置状态
单点问题-节点挂了怎么办 节点挂了会有什么业务影响
db也是单点吗 做过分库吗 分库分表应该怎么分(水平拆分-路由、负载均衡、分布式ID解决方案 数据库号段 雪花算法等 分表以后join操作更复杂 分布式事务 数据量不达到千万不考虑 sharding-jdbc简单的例子验证)
分库分表之后跨表join (回答 先按条件找到主键 再用主键去查)
效率更高的用空间换取时间的方法(大框表或者是ES等异形数据库)
集群用到k8s吗 对k8s的了解
编程题:
二维空间解法-一维空间解法
其他解法思路
反问业务:机器学习算法平台自动化
阿里客服平台第一次:
面试笔试题:
1.设计一个熔断器组件:系统依赖A服务,但该服务存在稳定性问题,rt和失败率比较高,为了保证系统的稳定性,需要设计一个熔断器组件,要求能够根据rt和失败率进行熔断控制,要求考虑该流控规则的扩展性。
2.设计一个命令行程序参数的解析方法,将用户的输入参数解析为键值对的方式。
例如:用户原始输入为:“ -a=123 -b='456 789' --c='a+2'”
(1)不同参数之间的分隔符是可变的
(2)不可使用java.lang.String.split(java.lang.String)方法
3.注册中心底层原理 负载均衡组件底层原理 Spring底层原理
4.设计模式
淘宝第一次:
自我介绍
三个项目中哪个项目参与度最高
这部分里面开发亮点 权限校验流程
问题解决经历
cpu占用比较高的情况遇到过吗 排查思路
项目用过锁 代码里面怎么写 lock和synchronized的区别 synchronized是可重入锁 synchronized和lock的性能差别 synchronized锁升级
缓存用过吗
缓存一致性问题
延迟双删的双删体现在哪些方面 双删延迟多久去删除 具体延迟多久怎么确定
项目里的性能优化
AOP是什么 干什么用 底层实现
代码库有很多历史代码是没被用到的 如何找到这些类 做无用代码清除(和AOP有关的一个方法)
java里面怎么确定某个对象可以被回收 哪些对象可以作为GC Roots的对象
java里面的软引用和弱引用
java类加载的双亲委派机制 源码里是怎么做到这一点
什么是死锁
代码里常用的设计模式
单例模式的应用 枚举的实现可以保证线程安全吗 除了枚举之外还有什么实现方法
双重校验锁具体怎样实现 为什么要用这种方式
操作系统上面的基本概念 内存分页是什么
算法题:
1.链表里是否有环
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
2.找出整形数组里面出现次数超过总数一半的数字
3.求二叉树的高度 递归 非递归 空间复杂度更低的方法