楼主是北邮真.渣硕,之前天真地认为实习期间活儿干完了就能转正,就没有准备提前批,也几乎完美错过了9月秋招正式批。倒在亚马逊的转正答辩后(感到痛心,舍不得组里和善的大佬们,技术好又有耐心又有趣),10月正式踏上秋招,目标是JAVA后台研发。至此告一段落,虽然没拿到什么牛逼的offer,但好歹互联网大厂基本都面了,写下来让自己以后复习,也算回馈牛客。
话不多说,面试问题几乎集中在JAVA基础、JVM、算法、数据库(MySQL、Redis)、计算机网络、操作系统等方面,会分类进行列举,限于篇幅项目相关的问题就不写出了。
后面面经挺长的,嫌太长的可以只看这部分。基本上你在简历的技能书上写了以下关键词,那这些高频问题你会特别眼熟,有写错的地方欢迎指正~
OSI 七层模型 & TCP/IP 四层模型
大家可以找找上面的高频问题在下面的面试中也出现过多少次(笑),针对每个公司会有一个小结(碎碎念)。
MySQL
Redis
操作系统
计算机网络
MySQL
计算机网络
操作系统
算法
可以看出腾讯对于计算机网络方面的知识要求蛮多的,光熟悉TCP、UDP、HTTP相关这样基础的面试题是hold不住面试官的。
JAVA
MySQL
算法
数据库
JAVA
JVM
开放式
开放式
阿里对于算法方面的考核会更加严格,普通的算法题期待你有多种解法,并且倾向于给你一个具体问题让你解决,然而我开放式问题都答得不咋样
未完待续……
作为21届的我,本来是打算通过找日常实习的方式早点结束春招,但是过程以及结果其实是失败的。我主要投递了京东、百度、腾讯以及字节。其中百度两轮技术面过,hr面由于无法及时到岗所以是被拒了,腾讯三轮技术面和hr面都过了,但是至今仍然无消息(一个星期过去了,还是待审批,应该也是凉了)。其中最期待的字节,三轮技术面和hr面都过了,最后offer审批失败,给的理由是业务方向不匹配(我真的想说,不匹配你当初捞我面试干嘛?)
现在的心情除了失落没有别的,由于考试月到了,自己也没有精力再去面试了,只能寄希望于春招。但是作为一个双非一本,没有大厂实习的我,春招的希望有多大我也不知道...
由于没有及时记录,只能回忆起一部分了
字节一面(38分钟)
字节二面(50分钟)
字节三面(38分钟)
hr面(20分钟)
百度一面
百度二面
腾讯一面
腾讯二面
腾讯三面
hr面
由于京东一面基本只问了项目,同时自己拒了二面,这里就不写了。
此刻的心情很难受,一直以为头条就在我的手中了,却又这样离去。这次对我的打击很大,自己也没有什么心情继续面试了。各位加油吧,哥累了。
美团点评二面
1.首先还是问项目。问的比较细,比较全。
String,StringBuffer,StringBuilder的区别,为什么String是不可变的,StringBuffer和StringBuilder哪个是线程安全的,他们分别适用于什么场景。
java类加载过程是怎么样的,说一下volatile。
并发包了解吗?假如几个线程之间相互等待,可以用哪个并发类来实现,他的原理是什么?
数据库慢查询优化了解哪些?说了很多,面试官说假如这些都已经做好了还是很慢怎么办?最后不清楚问了下面试官,面试官主要想了解数据库分区的知识。
说一下spring容器的启动过程?
讲一下分布式锁,基于zookeeper实现和redis实现在性能上有什么差异?
kafka如何保证不丢消息又不会重复消费。了解大数据相关的一些技术吗?
最后写了道题,leetcode55. 跳跃游戏
给定一个非负整数数组,你最初位于数组的第一个位置。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个位置。
示例 1:
输入: [2,3,1,1,4]
输出: true
解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。
示例 2:
输入: [3,2,1,0,4]
输出: false
解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远不可能到达最后一个位置。
最快什么时候能过来?有什么问题想问的?然后说后面有hr再和你联系。
美团点评三面
面试官首先问了很多简历中的一些基本信息.画一下你这个项目与哪些工程交互,它在你们的产品中处于什么样一个位置
画一下你们这个项目的架构图,挑一个你觉得比较难的业务场景来讲一下,
你们这个项目中都遇到了哪些问题呢?说说你们最后都怎么解决的
写了一段代码,问这个代码最后输出什么?申请多大的内存空间,都在什么位置申请的
public class Test {
public static void main(String[] args) {
String str = "hello";
test(str);
System.out.println(str);
}
public static void test(String str){
str = str + "world";
System.out.println(str);
int[] a = new int[1024];
}
}
hashmap了解吗?他的set和get的时间复杂度是多少?为什么是O(1),说下详细过程,hashmap是线程安全的吗?
Jvm了解吗?jvm中哪些可以作为垃圾回收的gcroot?为什么呢?
什么时候能过来上班?然后就说等会hr面。
美团点评hr面
问了下基本情况,什么时候能过来,为什么想换工作?在上家的绩效和薪水情况,期望工资是多少。
自我介绍
项目经历 详细问项目
object 里面的方法
对象相等 hashcode equal s源码 详细问哈希是什么,怎么计算出来的。
dubbo原理 dubbo源码看过没 详细介绍怎么用。
hashmap源码看过没 详细介绍原理,具体方法怎么实现的,concurrent hashmaphashmap源码 看过吗?怎么实现分段锁。撤到红黑树,介绍红黑树怎么实现的,红黑树结构。后。红黑树与平衡二叉树.平衡原理。
array list linked list
msql用过吗 msql引擎是怎么实现的。为什么用b 。
spring源码看过没 aop ioc怎么实现的 aop怎么实现的。开始问反射。动态***怎么实现的,动态是指什么?
消息中间件mq. 异步 应用场景 秒杀系统。
多线程并发 nio
问 网络相关TCP 三次握手 之类
问操作系统熟悉吗?
异步请求 怎么实现的。**模式用过吗,底层怎么实现的。
线程池详细介绍线程池使用过程。线程池有哪些参数。
废话不多说,前几天参加去哪网面试,面经如下。
去哪网java实习生面总共分为四轮(我也不知道为什么这么多)。
一面(技术面)
1.自我介绍,并分析简历上的项目,并发情况,数据量大的情况你怎么办
2.分析悲观锁和乐观锁
3.数据库索引(b tree,b+tree)
4.出题建表,写sql,mybatis标签拆分判断。
5.hashmap详细说明,底层数据结构。
6.concurrenthashmap详细说明。
7.treeset(画红黑树)
8.线程常见状况。
9.maven生命周期。
10.linux常用命令。
二面(技术面)
1.各种排序以及应用场景(快排,归并,堆排,选择排)。
2.给你10亿个数,选择10个最小的,最优算法。
3.时间复杂度,空间复杂度。
4.线程池,callable,ExecutorService源码,参数含义。
5.Spring mvc的DispatcherServlet源码,工作机制。
6. Spring boot工作机制
7.简单说下redis。
8.服务器集群。
9.数据库事务,事务隔离级别
10.git常用命令,是否用过github。
三面(技术面)
1.最近在学什么。
2.如果学习一个新框架
3.设计一块缓存的数据结构,实现快速增加,删除,查找等操作,并判断时间空间复杂度。
4.项目并发如何解决。
四面(hr面)
简单的聊一下薪资待遇。
说了一件大学难忘的事。
发offer。
现阶段能想起来的就这么多,以后再补充,大家加油。