春招实习和秋招中,空空大大小小的公司投了几十个,笔试面试也经历了差不多近百场了。想趁热打铁地总结下经验,帮接下来的学弟学妹们避开一些弯路,都拿到心仪的Offer。
1. 方向的选择:
对于非科班转行的来说,可以自己选择感兴趣或者擅长的方向。互联网的技术岗主要分为四类:算法,大数据,开发,测试 。以下分别从三个维度来给这四类岗位排个序,但不绝对,不同公司可能情况也不一样。
难度:算法 > 大数据 > 开发 > 测试
薪资:算法 > 大数据 ≈ 开发 > 测试
需求:算法 < 大数据 < 开发
大方向确定后,选择一门适合自己的语言,对于理工科的同学来说,大学都学习过C或者C++,学习起来比较容易一些,对于开发岗来说可以选择 Java 或者 C++ ;大数据岗还是以 Java 为学习基础,后期要学习 Scala , Python ;算法岗可以选择下 Python MATLAB 。
基础比较弱的同学,一定要打一下语言基础,Python 学习推荐廖雪峰的博客,Java 学习推荐how2J。
2. 学习路线
这里空空就只介绍下Java后端开发和大数据的学习路线,这两个方向的基础阶段学习的内容都是差不多的,主要分以下几块内容。
- 数据结构与算法:笔试面试必考点,推荐刷力扣,后面我还会细讲;
- 计算机网络: 面试高频考点,推荐书籍《图解HTTP》、《图解TCP/IP》;
- 操作系统: 面试高频考点,推荐《现代操作系统》,还有哈工大李治军老师的课程;
- 设计模式:不常考,但是对于后续学习技术栈大有裨益,推荐《大话设计模式》;
以上是计算机基础,最能体现一个程序员的编程功底,大家一定要尽可能的掌握的深透一些。
对于Java后端开发方向的,还需要学习:
- Java基础:JVM、容器、Java并发;
- 数据库:MySQL;
- 框架:Spring家族(Spring / SpringMVC / MyBatis / SpringBoot / SpringCloud);
- 中间件:Redis / Dubbo / 消息队列(RocketMQ / RabbitMQ等) / ElasticSearch;
- 其它:Zookeeper / Netty / Tomcat / 系统设计(分布式 / 高并发);
对于大数据开发方向的,还需要学习:
- Java基础:JVM、容器、Java并发;
- 数据库/数仓:MySQL、Redis、HBase、Hive;
- 技术栈:Hadoop家族(HDFS/ MapReduce / Yarn )、Spark、Flume、Kafka、Flink、Zookeeper;
以上推荐书籍以及空空收罗到的其他经典学习资料都有电子版,关注文末的公众号:空心的梦,后台回复“ebook”免费领取。
3. 如何准备面试
面试主要分为考察知识点和手撕代码:
对于考察知识点,不同公司不同部门不同面试官考察的问题虽然都不一样的,但围绕的核心知识点就那么几个方面,挽弓当挽强,擒贼先擒王,重要的核心内容是避不开的,面试官不可能放着对工作有着紧密联系的知识不考察,而去问一些冷门的边缘知识。
说到底,面试官的目的不是为了难倒你,(因为难倒你太简单了),而是由一个知识点引出一条线然后带动一个面去扫描下你知识的广度和深度,你需要做的就是在学习中,把这些核心的点找出来,深入的学习,拓展自己知识的广度和深度。
除了考察基础知识,一般在二面或者三面的时候,开始考察一些重要的技术栈,会经常问它们的底层原理和工作机制,所以对于这些技术栈,也是必要深入到源码,学习一下它的底层框架的。
等我! 后续我会整理一些基础知识的高频考点,以及一些技术栈的文章,尽量以通俗易懂的大白话或者借助图解的方式帮助大家更好地理解,准备面试。
对于手撕代码,面试的时候一般由于时间有限(当然也不排除微软之类的大厂会抽出大把面试时间来考察你代码能力),所以一般考察的题目不会太复杂,网传手写红黑树,不要被吓到了。
根据空空今年大大小小几十场的面试经历,题目一般都在力扣的简单或者中等难度的样子。高频题目也都是在力扣上常见的一些,比如力扣上的【Hot100】和【剑指Offer】系列。
这俩兄弟属于是经久传唱的经典了,它们就好比考研政治的肖秀荣系列,是准备面试的必刷题目了。
空空觉得大家至少把【Hot100】和【剑指offer】的简单以及中等的题目做完,这些题目都是非常经典的,考察的知识面也很广,很能体验程序员的基本功底。如果面试的时候在这些题目中卡主了,多半就挂掉了。所以,空空建议是对这些题目多做几遍,面试之前就算是背也要熟烂于心,才会在面试给的几分钟内敲出来。
接下来,空空会带领大家把【Hot100】和【剑指offer】系列的经典题目走一遍,这些题目空空刷了不知道多少遍了,解题方法也是参考了很多其他优秀答案,再此基础上进行优化再优化的,所以我尽量以最浅显易懂的方式,让大家把解题的思路弄懂,把套路记牢,有事半功倍的效果。
题目持续更新中
空空希望通过以教为学的方式,在提升自己和沉淀自己的同时帮助更多的小伙伴,大家一起进步,共进大厂。点赞不是目的,却是动力,希望给小伙伴带来帮助的同时,小伙伴们也能为空空点个赞鼓励下。
欢迎关注我的微信公众号:空心的梦
有问题需要探讨的,也可以在后台加我个人微信交流。