2021 金三银四 Java 岗大厂面试经验总结(附面试真题)
前言
不知不觉 2021 的跳槽黄金月金三银四都已经过去半个多月了,跳槽结果有人欢喜有人愁,找到好的下家固然可喜,跳槽结果不理想的朋友也不必丧气,只要扎实提升自己的技术,弄明白大厂面试官的出题喜好,进大厂必是水到渠成。
之前很多粉丝私信让我写一篇怎么进大厂的文章,像我这么宠粉的人必然不能拒绝,所以来自这两个月我与 200+面试大厂的粉丝交流而总结出来的金三银四面试经验,今天他来了,并且我也为大家整理好了相关技术栈的面试题和对应的学习资料,需要的朋友可以直接点击领取。
好了,话不多说,坐稳扶好,发车喽!
大厂需要什么样的人?
大厂对于非高 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 基础知识、集合类、JVM 和 JUC 等。
Hadoop:组成、mapreduce 流程、shuffle 和高可用等。
Spark:RDD、共享变量、数据倾斜、整体流程、shuffle 和容错机制等。
Hive:架构、与数据库的区别、分区、分桶、排序和开窗函数等。
HBase:架构、读写流程、rowkey 设置等。
Kafka:架构、消息有序性、spark streaming 和 kafka 连接、消息丢失和重复、生产者和消费者相关问题等。
项目
一般要两个或更多项目,尽量不选只用到的 Hadoop 项目,最好选 Spark 或 Flink 的项目,如果找数仓岗主要是 Hive 的项目。
如果是实习生其实不必去强求项目经验,面试官会更看重你有没有值得公司培养的潜力,那怎么看出你的潜力呢,无非就是 Java 基础扎不扎实,所以实习生想进大厂的话应该更着重于基础,当然基础扎实之余能有不错的项目经验无疑是很加分的。
缺乏练手项目的同学我也给你们整理了 122 个经典 Java 项目,源码和学习文档都有,可以直接来拿。
写到这里其实也差不多了,如果对 Java 学习或者大厂面试方面还有什么疑惑欢迎私信跟我交流,看到都会回的。
最后,各位看官老爷点个赞加个关注可好?
往期热文:
end
版权声明: 本文为 InfoQ 作者【北游学Java】的原创文章。
原文链接:【http://xie.infoq.cn/article/26a6464a5c0410b5ad523a019】。文章转载请联系作者。
评论