本文首发公众号:服务端技术指北,请扫描二维码关注后续系列更新,v2ex 回复可能不及时,欢迎关注私信一起唠嗑唠嗑
跟之前一样,打开内外,看到系统提示已经入职刚好一年,内心思绪万千,心里依旧怀揣着进入阿里当时的新鲜感与兴奋感。
笔者 2016 年毕业,毕业于国内某普通二本学校,毕业后从事 Java 服务端开发,17 年中公司不景气,于是决定跳出舒适圈,以入职阿里巴巴为目标,从零开始重新认识服务端,从新开始 Java 后端的学习,期间面试并拿下小米、美团、饿了么、阿里、百度等一系列公司的 offer。
本系列将从知识储备、简历、岗位策略、内推方式、面试技巧、面试流程、背调、阿里工作等方方面面,毫不保留的分享笔者在冲刺面试阿里巴巴的准备过程以及入职阿里巴巴后的所思所想,希望对读者有一些微小的帮助。
BAT 的后端岗位,对社招都有一定的经验要求,以笔者所在的 A 为例,一般 2-3 年的童鞋的定级基本处于 P6-到 P6+之间,A 对于 P6 的定义主要是:
1、主导产品,实现用户价值。
2、准确理解需求,能有产品设计方案。
3、沟通协调能力,把控产品落地。
从上面的要求可以看到,对于 2-3 年工作经验开发的童鞋,一般要求你能hold 得住压力、实现得了需求、产品能稳定落地。因此有足够的知识储备以及项目经验是任何一家公司是否选择你的重要条件。
在知识储备方面,笔者当时心里很虚,因为在公司做的基本都是 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、计算机基础、算法
计算机基础
算法(算法是非常重要的,怎么描述重要程度呢,笔者面试通过美团、饿了么、小米、阿里全部都要手写或者在线算法)
当时自己也是摸索了许久,按照笔者的爱好程度先后排序分别是:书籍、慕课网视频、掘金、简书、微信公众号。其中书籍跟慕课网视频是笔者主要的学习方式,在准备过程中,笔者针对知识点,先去查找相应的书籍,然后先啃书。下图是笔者当时读的一部分书籍,另外一部分找不到了。
当笔者完成前面两步后,笔者开始总结归纳,通过画思维导图以及整理知识点的方式对自己进行查漏补缺。在硬技能方面有足够的掌握后,软技能成了面试的重中之重,比如简历、面试表达、面试机会获取等等。
面试机会方面:个人建议,简历最好交给认识的童鞋或者大厂的童鞋进行简历内推,而不是自己官网投递或者交给猎头。内推的优势在于:处理速度比较快,而官网或者 boss、拉钩反馈比较慢,而猎头渠道简历很可能被卖出或者投递到根本不适合的岗位上。
简历方面:简洁而不浮躁的简历是一个好的面试机会的敲门砖。笔者在阿里担任面试官,候选人专业与否从简历就能确定出来,好的候选人简历一页覆盖项目、个人技能、工作经验一览无余。而差的候选人简历着重于装饰、项目没亮点。(后面的系列会跟大家聊聊怎么准备一份好的简历)
面试表达:如果空有一番本领,而不会表达,那么无法完成自身能力的发挥。如何 get 到面试官的点、如何带着面试官走,如何将自己的项目最大价值化等等也是一门很大的学问,笔者从求职者转换到面试官的过程中,候选人在沟通过程中无法戳破我的痛点以及理解问题背后的含义,造成求职失败等情况比比皆是。(后面的系列会跟大家聊聊如何面对面试官的提问)
如果您认为本篇文章能给您起到一定的启发作用,请点击右上角关注微信公众号(服务端技术指北),后续会连载简历准备、面试表达、阿里面试流程、各大公司面试过程、入职阿里一年我学习到了什么等等系列连载,敬请关注。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.