前言

人人都有大厂梦,对于程序员来说,BAT为首的一线互联网公司肯定是自己的心仪对象,毕竟能到这些大厂工作,不仅薪资高待遇好,而且能力技术都能够得到提升,最关键的是还能够给自己镀上一层金,让人瞻仰。

同样的,我自己的个人目标也是阿里,但之前一直在一家小公司,一呆就是好几年,现在通过不断学习和实践,提升了自己很多,也有了信心来阿里挑战。下面,就是我这次面试阿里P6的一些经历和心得。

 

阿里P6岗面试经历

这次阿里的面试经历实在太紧张+刺激+尴尬了,面试前还自信满满,面试后被吊打得怀疑人生。整个流程是四面,前两面还顺风顺水,比较嚣张,最后一轮技术面和HR面才让我领略到,什么是阿里?

不过好在面试最终还是顺利的,目前offer已经到手,给的薪资也比较满意,比上一份工作好多了,至于个人的具体背景,我就不一一交代了。

阿里一面:

  • 自我介绍、说一下最近在做什么事?
  • 可以跟我介绍下卷积神经网络吗?(简历里有写到一个项目用到了CNN)
  • 可以说一下逻辑回归是什么吗?
  • 你觉得反向传播和动态规划之间有什么样的联系吗?
  • 那你能说一下为什么计算机会使用二进制,而我们人类会使用 10 进制呢?
  • 计算机是怎么做加法的?那如何用加法代替减法?
  • 使用过 Linux 吗?可以说下常用的 Linux 命令吗?
  • 用什么命令可以查询文本中的文字?用什么命令可以查询磁盘存储的容量?
  • Vim 使用过吗?可以说下有哪些快捷键吗?
  • 我看你的博客里有一篇写到了区块链,你可以说下去中心化对我们的生活有什么影响吗?你觉得区块链有价值吗?
  • 在区块链的世界中,那些数据怎么样会变得有效?(广播机制、共识机制)
  • 类比打电话,两个系统的通信我们可以采用哪些方式?(我说了 http)
  • 说一下 HTTP 和 HTTPS 的区别
  • HTTPS 中用了什么加密方式,在什么阶段体现的?
  • 分布式的 CAP 理论了解过吗?
  • 你了解的一些集群有哪些选举方式?
  • 公众号里写了很多和 python 有关的文章,那你觉得这两个语言使用起来有什么差异?
  • 最近有看什么书吗?
  • HashMap 为什么线程不安全?是否模拟过不安全的场景?
  • 说一下 Java 的值传递和引用传递
  • SpringBoot 和 SpringMVC 的区别
  • 说一下 Spring 中 bean 的加载过程
  • JVM 的垃圾回收器了解吗?垃圾回收算法有哪些?JDK8 默认的垃圾回收器是什么?
  • 有什么想跟我沟通的吗?

阿里二面:

  • 自我介绍
  • 自己做的 app 上线了吗?是自己做的吗?简单说一下
  • 学校的课程中你觉得哪一门学的最好?(都差不多)
  • 你学习了挺久的 Java,对于这门语言有什么认识?或者和其他编程语言比起来有什么不一样的地方?
  • 那你在学习的过程中有什么事情会让你坚持做下去?
  • 开发这个 app 的动力是什么?
  • 有参加过什么学科竞赛吗?
  • 数据结构你觉得你学的怎么样?做一道编程题(用数组模拟一个栈)
  • 智力题:你雇佣一个工人,他每天工作应该获得一份金条,你有一根金条可以分成 7 份,但你只能对你的金条切 2 刀,请问怎么保证你的工人每天都得到一份金条?
  • 你有什么想问我的?

阿里三面:

这一轮的面试官是个架构师,目测应该是P8,整个过程瑟瑟发抖

  • 你在项目中遇到哪些有挑战性的点?
  • 流量在某一时刻暴涨,然后又猛跌如何应对?
  • redis 消息队列如何对过期信息/无效信息进行删除?
  • 讲一讲 redis 的持久化机制?
  • 为什么JAVA类加载要用双亲委派?
  • 怎么实现同步?
  • JAVA锁有哪几种?
  • 两种锁的区别?
  • 了解过AQS吗?
  • 场景题:给一个方法加上超时异常
  • 生产者消费者模型的作用是什么?
  • short s1=1;s1=s1+1;有什么错?short s1=1;s1+=1;有什么错?
  • 怎么检测一个线程是否持有对象监视器?
  • Java编程写一个会导致死锁的程序
  • 如果你提交任务时,线程池队列已满,这时会发生什么?
  • Hashtable的size()方法中明明只有一条语句”return count”,为什么还要做同步?
  • swtich是否能作用在byte上,是否能作用在long上,是否能作用在string上?
  • 高并发、任务执行时间短的业务怎样使用线程池?并发不高、任务执行时间长的业务怎样使用线程池?并发高、业务执行时间长的业务怎样使用线程池?

阿里HR面:

  • 说说看,假如你是部门技术经理,线上商户数据丢失怎么办?
  • 怎么将一个产品推荐给其他的团队,怎么界定边界?
  • 每天有那么多人使用支付宝,这些数据如果给你存储,你会怎么设计呢?
  • 怎么样协调关系?
  • 你和同事相处的情况怎么样,说说你帮助同事的一次经历?
  • 薪资

阿里超全面试题答案解析版:

由于文章篇幅有限,面试题的答案比较多,尤其是一些比较“刁钻”的问题,都有非常详细的答案解析记录,所以都整理在了文档内,需要的有需要的点击传送门 即可!!

 

面试心得

关于这次面试阿里P6,只能说阿里是一个卧虎藏龙的地方,员工素质也非常高,待人也很友好,相信在阿里工作,会给自己带了很多收获。

最后,关于面试阿里,给出以下几点建议,希望能帮助到大家:

  1. 提前了解好阿里的企业文化。
  2. 阿里面试周期比较长,调整好心态,做好充分的准备。
  3. 在岗位上要体现出一定的企图心。
  4. 除了梳理技术积累和项目经验以外,还有对未来的业务开展有自己的思考和规划。
  5. HR面很专业,要体现自己有能力融入阿里的文化体系。

说在最后

现在很多程序员,都会陷入到一个怪圈:看到别人升职加薪,又觉得为啥别人运气总是那么好,我和他差不多时间进公司的啊!然后去跳槽,发现,现在的面试这么难的嘛,动不动就底层原理,动不动就源码分析,Java不好做了,做Java的人太多了,我还是转行吧。

归总到一点,就是没从自己思考,从身上找原因。无论对于程序员来说,还是对于其他岗位,想要涨薪升职,自己的能力肯定要跟得上,而唯一的办法就是通过学习来提升自己。

废话也不多说,我自己分享一下我自己的一套学习资料库,大伙看看有没有需要的:

  • Java核心知识点:

 

  • Java面试宝典:

Java基础部分、算法与编程、html&JavaScript&ajax 部分、Java web部分、数据库部分、XML部分、流行的框架与新技术、软件工程与设计模式、j2ee部分、EJB部分、webservice部分、其他。

 

  • 架构学习资料:

 

  • 学习视频:

 

以上这些学习资料都能够分享给小伙伴们,希望能一起努力,共同进步!有需要的点击传送门 即可!!