Skip to content

欢迎阅读「面试准备篇」相关的文章,这个系列旨在指导大家如何准备面试,内容涵盖项目经验、简历编写、源码学习、算法准备等内容。

八股文和知识点总结的话,建议你多看看《Java 面试指北》:https://t.zsxq.com/Uv3ByZn 和 JavaGuide:https://javaguide.cn/ 。《Java 面试指北》属于是 JavaGuide 开源版的完善,两者内容互补,无重复内容,完全可以结合一起看。如果说你比较赶时间,想着突击面试的话,那就针对性地只看面试题

同时,也建议你多多在星球打卡,分享自己的学习情况,这样既能督促自己,又有机会获得星球福利。

内容概览

  • 如何准备 Java 面试?
  • 面试常见词汇扫盲
  • 程序员简历到底该怎么写?
  • 为什么要学习源码?源码这块面试会怎么问呢?如何阅读源码?
  • 为什么要准备算法面试?怎么高效刷 Leetcode?
  • 没有项目经验怎么办?跟着视频做的项目会被面试官嫌弃不?
  • 接触不到高并发场景咋办?如何获得高并发的经验?
  • 优质 Java 实战项目推荐
  • 项目经验常见问题解答(补充)
  • 去外包对自己的简历有影响么?
  • 如果面试官问“你有什么问题问我吗?”,该如何回答?
  • Java 优质面试视频推荐

常见问题

八股文和知识点总结的话,建议你多看看《Java 面试指北》:https://t.zsxq.com/Uv3ByZn 和 JavaGuide:https://javaguide.cn/ 。《Java 面试指北》属于是 JavaGuide 开源版的完善,两者内容互补,无重复内容,完全可以结合一起看。如果说你比较赶时间,想着突击面试的话,那就针对性地只看面试题

同时,也建议你多多在星球打卡,分享自己的学习情况,这样既能督促自己,又有机会获得星球福利。

Java 学习路线是怎么样的?

1、想要知道学什么,最简单的办法就是先去求职网站找对应工作年限的 Java 后端的招聘要求,对照着工作要求总结一份需要学习的技能清单,结合我写的这篇学习路线来针对性学习:https://zhuanlan.zhihu.com/p/379041500

很多人抱怨这份学习路线的东西太多了,其实,在我看来这真心不多。如果你的时间比较紧的话,那我建议你可以根据你自己要找的工作进行适当删减。举个例子:你要找中小厂的话,那分布式的内容你就不必要非要去掌握了,简单了解一下或者直接放过就好。

另外,在学习的过程中,一定要把我的 JavaGuide 作为一个首选参考资料,我的 JavaGuide 的目录规划就是一份有条理的学习路线,里面的知识点总结就是你在学习完一个知识点之后最好的复习资料。

JavaGuide 地址:https://javaguide.cn/home.html

2、如果你编程刚刚入门的话,我比较建议你跟着尚硅谷全套自学视频来学习,地址: https://t.zsxq.com/zFIAubi 。这个学习路线不一定是最好的,但一定是比较靠谱的。但是!你不是要把这一整套视频都完整看完,这样效率太低且费时!!!你应该怎么做呢?根据上一步的学习路线来选择你应该学习的技能,那些过时的或者对于你工作和面试没太大作用的技能就先不要学了。

3、要学到什么程度,最简单的办法就是去针对性地看面经,多多自测。

我是双非/三本/专科学校的,我有机会进入大厂吗?

学校歧视很正常,真的太正常了,如果要抱怨的话,你只能抱怨自己没有进入名校。但是,千万不要动不动说自己学校差,动不动拿自己学校当做自己进不了大厂的借口,学历只是筛选简历的很多标准中的一个而已,如果你够优秀,简历够丰富,你也一样可以和名校同学一起同台竞争。

企业 HR 肯定是更喜欢高学历的人,毕竟 985,211 优秀人才比例肯定比普通学校高很多,HR 团队肯定会优先在这些学校里选。这就好比相亲,你是愿意在很多优秀的人中选一个优秀的,还是愿意在很多普通的人中选一个优秀的呢?

双非本科甚至是二本、三本甚至是专科的同学也有很多进入大厂的,不过比率相比于名校的低很多而已。从大厂招聘的结果上看,高学历人才的数量占据大头,那些成功进入 BAT、美团,京东,网易等大厂的双非本科甚至是二本、三本甚至是专科的同学往往是因为具备丰富的项目经历或者在某个含金量比较高的竞赛比如 ACM 中取得了不错的成绩。一部分学历不突出但能力出众的面试者能够进入大厂并不是说明学历不重要,而是学历的软肋能够通过其他的优势来弥补。 所以,如果你的学校不够好而你自己又想去大厂的话,建议你可以从这几点来做:

  1. 尽量在面试前最好有一个可以拿的出手的项目;
  2. 有实习条件的话,尽早出去实习,实习经历也会是你的简历的一个亮点(有能力在大厂实习最佳!);
  3. 参加一些含金量比较高的比赛,拿不拿得到名次没关系,重在锻炼。

非计算机专业的学生能学好 Java 后台吗?我能进大厂吗?

当然可以!现在非科班的程序员很多,很大一部分原因是互联网行业的工资比较高。我们学校外面的培训班里面 90%都是非科班,我觉得他们很多人学的都还不错。另外,我的一个朋友本科是机械专业,大一开始自学安卓,技术贼溜,在我看来他比大部分本科是计算机的同学学的还要好。参考 Question1 的回答,即使你是非科班程序员,如果你想进入大厂的话,你也可以通过自己的其他优势来弥补。

