一、写在前面
跟之前一样,打开内外,看到系统提示已经入职刚好一年,内心思绪万千,心里依旧怀揣着进入阿里当时的新鲜感与兴奋感。
笔者2016年毕业,毕业于国内某普通二本学校,大学做的是Android客户端开发工作,毕业后从事Java服务端开发,17年中公司不景气,于是决定跳出舒适圈,以入职阿里巴巴为目标,从零开始重新认识服务端,从新开始Java后端的学习,期间面试并拿下小米、美团、饿了么、阿里、百度等一系列公司的offer。
本系列将从知识储备、简历、岗位策略、内推方式、面试技巧、面试流程、背调、阿里工作等方方面面,毫不保留的分享笔者在冲刺面试阿里巴巴的准备过程以及入职阿里巴巴后的所思所想,希望对读者有一些微小的帮助。
BAT的后端岗位,对社招都有一定的经验要求,以笔者所在的A为例,一般2-3年的童鞋的定级基本处于P6-到P6+之间,A对于P6的定义主要是:
1、主导产品,实现用户价值。
2、准确理解需求,能有产品设计方案。
3、沟通协调能力,把控产品落地。
从上面的要求可以看到,对于2-3年工作经验开发的童鞋,一般要求你能hold得住压力、实现得了需求、产品能稳定落地。因此有足够的知识储备以及项目经验是任何一家公司是否选择你的重要条件。
二、BAT之路
1、BAT之路第一步,认准要求很关键。根据要求寻找相应的知识储备查漏补缺异常重要。
在知识储备方面,笔者当时心里很虚,因为在公司做的基本都是CRUD的操作,虽然代码写了不少,功能写了不少,但是能拿出手的项目屈指可数。为了弥补知识储备的不足,笔者花了许多时间,从许多渠道整理并且获取了Java后端开发的相关知识,而后来的实践证明,这些起到了举足轻重的作用。
笔者知识储备的渠道包括:关注比较有价值的微信公众号,简书或者掘金上面的技术分享,公司内网的技术文章分享以及通过阅读书籍构建起比较完整的复习知识树。
笔者认为,2-3年的Java工作经验的童鞋应该具备以下的工作技能:
A、基础
-
Java基础:面向对象、集合、反射、多线程、锁、注解、并发(CAS、乐观锁、ABA、ThreadLocal、synchronized、Java内存模型、线程池、引用类型)、IO、JVM、JMM等等。
-
存储基础:MySQL、NOSQL、分库分表、SQL优化、索引、分布式主键、事务隔离级别ACID、数据结构、最左匹配等。
B、Spring
事务、IOC、AOP、循环依赖、Spring Cloud、Spring父子容器、动态代理(Java、cglib)等。
C、中间件基础
-
消息队列:消息队列使用、重发解决、幂等设计、分布式锁、消息堆积、消息模型。
-
相关中间件实现原理:掌握一个RPC框架实现原理(例如服务发现、治理、路由、优雅下线、限流降级等等)、掌握一个MQ中间件的实现原理(例如Kafak设计方案、高可用、高并发、重复消费、消息延迟等等)、掌握常用的中间件实现原理(例如MyBatis、ZK、Redis等等,在此不一一列举。)
-
高并发解决经验:如何根据场景设计高并发方案、降级限流、分布式事务、分布式锁、数据一致性等等。
D、问题排查以及性能优化
-
线上紧急问题处理流程、处理方式(比如FullGC、OOM、进程挂了等等)
-
性能优化:性能瓶颈、慢SQL、负载过高、CPU过高等等紧急问题处理方案。
E、计算机基础、算法
-
计算机基础
-
算法(算法是非常重要的,怎么描述重要程度呢,笔者面试通过美团、饿了么、小米、阿里全部都要手写或者在线算法)
2、BAT之路第2步,在有相应的知识储备目标后,如何准备是一个很关键的过程。
当时自己也是摸索了许久,按照笔者的爱好程度先后排序分别是:书籍、网络视频、掘金、简书、微信公众号。其中书籍跟网络视频是笔者主要的学习方式,在准备过程中,笔者针对知识点,先去查找相应的书籍,然后先啃书。下图是笔者当时读的一部分书籍,另外一部分找不到了。
image在配合Java相关的书籍后,笔者又从某个网络教程网站(此处不能有广告)获取了许多Java的视频课程,课程非常多,可以根据个人需要获取。
配合上面高强度的整理后,了解最新的Java技术、业界服务端技术等也是一个面试的亮点,所以笔者当时也装了简书、关注一些微信公众号每天闲暇时间学习。
3、BAT之路第三步,硬技能需要软技能点缀(后续系列会详细分享)。
当笔者完成前面两步后,笔者开始总结归纳,通过画思维导图以及整理知识点的方式对自己进行查漏补缺。在硬技能方面有足够的掌握后,软技能成了面试的重中之重,比如简历、面试表达、面试机会获取等等。
-
面试机会方面:个人建议,简历最好交给认识的童鞋或者大厂的童鞋进行简历内推,而不是自己官网投递或者交给猎头。内推的优势在于:处理速度比较快,而官网或者boss、拉钩反馈比较慢,而猎头渠道简历很可能被卖出或者投递到根本不适合的岗位上。
-
简历方面:简洁而不浮躁的简历是一个好的面试机会的敲门砖。笔者在阿里担任面试官,候选人专业与否从简历就能确定出来,好的候选人简历一页覆盖项目、个人技能、工作经验一览无余。而差的候选人简历着重于装饰、项目没亮点。(后面的系列会跟大家聊聊怎么准备一份好的简历)
-
面试表达:如果空有一番本领,而不会表达,那么无法完成自身能力的发挥。如何get到面试官的点、如何带着面试官走,如何将自己的项目最大价值化等等也是一门很大的学问,笔者从求职者转换到面试官的过程中,候选人在沟通过程中无法戳破我的痛点以及理解问题背后的含义,造成求职失败等情况比比皆是。(后面的系列会跟大家聊聊如何面对面试官的提问)
4、写在最后
如果您认为本篇文章能给您起到一定的启发作用,后续会连载简历准备、面试表达、阿里面试流程、各大公司面试过程、入职阿里一年我学习到了什么等等系列连载,敬请关注。
网友评论