本人某末流985软件工程大三本科生,参加了阿里,美团百度的Java研发岗实习生内推,其中阿里4月五号发了offer,美团4月3号发了口头offer,百度3月20发了offer。其中阿里一共是五面,三面技术两面hr,美团一共四面,两面技术两面hr,百度一共三面两面技术一面hr。
下面分享一下面试过程。
阿里一面 77min:
1、自我介绍
2、介绍项目
3、大量数据,高并发访问如何优化
4、热点数据访问优化
5、频繁修改的数据如何保证一致性 nwr模型,cap理论等
6、平时如何学习
7、有没有参与过开源项目
8、Java的基本数据类型有哪些?(忘了short)
9、实现多线程的三种方式,说说线程池
10、线程是不是开的越多越好,开多少合适,如何减少上下文切换开销,如何写个shell脚本获取上下文切换的开销?
11、乐观锁实现
12、jvm内存模型,1.6 1.7 1.8哪里不同
13、gc算法,可达性分析
14、考虑对于老年代怎么解决互联网应用中gc停顿问题,怎么解决内存碎片问题
15、约瑟夫问题 O(n)的算法
16、谈谈对spring ioc的理解
17、看过什么框架源码
阿里二面 50min:
1、自我介绍
2、学的哪些课程
3、介绍项目
4、排序算法,具体说说qsort
5、avl树怎么构建,怎么调整
6、最短路算法,地杰斯特拉,堆优化,正确性分析,spfa
7、说说锁,sync,lock(公平锁,非公平锁,实现) 读写锁,cas,aqs
8、Java泛型的理解,实现,和c++的不同
9、设计模式?你常用什么设计模式
10、hashtable、hashmap,1.8的优化,concurrenthashmap 1.8的优化
11、1.8有什么新特性?接口增强,拉姆达表达式等
12、谈谈对ioc的理解
13、谈谈对数据库优化的理解?反范式合理冗余数据,合理建索引,使用覆盖索引,问需不需要结合项目说?不用,谈谈就可以。
14、介绍一下nio,他好在哪里,epoll实现 红黑树,和select poll的不同。介绍一下aio
15、有没有没有问到的亮点?
二面结束后不到五分钟hr打来电话,简单的进行了交流,家那里的,大学都干了什么,平时怎么做项目。
阿里四面 50min 视频面,交叉面:
1、自我介绍
2、说说项目
4、说说es分词算法
5、TF/IDF算法
6、jvm调优,命令行工具 jstack jmap
7、倒排索引
8、A4纸写算法:n个球队,每个球队有一个自己的水平值,写一个随机函数,每次随机获取一个球队,要求球队的分布情况和他们的水平成正比
过了五天hr打来电话hr面,再过了三天发邮件给了offer
美团一面 28min:
1、自我介绍
2、项目介绍
3、es倒排索引
4、es分词选型。ik分词器
5、volatile关键字
6、hashmap原理
7、数据库的锁
8、乐观锁悲观锁适用场景,怎么避免死锁
9、如何实现lru
10、聚簇索引和二级索引的加锁区别
美团二面 51min:
1、介绍项目
2、如何使用es将面试者进行分类
3、若干个投资者,若干个借款者,求最优的匹配策略(背包变形)
4、spring mvc如何处理一个请求
5、过滤器和拦截器
百度一面 47min:
1、自我介绍
2、arraylist和linkedlist的区别
3、map
4、bio和nio
5、处理粘包拆包问题
6、设计模式
7、单例模式的双重校验,为什么使用volatile关键字
8、对于spring的理解
9、说一说锁,原子变量怎么实现的
10、阻塞队列
11、说说线程池
12、threadlocal实现,如何结局的内存泄漏问题
13、说说对于数据库设计优化的理解
14、redis和elasticsearch
百度二面 48min:
1、自我介绍
2、项目
3、两个文件都是10G,里面存着32位整数型,给8G内存,怎么求交集
4、TF/IDF算法
5、一个表有id和mark两个字段,给定一个用户id,一个sql查出来他的排名,
6、gc算法,内存模型
7、AOP原理,好处