前言
首先说明一下我校招的时候准备的是 Java 开发岗位,所以下面的内容主要适用于 Java 学习。
研一的时候痴迷于王者荣耀不可自拔,实习面试的时候被各个大厂毒打了一番,眼看身边的同学都已经拿到大厂实习 offer,我当时真的急了,卸掉游戏认真准备了一年,最终结果还不错,拿到了百度、美团、华为、网易、银联、等大厂offer。
这篇文章我也不打算写面经了,主要写一下我当时面试准备了哪些东西,大家可以当做 Java 学习路线来参考学习。
主要内容包括(干货满满):
学Java有哪些就业方向?
数据结构和算法
设计模式
计算机基础
Java 入门
Java 高手进阶
基础框架(SSM)
微服务框架
常用中间件
数据库
分布式架构
必须掌握的工具软件
学习资源网站列表汇总
学习常见问题(FAQ)
买一瓶可乐,泡一杯咖啡,lets go 学习~
学Java有哪些就业方向?
在介绍 Java 怎么学之前我给大家介绍一下学完了能干什么,因为有目标的学习才是最高效的。
很多 Java 入门学习者对岗位或者方向的概念非常模糊,今天学安卓、后天学大数据,三心二意的学习势必造成技术不精,这就是面试官通常说的:这位面试者基础比较差。
学习技术首先要认准一个方向专注下去,有了一定积累后再将自己的知识面扩宽,找到自己感兴趣的方向再沉下去学习,周而复始你就成为这个行业的专家了。
Java 这门语言,在公司里根据分工不同衍生出了众多的岗位或者技术方向。
我在 boss 直聘上搜索了 BAT 等大厂的岗位,目前有以下三类岗位非常热门:
安卓开发
技能要求:
熟悉 Android UI 开发非常熟悉,对 UI 架构有理解,并了解基础的 UI 交互知识;
熟悉 Android 调试工具和方法,可以应付各种 Android 复杂问题;
熟悉 Android Framework 层,有通过 Android 源码阅读定位问题的经验;
Java 后端开发
技能要求:
具备扎实的Java基础,对JVM原理有扎实的理解;对Spring、MyBatis、Dubbo等开源框架熟悉,并能了解它的原理和机制,具有大型分布式系统设计研发经验;
熟悉基于Mysql关系数据库设计和开发、对数据库性能优化有丰富的经验;
熟悉底层中间件、分布式技术(如RPC框架、缓存、消息系统等);
大数据/数据仓库
技能要求:
熟悉Hadoop/Spark/sqoop/hive/impala/azkaban/kylin等大数据相关组件;
精通sql及性能调优