阿里蚂蚁淘宝等多次一面面试面经

一面采用电话面试+笔试链接做算法题(可能开视频)的形式

蚂蚁第一次:

自我介绍

技术一般使用开源技术还是自己研发 开源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.求二叉树的高度 递归 非递归 空间复杂度更低的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值