阿里三面总结

技术面总共三面,最后挂在了最后一面上,挺可惜的,哎~
工作两年,这里主要总结一下整个面试过程,自己做个自我总结,制定之后的学习计划吧,有需要的人也可以看看:
8月21号收到阿里妈妈事业部的面试通知,当天面试官就和我约了第二天下午4点的电话面试.二面在第二天,三面隔了两周.

一面

一面总共进行了80多分钟吧,问的都是技术上比较基础的东西,主要是涉及的范围比较广.
印象中大概有:
先自我介绍
看了我的项目经历问了一些项目上的东西,这一块问的特别细,比如:
订单状态机怎么设计
状态表怎么设计
状态怎么扭转
如果有两个节点怎么扭转
状态机扭转有问题怎么办,比如付款失败变成成功的了状态怎么处理

linux常用命令,比如怎么看日志,cpu,内存.

redis
redis有事务吗
redis数据双写一致性问题
redis锁的设计
如何避免死锁
redis在项目中的使用

其他的还包括一些开放性的问题,这里面有些是他们现在现在正在遇到的问题,说说你的想法.
比如高并发积分系统的设计,会员积分 总共积分池10万 用户每次积分加减都是实时的 你怎么设计.

设计模式相关
设计模式你的使用
设计模式在你看的开源项目里的应用,这里我就说了我看的zookeeper,spring,tomcat里的一些应用.
常见的设计模式,比如策略模式等等.
一个外部接口经常变化,用什么模式.

UML相关
你写代码之前会做哪些设计,画哪些图等等

项目的类代码结构,你写代码怎么设计这些包.你怎么分层的.

java异常相关
空指针你怎么解决的.

数据库扛不住 分表

根据你写的简历 一面二面范围 三面四面深度 还有交叉面 中间一周到两周

数据结构
树相关,堆排序

数据库
事务
如果转账 a到b 加减 不会慢吗,要是加事务,事务的隔离级别怎么选.
索引

分库分表

请求量大 应用扛不住 怎么分析
消息积压 监控 cpu告警 io 慢查 线程池

Java类加载机制,Tomcat的类加载拓展,java双亲委派机制的作用

spring生命周期

spring aop

spring事务

JDK动态代理 和 cglib动态代理的区别

spring你自己做的拓展

你做过数据分析吗

jvm 永久代 常量池 堆

常量池GC

nio和bio区别

DDD领域驱动设计

你怎么看开源项目

除了java其他爱好

分布式配置中心的设计

订单全流程包括业务

zookeeper相关
zk事务请求,watcher机制,如何保证所有client都能收到watcher通知.简单的说事务请求的关键步骤 proposal 和 commit.

zk权限机制,acl.

zk做什么用的

线程死锁 为啥会死锁 死锁怎么分析

mysql慢查 执行计划

日志怎么查,你们用的有哪几种

一面主要问的问题覆盖面特别广,基本上你哪个方面比较熟哪个方面不太熟的都知道了.一面的时候总体回答的还行吧,一些不熟悉的点都跳过了.面完之后第二天我联系了一下他们,没想到直接下午安排电话二面.

二面

二面主要结合技术问了项目相关的问题,面试过程持续了大概75分钟.
问了一些并发包里的内容

泛型

http状态码
http和https区别
session和cookie
配置中心的作用和实现
单点登录

你有哪些不该接的需求
你在项目中做过感觉最有成就感的事情

工作流实现(由于项目中涉及到了这个,问的特别多特别细)

缓存中心怎么实现

分布式调度

下单流程

微服务了解吗(这是三面的坑,哎,之前一直看过说不出来啊)

上家公司做了什么

日志相关

单元测试,集成测试

线上问题怎么定位

系统的整体架构

由于涉及自己做的项目的,基本上能说的都说了,当时觉得回答的还行吧,结果面试完一直没有通知,让等消息.
一等就等了两周才有消息.

三面

三面是hr通知的,本来约的当天晚上就面试,然后自己有点事就推到下周了.在这一周里自己把简历里涉及的点都好好看了,但是三面好像不问这些,很无语…
现在回想一下三面问的都是技术的实际应用,已经不关心你懂不懂原理了,而是怎么去设计系统,这方面自己确实比较欠缺.

百亿级读,高并发高可用.

百亿级写,高并发高可用.

高并发无锁写设计cas.

微服务架构.

从浏览器输入url的一个请求的整个流程.

这几个是自己没回答好的问题,微服务相关和http tcp相关确实是自己没准备,看了说不出来,挂了挺可惜的…整个视频面试过程进行了65分钟就结束了.

你可能感兴趣的:(随笔)