交待一下(非广告),第一次用拉勾,感觉做的挺好,以前一直用51job。
从7月分开始,打算找工作,一个偶然的机会,拉勾上一个蚂蚁金服的同学找到我,说要内推,在此感谢姚同学!
然后就开始了蚂蚁金服的面试之旅。
把简历发过去之后,就收到了邮件通知,10个工作日联系我,请耐心等待。
一面
没过2天就接到一个杭州的座机,说要约我进行电话面试,效率还是挺高,然后当天晚上就进行了一面。
下班后,吃了饭,专门找了一条人比较少的小路,到了7点,电话准时打过来了。
还是先来自我介绍,完了面试官就开始发问,持续了大概40分钟,感觉面的一般,答的也不知道是否准确,反正他们那边一般不直接回答对还是错,后来发现,阿里的几轮面试,都是这样,他们一般只听,偶尔追问。
不知道的直接说答不上来,就会继续一个题。
一面完了,叫我等消息,心中凉凉,很多公司,等消息基本就是没消息。
不过当时,自己心态挺好,也是抱着试一试的,比较淡定,顺其自然嘛。
二面
一面刚过,隔天又一个杭州的座机过来,约我面试。当时挺意外,怎么又叫面试?后来确认是二面。
过程都差不多,大概也是40分钟左右,主要问一些项目上的东西,跟一些框架。
然后面完,还是问我有什么想问的。
我直接说后面还有没有面试,哈哈。面试官也乐了,还是叫我等消息。
三面
一个星期过了,没什么动静。
然后接到一个hr电话,叫我去现场面试。
然后给公司请假,程序员请假一般做什么?当然是去面试。
到了地方,发现挺大的,有一栋楼,果然有钱!然后保安跟前台都比较nice,登记完之后就在那等。
没多久,一个大叔级别的过来,说是面试的。
整个过程要长一些,大约一个小时,完了还聊了一些个人及生活情况。重点来了,最后又是叫我等消息!
整个技术面下来,感觉好像面试有迹可循。
一面一般是基础问题。二面偏向于做的项目与框架。三面比较全面,都会问到。如果会聊天,现场面还会聊技术之外的一些东西。
顺便说一下,有开源项目或者技术博客,熟悉源码加分。
最后一面
过了几天,hr打电话过来,说是面试。
这一轮时间短一些,不到半小时,主要是技术之外的一些的东西。工作经历,家庭情况,甚至对加班及公司文化的看法。
还是老样子,叫我等消息。
offer来了
过了整整一周,蚂蚁金服通知我去体检,并告知offer已经在走审批流程了。
算下来,前前后后,差不多3个星期。
所以面试阿里这种大公司,需要耐心。
最后仔细回想了一下技术面试题,附在最后,希望对其它想去阿里的同学有所帮助
java基础:
hashmap结构;什么对象能做为key
hashtable,concurrentHashMap,hashtable比较
String,StringBuilder,StringBuffer
对象的深浅复制
多线程:
wait,sleep分别是谁的方法,区别
countLatch的await方法是否安全,怎么改造
线程池参数,整个流程描述
背后的底层原理aqs,cas
ThreadLocal原理,注意事项,参数传递
还有java的锁,内置锁,显示锁,各种容器
及锁优化:锁消除,锁粗化,锁偏向,轻量级锁
web方面:
servlet是否线程安全,如何改造
session与cookie的区别,get和post区别,tcp3次握手,文件上传用post还是get
session的存储
如何防止表单重复提交
jvm:
jvm内存模型,
jvm问题工具,jps,jinfo,jmap...
数据库:
最重要的索性及底层实现
索性失效的场景
最左原则
查看执行计划
及carndiation
然后是锁的类型,行级表级
悲观乐观锁
解释数据库事物及特性
隔离级别
及实现,redo log .undo log
bin log主从复制
mvcc,Next-Key Lock
分布式:
问了CAP,跟base
zookeeper满足了CAP的哪些特性,paxos
缓存穿透怎么解决
redis的io模型
如果保证redis高可用
redis是单线程还是多线程
线上cpu占比过高怎么排查
一致性hash
分库分表
spring:
ioc,aop原理
ioc初始化流程
springmvc的流程
springboot,spring cloud相关组件
项目....
友情提醒一下,对于做过的项目,最好梳理清理,可能会叫你画各种图。