2021金三银四Java岗大厂面试经验总结(附面试真题)

320 阅读6分钟

前言

不知不觉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