我觉得我们不应该因为自己的专业给自己划界限或者贴标签,说实话,很多科班的同学可能并不如你,你以为科班的同学就会认真听讲吗?还不是几乎全靠自己课下自学!不过如果你是非科班的话,你想要学好,那么注定就要舍弃自己本专业的一些学习时间,这是无可厚非的。

建议非科班的同学,首先要打好计算机基础知识基础:

  1. 计算机网络
  2. 操作系统
  3. 数据结构与算法

我个人觉得这 3 个对你最重要。这些东西就像是内功,对你以后的长远发展非常有用。当然,如果你想要进大厂的话,这些知识也是一定会被问到的。另外,“一定学好数据结构与算法!一定学好数据结构与算法!一定学好数据结构与算法!”,重要的东西说 3 遍。

如何更高效地准备八股文?

尽量不要死记硬背八股文,这种方式非常枯燥且对自身能力提升有限!

我的建议是你时间比较充足的话,你可以通过实战项目的方式进行学习。先去实战,再去看对应的八股文,两者相辅相成。举个例子:你在项目中需要用到 Redis 来做缓存,你对照着官网简单了解使用了 Redis 之后你再去看 Redis 对应的八股文。在 Redis 八股文中,你知道了 Redis 集群的概念,你直呼好家伙,这不能解决单点风险和内存不够用的问题嘛!然后,你可以紧接着为自己的项目搭建一个 Redis 集群。我一直觉得面试八股文最好是和实践相结合。很多同学现在的方向都错了,上来就是直接背八股文,硬生生学成了文科,那当然无趣了。

复习抓不到复习重点怎么办?

知识点这块的话需要注意你的重点应该根据你的项目经历来调整。举个例子,你的项目经历使用了 Redis 来做限流,那 Redis 相关的八股文(比如 Redis 常见数据结构)以及限流相关的八股文(比如常见的限流算法)你就应该多花更多心思来搞懂!吃透!你把项目经历上的知识点吃透之后,再把你简历上哪些写熟练掌握的技术给吃透。最后,再去花时间准备其他知识点。

另外,不同的公司面试侧重点也会不同。比如说你要去阿里这种公司的话,项目和八股文就是重点,阿里笔试一般会有代码题,进入面试后就很少问代码题了,但是对原理性的问题问的比较深,经常会问一些你对技术的思考。再比如说你要面试字节这种公司,那计算机基础,尤其是算法是重点,字节的面试十分注重代码功底,有时候开始面试就会直接甩给你一道代码题,写出来再谈别的。也会问面试八股文,以及项目,不过,相对来说要少很多。建议你看一下这篇文章 https://mp.weixin.qq.com/s/pBsGQNxvRupZeWt4qZReIA,了解一下常见大厂的面试题侧重点。

大厂社招面试更看重什么?

对于社招来说,大厂比较重视你解决问题的能力以及底层能力。就比如在使用框架的基础上,你还搞懂了它的原理。再比如说你了解 JVM 并且实操过 JVM 调优或者 JVM 相关的问题解决。再再比如说你使用缓存或者消息队列等技术解决中工作中的实际问题。

只看我总结的八股文可以不?

任何人总结的八股文都不可能把面试中的内容都给涵盖住,尤其是阿里这种挖的比较深入的面试。你可以参考我总结的八股文和面经进行查漏补缺,没事就自测一下,多多思考总结。不过,别人总结终究只是参考,最大的好处是帮助你节省时间,很多地方深入挖掘还是要靠自己。

Java 开源面试&教程汇总:https://t.zsxq.com/03NjQJeaY

大厂到底青睐什么样的应届生?

从阿里、腾讯等大厂招聘官网对于 Java 后端方向/后端方向的应届实习生的要求,我们大概可以总结归纳出下面这 几点能给简历增加很多分数:

  • 参加过竞赛(含金量超高的是 ACM);
  • 对数据结构与算法非常熟练;
  • 参与过实际项目(比如学校网站);
  • 参与过某个知名的开源项目或者自己的某个开源项目很不错;

除了我上面说的这三点,在面试 Java 工程师的时候,下面几点也提升你的个人竞争力:

  • 熟悉 Python、Shell、Perl 等脚本语言;
  • 熟悉 Java 优化,JVM 调优;
  • 熟悉 SOA 模式;
  • 熟悉自己所用框架的底层知识比如 Spring;
  • 了解分布式一些常见的理论;
  • 具备高并发开发经验;大数据开发经验等等。

没有实习经历的话找工作是不是特别艰难?

没有实习经历没关系,只要你有拿得出手的项目或者大赛经历的话,你依然有可能拿到大厂的 offer 。笔主当时找工作的时候就没有实习经历以及大赛获奖经历,单纯就是凭借自己的项目经验撑起了整个面试。

如果你既没有实习经历,又没有拿得出手的项目或者大赛经历的话,我觉得在简历关除非你有其他特别的亮点,不然,你应该就会被刷。

有没有推荐的公司?

有很多小伙伴找工作的时候想让我推荐一些公司,emm...,我觉得根本不用我推荐。大家看 Programmer-look-at-China 这个开源项目就好了!非常赞!

这个项目详细的介绍了中国各二线以上城市的互联网环境以及生活成本。有多详细呢?这样说吧,基本把公司各个方面的信息都给介绍到了,甚至连福利情况和面试难度都有提到,简直不要太贴心。

文章来源于自己总结和网络转载,内容如有任何问题,请大佬斧正!联系我