前言
不知不觉2021的跳槽黄金月金三银四已然过去,跳槽结果有人欢喜有人愁,找到好的下家固然可喜,跳槽结果不理想的朋友也不必丧气,只要扎实提升自己的技术,弄明白大厂面试官的出题逻辑,进大厂必是水到渠成。
之前有位粉丝让我写一篇怎么进大厂的文章,这是个老生常谈的问题了,但是像我这么宠粉的人必然不能拒绝,所以今天不敲代码了,聊聊我对于怎么进大厂的看法,一家之言,不喜勿喷。
我也为大家整理好了面试题集和学习资料。需要的话可以自行点击领取。
好了,话不多说,坐稳扶好,发车喽!
大厂需要什么样的人?
大厂对于非高P职位,面试标准其实很简单
- 能干活
- Java基础要好
- 最好熟悉些分布式框架
相信这些标准大部分公司都差不多
前段时间,帮一些粉丝进行了模拟面试,工作经验在3到5年间。
不少候选人能力其实不差,但面试时没准备或不会说,这样的人可能在进团队干活后确实能达到期望,但可能就无法通过面试,面试官总是只根据面试情况来判断。
但现实情况是,大多数人可能面试前没准备,或准备方法不得当。要知道,我们平时干活更偏重于业务,不可能大量接触到算法,数据结构,底层代码这类面试必问的问题点,换句话说,面试准备点和平时工作要点匹配度很小。
后面这些人的真正面试结果跟我预料的大差不差
所以我整理了一些面试中常考察的几个方向:
- 框架是重点,但别让人感觉你只会山寨别人的代码
- 别单纯看单机版的框架,适当了解些分布式
- 数据库方面,别就知道增删改查,得了解性能优化
- Java核心方面,围绕数据结构和性能优化准备面试题
- Linux方面,至少了解如何看日志排查问题
- 通读一些底层代码,作为加分项
- 一切的一切,把上述技能嵌入到你做过的项目里
怎么进大厂?
除了自身技术过硬之外刷题肯定是必不可少的,很多人都知道进大厂要刷题,但是要怎么刷呢?
大部分人并不清楚,只是一味在网上找所谓的最新面试真题闷头刷,然后面试GG。
所以在这里给大家提一些刷题的建议,刷题除了找对题之外你还得明白这道题到底是要靠什么,只要弄清楚这个,这道题你才算是会了,毕竟你总不能把希望寄托于面试的时候出现的题全是你刷过的吧
算法题
笔试一般是leetcode的原题或者改编;面试题简单点,一般可以看剑指offer,当然面试题也可能很难。零基础可以看看Java数据结构和算法,不要看scala的,一般不用scala刷题;想看一些算法刷题模板可以去@labuladong 里面获取<<labuladong 的算法小抄>>。另外,尽量按类别来做题。
SQL题
SQL题也可能会出,如果不懂,可以看下B站up主Java俱乐部的入门,不用搭环境,熟悉SQL语句就好,然后去leetcode或者牛客刷题。
大数据简单问题
比如求top-10和wordcount等。
面试基础
分为两部分,一方面是Java基础和计算机基础(比如网络、数据库、操作系统等);另一方面是Linux和Hadoop、ZooKeeper、Hive、Flume、Kafka、HBase、Spark 、 Flink以及其他的一些大数据框架。
TALKDATA的两本笔记对应这两方面,每个笔记大概有一百个问题及回答,有些问题的回答较为深入和底层,比如HDFS源码解析,我没怎么看,要看懂底层需要时间,如果零基础或者时间不充裕不建议看。这里主要还是先看视频,后面结合文档,不用全学。学完了可以根据需要看牛客网上的面试题,我也整理了一些,可以自己获取。
每个人被问的重点都不一样,可以重点准备下自己想被问(熟悉)的框架。
Java基础不扎实的可以看看我之前写的这篇21000字Java基础知识总结,需要PDF文档的也可以找我要
看视频
主要是Java零基础入门,MySQL基础,Java数据结构与算法;大数据的包括Linux(Shell可以跳过)、Hadoop、ZooKeeper、Kafka、Spark、Flink等,主要是项目里面用到什么框架,就重点掌握,其他的了解一些基础就行。
视频的话我在B站也建了个号——Java俱乐部,平时会上传一些技术栈实战应用,面试题讲解以及模拟面试视频等等,感兴趣的朋友可以关注一波
啃书
并不是必须的,校招主要是基础,如果更深入可以看点书,入门不建议看书。
书籍的话我整理了22本Java架构师核心学习书籍,都有电子档可以免费分享,
书名 | 一句话评价 |
---|---|
《Java核心技术》 | 不用多说,Java领域最有影响力和价值的著作之一 |
《Java编程思想》 | 这个也不用多介绍了吧,永恒的经典 |
《Java并发编程的艺术》 | 国内作者写的Java并发书籍,比较简单易懂,广为流传的Java线程状态变化图就出自本书 |
《深入理解Java虚拟机》 | JVM,这一本就够了 |
《Effective Java》 | 和《Java编程思想》一样被称为神书,介绍了如何写健壮,高效的代码,当然阅读需要有一定的开发经验。 |
《Spring实战》 | Spring入门经典书籍 |
《Spring揭秘》 | 书比较老,但是概念和原理很清晰,看完之后,再看Spring5的源码也很不错 |
《深入浅出Spring Boot 2.x》 | 看过不少SpringBoot的书籍,个人感觉这本还不错,比较详细、全面 |
《MyBatis技术内幕》 | MyBatis源码解析的书不多,推荐这本,结合源码阅读更佳 |
《数据结构与算法分析》 | 国外数据结构与算法分析方面的经典教材,内容全面、缜密严格 |
《计算机网络》 | 还是忍不住推荐一本教材,比较全面、系统,但对非科班选手可能不友好 |
《图解HTTP》 | 这本不用多介绍了吧,很生动的讲解HTTP协议的书籍,阅读起来比较友好 |
《深入理解计算机系统》 | 评价非常不错的计算机操作系统书籍,但是这种黑皮书可能啃起来有些困难 |
《SQL必知必会》 | 非常受欢迎的MySQL入门书籍,也可以当作工具书来用 |
《高性能MySQL》 | MySQL领域的经典著作,进阶必看 |
《Redis 开发与运维》 | 从开发、运维两个角度总结了 Redis 实战经验,深入浅出地剖析底层实现,包含大规模集群开发与运维的实际案例 |
《Redis设计与实现》 | Redis进阶经典书籍 |
《SpringCloud微服务实战》 | 还不错的SpringCloud书籍 |
《Spring Cloud Alibaba 微服务原理与实战》 | Netflex的一些组件进入了维护的状态,Spring Cloud Alibaba在最近流行了起来(技术的变迁真的太快),这方面的书不多,这本是相对而言推荐的多一些的 |
《RabbitMQ实战指南》 | 简单清晰的RabbitMQ技术书籍 |
《Kafka权威指南》 | Kafka的好书还是不少的,这里推荐评分比较高的Kafka权威指南 |
《RocketMQ实战与原理解析》 | RocketMQ的书籍不多,这本书入门尚可,原理解析有些单薄了 |
需要的朋友可以点击领取这 22本Java架构师核心书籍
常考重点
-
Java:Java基础知识、集合类、JVM和JUC等。
-
Hadoop:组成、mapreduce流程、shuffle和高可用等。
-
Spark:RDD、共享变量、数据倾斜、整体流程、shuffle和容错机制等。
-
Hive:架构、与数据库的区别、分区、分桶、排序和开窗函数等。
-
HBase:架构、读写流程、rowkey设置等。
-
Kafka:架构、消息有序性、spark streaming和kafka连接、消息丢失和重复、生产者和消费者相关问题等。
项目
一般要两个或更多项目,尽量不选只用到的Hadoop项目,最好选Spark或Flink的项目,如果找数仓岗主要是Hive的项目。
如果是实习生其实不必去强求项目经验,面试官会更看重你有没有值得公司培养的潜力,那怎么看出你的潜力呢,无非就是Java基础扎不扎实,所以实习生想进大厂的话应该更着重于基础,当然基础扎实之余能有不错的项目经验无疑是很加分的。
缺乏练手项目的同学可以看看我之前写得这篇100个Java项目解析,带源代码和学习文档!源码和学习文档都有,
写到这里其实也差不多了,如果对Java学习或者大厂面试方面还有什么疑惑欢迎跟我交流,看到都会回的。
最后,各位看官老爷点个赞加个关注可好?
end