阿里P6-P7面试准备

电话面试:

第一次面试关注的问题,

1)java基础:

jvm 内存回收,垃圾回收基本原理,Java并发包的线程池,Java8的新特性。nio 堆排序。conrenthashmap , concurrenthashmap 的size实现, spring的事务

2)数据库基础:

事务隔离级别,数据库连接池,锁性等。。MQ如何保证顺序性。spring事务传播性。 数据库跨库一致性

数据库死锁的问题,一个删除昨天一个删除今天的,怎么死锁的。

还有hashmap在并发情况下会出现什么现象?  http://www.cnblogs.com/ITtangtang/p/3966467.html

还有个延迟队列和队列排序的问题。

3)如果项目中有用到框架:Redis,RPC、Kafaka、MQ 、Spring 等。

问到的问题比如springmvc工作机制、Spring MVC的aop实现原理,Spring MVC 的请求过程,一个Controller是单例还是多实例。再比如Redis,在项目里面承担了核心缓存左右,选择的持久化方式是什么。redis恢复。Redis的内存废弃策略。redis高并发的key怎么处理。

非常注重源代码,不管是jdk的,还是框架的

还有比如spring,redis源代码的实现

架构方面,分布式框架和中间件问题:

dubbo原理

zookeeper原理

netty原理

高并发综合策略  数据一致性处理策略

4)线上问题处理经验

5)表达对技术的钻研热情

第二次电话面试是交叉面试,同上。

第三次是现场技术终面+HR面

P6的考察侧重点

1、80后。

2给人的感觉是上进心很强,努力学习精进技术的,不愿意混日子。

过往的工作经验是owner一个独立的业务系统,负责系统的设计开发工作,可以不是架构。明确知道系统架构的情况,理解上下游关系。理解该系统的业务定位,该系统当前存在的问题和后续的规划发展有自己的见解。

3 Java基础知识和分布式经验应该很熟悉,框架层面源码如果能研读可以加分。但是如果只是会用而不了解原理就要减分。

4会重点考察分布式/服务化系统(不是大流量高并发)的设计原理,思路,关注点。要会理解一些分布式session、全局流水ID号、服务多次重试幂等、同步转异步、服务监控、最终一致性等原理和应用。

P7的考察侧重点

1 敢说敢做,有气场勇于承担事情

2不是一个单纯的技术实现人员,而是一个有规划,有思考的人。主导一个复杂的系统(多个业务系统完整链路);或者负责一块五脏俱全的业务。

3 对业务系统的理解会更多从商业价值角度去描述,熟悉这块产品链的模式和玩法,或者工业化成熟度较高的专业实现方案。

对基础中间件系统可以描述常见竞品、实现原理算法、核心难点。

4如果是电商交易类背景的,分布式系统设计原则要比P6的同学理解更深入:分库分表分布式事务、性能稳定性的实践。

如果能描述分库分表中间件实现原理(SQLParse、语法树)、单元化/多机房灾备可以加分-就可以往P7+、P8去谈。

5 P7的同学开放式的问题会比较多,会更多在答题思路和内容中去挖掘亮点。

你可能感兴趣的:(阿里P6-P7面试准备)