“金三银四”和通过率达 95% 的 Java 面试八股文

前言:

首先介绍一下我的同学,专科毕业应用电子技术专业,已经毕业快两年了。因为专业的原因工作一年觉得没什么发展前途就想转行,身为他的“好基友”,他觉得我这个工作挺好的,就咨询了我一下,经过的严厉拒绝下(各种诱惑下),还是阻挡不了他。随后他报名了北大某鸟进行培训,进行了为期半年的 Java 程序员速成加工。因为年前结束培训他准备年后面试,谁知遇到这个大疫情,一直拖到了 5 月份。随后进行了长达 2 个月的面试历程。谁知昨天聊天的时候这个狗贼竟然通过了面试,而且还是 12K,可把我羡慕坏了(我才 11K),经过拜师才知道是他努力复习面试题的结果,今天就把偷学来的面试题分享给大家,希望大家都能拿到想要的 offer!

  • 还有什么想问我的么?

二面:

  • 主要就是项目,面试官一直拿着你的简历,去看项目中有什么可问你的。

  • 项目中遇到了什么问题,怎么解决的。

  • Oracle 的 explain 执行计划调优。

  • 发散性问题:假如有 100 万个玩家,需要对这 100W 个玩家的积分中前 100 名的积分,按照顺序显示在网站中,要求是实时更新的。积分可能由做的任务和获得的金钱决定。问如何对着 100 万个玩家前 100 名的积分进行实时更新?

(我说了分治和 Hash,但他说我的方法都是从全局的数据进行考虑的,这样空间和时间要求太多,并且不现实。最后他给出了解决方法,就是利用缓存机制,缓存—tomcat—DB,层级计算,能不用到 DB 层就别用,因为每进一层,实现起来都会更复杂和更慢。解决的思路就是,考虑出了前 100 名的后 100W-100 名玩家的积分,让变化的积分跟第 100 名比较,如果比第 100 名高,那就替换的原则。)

  • 简历上还有没有能给自己加分的项,让我自己说几个。

HR 面:

  • 简单介绍一下自己

  • 你认为你的强项在哪。

  • 做如果项目过程中,碰到不受指挥的情况,这时你会怎么做?

  • 关于薪资待遇你的期望?

[](()总结

以上就是面试的大概过程,不得不说,大厂的面试还是非常有技术水平的,这个过程中我学到了很多,这里分享下个人的一些心得:

1、基础!基础!基础!重要的事情说三遍,无论是什么阶段的程序员,基础都是最重要的。每个公司的面试一定会涉及到基础知识的提问,如果你的基础不扎实,往往第一面就可能被淘汰。

2、要对简历上的技术点很熟悉。简历包装可以,但一定要对简历上的技术点很熟悉,比如只是简单写过 rabbitmq 的 demo 的话,就不要写“熟悉”等字眼,因为很多的面试官会针对一个技能点问的很深入,像连环炮一样的深耕你对这个技能点的理解程度。

总的来说,这次面试还是收获颇丰的,毕竟自己面试之前也是准备的很充分了,有些题目答得不好说明我还有很多技术盲区,不懂就是不懂,再这么吹也吹不出来。好好修炼内功吧,毕竟菜可是原罪啊。

分享

以下是我个人总结的 2020 互联网大厂常问的面试题(含答案),全部刷完面试大厂通过率极高,当然得看工作年限及个人能力

Java 面试神技(Github 上收获 40K+Star)

该文档在 Github 上收获 40K+star 的 Java 面试神技(这赞数,质量多高就不用我多说了吧)非常全面,包涵 Java 基础、Java 集合、JavaWeb、Java 异常、OOP、IO 与 NIO、反射、注解、多线程、JVM、MySQL、MongoDB、Spring 全家桶、计算机网络、分布式架构、Redis、Linux、git、前端、算法与数据结构、MyBatis、RocketMQ、Netty、Dubbo。内容非常丰富,已经帮很多人拿下互联网一线公司的 offer。

“金三银四”和通过率达 95% 的 Java 面试八股文_第1张图片

Java 核心知识点整理

这份 Java 进阶架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识、Java 集合、JVM、多线程并发、spring 原理、微服务、Netty 与 RPC 、Kafka、日记、设计模式、Java 算法、数据库、Zookeeper、分布式缓存、数据结构等等

“金三银四”和通过率达 95% 的 Java 面试八股文_第2张图片

1000 道互联网 Java 工程师面试题

内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux 等技术栈

《一线大厂 Java 面试真题解析+Java 核心总结学习笔记+最新全套讲解视频+实战项目源码》开源

“金三银四”和通过率达 95% 的 Java 面试八股文_第3张图片

Java 入坑与进阶核心技术

这里我先来讲讲各个年限的程序员需要掌握的技术栈:

  • 入坑 0~1 年(搬砖码农):Java 基础+多线程基础+JVM 基础+部分开发工具+SSM 框架搭建+网络与数据结构+学习能力;

  • 入坑 2~3 年(开发工程师):并发编程+JVM+框架源码+设计模式+MySQL 调优+熟悉 Redis、消息、Nginx、微服务的使用配置+实战项目经验;

  • 入坑 4~5 年(初探架构师):JVM 调优+源码底层机制和原理+深入分布式、缓存、消息、微服务+解决分布式场景问题+高并发实战项目经验+一定项目管理、团队管理经验;

XMIND

1、Java 基础:JAVA 异常分类及处理、JAVA 反射、JAVA 注解、JAVA 内部类、JAVA 泛型、JAVA 序列化(创建可复用的 Java 对象)、JAVA 复制等。

“金三银四”和通过率达 95% 的 Java 面试八股文_第4张图片

2、JVM:线程、内存区域、运行时内存(新生代/老年代/永久代)、垃圾回收、JAVA 四种引用类型、GC 垃圾收集器、JVM 类加载机制等。

“金三银四”和通过率达 95% 的 Java 面试八股文_第5张图片

3、多线程并发:JAVA 线程实现/创建方式、4 种线程池、线程生命周期(状态)、JAVA 后台线程、JAVA 锁、线程基本方法、线程池原理、阻塞队列等。

“金三银四”和通过率达 95% 的 Java 面试八股文_第6张图片

4、SSM 框架:Spring 特点、Spring 常用模块、Spring 原理、Spring MVC 原理、Mybatis 缓存等。

“金三银四”和通过率达 95% 的 Java 面试八股文_第7张图片

5、数据库:存储引擎、索引、数据库三范式、数据库事务、数据库并发策略、分区分表等。

6、网络:网络 7 层架构、TCP/IP 原理、HTTP 原理、等。

7、设计模式:设计原则+工厂方法模式、抽象工厂模式等

“金三银四”和通过率达 95% 的 Java 面试八股文_第8张图片

“金三银四”和通过率达 95% 的 Java 面试八股文_第9张图片

总结

这里没有介绍进阶很深入的技术点,就是为了方便想在“金九银十”突击面试的朋友,能更好更快的掌握在面试场上占据较高分量的技术点。

当然,如果要达到 95%甚至更高的面试通过率,仅仅把上面介绍出来的技术点搞清楚是不够的,你还得把第二张脑图(Xmind 图)里面大多数的知识点过一遍,至少可以保证,在简历上多写一些“熟悉”、“掌握”等字眼。需要获取的私信我即可

 

你可能感兴趣的:(java,面试,经验分享,开发语言,数据结构)