==
我是一个非985/211的本科。其实最开始并不怎么自信,靠的就是一帮基友互相的鼓励,才坚持到了现在。 我小米的面试机会是亲戚给内推的,因为碰巧他们部门校招没有招满,所以很幸运的拿到了这个机会。 提一点,我面的是Java后台岗。
面试开始
====
先申明一点,虽然我通过了面试也拿到了offer,但是至于我是否真的答对了题目,我也不知道,所以这里为了避免误人子弟就不把我的答案发出来了,如果有兴趣可以自行百度,google。
一面:
-
1、10 亿个 URL,每个 URL的大小< 56B,要求去URL进行去重,并且机器的内存大小为 4G。
-
2、说一下计算机网络中七层,五层,四层协议;IP 地址子网划分。
-
3、在浏览器上敲一个URL,按下回车,发生了什么?
-
4、问了不少Linux中的命令,具体忘记了,问了4,5个吧。
-
5、问了几种查表,连表的情况,让大体说出SQL语句来。
-
6、聊一聊对Tomcat的理解。
-
7、手写一个快排。
可以看出整体一面很富有校招的色彩,比较多的课本上的内容。而进入二面后,就开始大量的Java内容了。
二面
–
-
1、聊一聊你对线程同步的理解。
-
2、ReentrantLock和synchronized的区别,了解synchronized的实现原理吗?
-
3、用过CountDownLatch么?什么场景下用的?
-
4、聊一聊JVM,程序计数器有什么用?
-
5、AOP编程的常用实现方式。cglib了解么?
-
6、Spring源码看过么?聊一聊你印象最深的地方。
-
7、谈谈你对分表的看法。
-
8、谈谈nginx 的负载均衡的原理。
二面怎么说呢?问原理性的内容比较的多(我猜这个人是来问深度的,我有不少回答的并不好,但他依然让我过了),这里必须要提一嘴就是:不要给自己挖坑。一般敢这么问的面试官,这方面掌握的比较好。一不小心就会被问住。我在这就吃了亏,扯得有点多,被追问之后就回答不上来了。
总结
面试难免让人焦虑不安。经历过的人都懂的。但是如果你提前预测面试官要问你的问题并想出得体的回答方式,就会容易很多。
此外,都说“面试造火箭,工作拧螺丝”,那对于准备面试的朋友,你只需懂一个字:刷!
给我刷刷刷刷,使劲儿刷刷刷刷刷!今天既是来谈面试的,那就必须得来整点面试真题,这不花了我整28天,做了份“Java一线大厂高岗面试题解析合集:JAVA基础-中级-高级面试+SSM框架+分布式+性能调优+微服务+并发编程+网络+设计模式+数据结构与算法等”
且除了单纯的刷题,也得需准备一本【JAVA进阶核心知识手册】:JVM、JAVA集合、JAVA多线程并发、JAVA基础、Spring 原理、微服务、Netty与RPC、网络、日志、Zookeeper、Kafka、RabbitMQ、Hbase、MongoDB、Cassandra、设计模式、负载均衡、数据库、一致性算法、JAVA算法、数据结构、加密算法、分布式缓存、Hadoop、Spark、Storm、YARN、机器学习、云计算,用来查漏补缺最好不过。
式、负载均衡、数据库、一致性算法、JAVA算法、数据结构、加密算法、分布式缓存、Hadoop、Spark、Storm、YARN、机器学习、云计算,用来查漏补缺最好不过。