Java秋招面经大合集
转载链接:https://www.nowcoder.com/discuss/50439?type=0&order=4&pos=4&page=1
- cvte
- 阿里内推
- 便利蜂内推
- 小米内推
- 金山wps内推
- 多益网络
- 拼多多学霸批
- 搜狗校招
- 涂鸦移动
- 中国电信it研发中心
- 中兴
- 华为
- 苏宁内推
- 美团内推
- 百度
- 腾讯
- 招商银行信用卡
- 招银网络科技
- 网易
- Vivo
Cvte提前批
一面(电话)
-
自我介绍
-
介绍你的项目
-
加密解密了解么?几种算法,讲一下你了解的
-
多线程了解么?什么是线程安全?
-
说一个你最熟悉的设计模式
-
讲一下你项目中用到了哪些设计模式
-
Java的hashmap的原理
-
Hashmap的线程安全性,什么是线程安全的?如何实现线程安全
二面(视频)
-
自我介绍
-
介绍项目
-
Mysql的数据库引擎,区别特点
-
设计模式了解?讲一下最熟悉的
-
写一个单例模式,答主写的是双检查锁单例,问了为什么用Volatile,synchronize移到方法最外面会怎么样?
-
单例模式在你项目里哪些应用?
-
数据连接池
-
对高负载有了解么
-
你意向的技术方向是哪块?(答主回答的高并发,然后面试官说他是做高负载的)
-
对高并发有了解么?
阿里内推
一面(电话)
-
听说你有博客,博客里大概有什么内容?
-
项目介绍,最复杂的表
-
Hashmap的原理
-
Hashmap为什么大小是2的幂次
-
介绍一下红黑树
-
Arraylist的原理
-
场景题:设计判断论文抄袭的系统
-
堆排序的原理
-
抽象工厂和工厂方法模式的区别
-
工厂模式的思想
-
object类你知道的方法
-
哪里用到了工厂模式
-
Forward和redirect的区别
二面(视频)
1, 自我介绍
2, 项目介绍
3, 项目架构
4, 项目难点
5, Synchronize关键字为什么jdk1.5后效率提高了
6, 线程池的使用时的注意事项
7, Spring中autowire和resourse关键字的区别
8, Hashmap的原理
9, Hashmap的大小为什么指定为2的幂次
10, 讲一下线程状态转移图
11, 消息队列了解么
12, 分布式了解么
便利蜂内推
一面(电话)
-
自我介绍
-
项目介绍
-
volatile和synchronized
-
来个算法题:一个无序数组,其中一个数字出现的次数大于其他数字之和,求这个数字 (主元素)
-
答完再来一个:一个数组,有正有负,不改变顺序的情况下,求和最大的最长子序列
-
项目用到什么数据库?隔离级别?每个隔离级别各做了什么
-
数据库的索引?mysql不同引擎索引的区别
-
垃圾回收算法的过程
-
你了解的垃圾收集器? Cms收集器的过程
10.怎样进入老年代?
11.平时用到了什么设计模式?
12.讲一下你最熟的两个设计模式
13.用过什么系统?shell写过脚本吗?
小米内推
一面(电话)
-
自我介绍
-
看你最近博客写的是redis,介绍redis和mysql的区别
-
Redis的应用场景
-
Hashmap的原理
-
Hashmap中jdk1.8之后做了哪些优化
-
垃圾回收的过程
-
Jvm的参数设置
-
项目中的优化
金山wps内推
一面(电话)
-
自我介绍
-
项目介绍
-
对Java的面向对象的理解
-
对java多线程的理解
-
数据库的索引
-
数据库的隔离级别
-
设计模式的理解
-
讲几个设计模式
-
对算法有什么了解?答主先回答了动态规划,解释了一下dp的思想
10.快排的思想讲一下
二面(电话)
-
自我介绍
-
项目介绍
-
Tcp怎么保证可靠传输(中间穿插了好多小问题)
-
Tcp的拥塞控制
-
让你设计一个即时聊天的系统
-
支付宝转账,是如何实现,几个小时通知转账成功的(面试官想让回答长连接,答主一直没get到点)
-
解释一下长连接
多益网络
一面(视频)
-
自我介绍
-
对面向对象的理解
-
介绍多态
-
Java新建线程有哪几种方式
-
线程池的作用
-
看过框架源码么
拼多多学霸批
一面(现场面)
-
自我介绍
-
项目介绍
-
手撕算法:一棵二叉排序树,给定一个数,找到与给定数差值最小的数
-
场景题:设计一个系统,解决抢购时所需要的大量的短链接的功能,如何保证高并发,如何设计短链接
二面(现场面)
-
代码量多少
-
给了一张纸,各种名词,会的写出来
-
然后给它解释那些会的
-
设计题:设计一个系统,记录qq用户前一天的登录状态,提供16g内存和2tb的硬盘,要做到查询指定qq号的前一天的登录状态,快速查询O(1)复杂度
搜狗校招
一面(现场):
-
自我介绍
-
项目介绍
-
手撕算法:两个排序的数组A和B分别含有m和n个数,找到两个排序数组的中位数,答主用的二分,时间复杂度为O(log (m+n))。结果面试官不满意,让用归并的思想做,时间复杂度其实更高了
-
介绍网络编程
涂鸦移动
一面(现场)
-
自我介绍
-
项目介绍
-
数据库的索引原理
-
索引使用的注意事项
-
数据库的引擎
-
Java垃圾回收机制
-
Java的finalize,finally,final三个关键字的区别和应用场景
-
String类可以被继承么
手撕算法:假设你是一个专业的窃贼,准备沿着一条街打劫房屋。每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该系统会自动报警。
给定一个非负整数列表,表示每个房子中存放的钱, 算一算,如果今晚去打劫,你最多可以得到多少钱 在不触动报警装置的情况下。
二面(电话)
-
自我介绍
-
对游戏的了解
-
项目介绍
-
算法题:给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。
-
红黑树
-
Redis的应用
中国电信it研发中心
一面(现场)
-
自我介绍
-
项目介绍
-
项目里用的什么服务器
-
自己写一个tomcat服务器,你会怎么写
-
分布式服务器会出现哪些问题
-
怎么解决session一致性缓存的问题
-
Redis的优势和特点
-
一千万用户并发抢购,怎么设计
-
如果成功的用户有10万,redis存不下怎么处理
-
你项目中的难点
二面(现场)
-
自我介绍
-
项目介绍
-
介绍spring中的熟悉的注解
-
让你实现autowire注解的功能你会如何实现
-
Redis和mysql的区别
-
Redis的持久化有哪些方式,具体原理
中兴
专业面(现场)
-
自我介绍
-
项目介绍
-
你了解的设计模式,讲两个
-
Java collection类,集合,讲两个你了解的,说实现原理
-
Java线程池的作用
-
你觉得你在你实验室处于什么水平
综合面试(现场)
说好的综合面试纯聊天呢?
1. 自我介绍
2. 项目介绍
3. 说一下你知道的设计模式
4. 画一个策略模式的uml图
5. Java多线程的理解
6. 内存屏障是什么
7. 数据库索引
8. 项目中的优化
9. 然后开始聊人生
10. 你的缺点,你最不喜欢什么样的人,你的家庭等等
华为
一面(现场)
-
自我介绍
-
项目介绍
-
项目架构
-
项目一个完整的执行流程(由于我是搞java的,而面试官是搞c的,所以全程尬聊)
-
项目优化
二面(现场)
-
自我介绍
-
项目介绍
-
怎么管理项目进度
-
平常的爱好
-
感觉面试官也不是搞java的,所以又是一阵尬聊
苏宁内推
一面(现场)
-
自我介绍
-
项目介绍
-
面过哪些公司了
-
有哪些offer了
-
聊到多益,于是开始聊最近微博上很火的多益老板
-
得出结论,我和面试官都觉得多益老板三观有问题,但做游戏就是要偏执的人
-
你博客主要哪方面的
-
多线程并发包了解么
-
讲一下countDownLatch
苏宁聊了20分钟八卦就面完了,一轮技术面
美团内推
一面(电话)
-
自我介绍
-
项目介绍
-
Redis介绍
-
了解redis源码么
-
了解redis集群么
-
Hashmap的原理
-
hashmap容量为什么是2的幂次
-
hashset的源码
-
object类你知道的方法
-
hashcode和equals
-
你重写过hashcode和equals么,要注意什么
-
假设现在一个学生类,有学号和姓名,我现在hashcode方法重写的时候,只将学号参与计算,会出现什么情况?
-
往set里面put一个学生对象,然后将这个学生对象的学号改了,再put进去,可以放进set么?并讲出为什么
-
Redis的持久化?有哪些方式,原理是什么?
-
讲一下稳定的排序算法和不稳定的排序算法
-
讲一下快速排序的思想
二面(现场)
-
自我介绍
-
讲一下数据的acid
-
什么是一致性
-
什么是隔离性
-
Mysql的隔离级别
-
每个隔离级别是如何解决
-
Mysql要加上nextkey锁,语句该怎么写
-
Java的内存模型,垃圾回收
-
线程池的参数
-
每个参数解释一遍
-
然后面试官设置了每个参数,给了是个线程,让描述出完整的线程池执行的流程
-
Nio和IO有什么区别
-
Nio和aio的区别
-
Spring的aop怎么实现
-
Spring的aop有哪些实现方式
-
动态代理的实现方式和区别
-
Linux了解么
-
怎么查看系统负载
-
Cpu load的参数如果为4,描述一下现在系统处于什么情况
-
Linux,查找磁盘上最大的文件的命令
-
Linux,如何查看系统日志文件
-
手撕算法:leeetcode原题 22,Generate Parentheses,给定 n 对括号,请写一个函数以将其生成新的括号组合,并返回所有组合结果。
三面(现场)
三面没怎么问技术,问了很多技术管理方面的问题
-
自我介绍
-
项目介绍
-
怎么管理项目成员
-
当意见不一致时,如何沟通并说服开发成员,并举个例子
-
怎么保证项目的进度
-
数据库的索引原理
-
非聚簇索引和聚簇索引
-
索引的使用注意事项
-
联合索引
-
从底层解释最左匹配原则
-
Mysql对联合索引有优化么?会自动调整顺序么?哪个版本开始优化?
-
Redis的应用
-
Redis的持久化的方式和原理
-
技术选型,一个新技术和一个稳定的旧技术,你会怎么选择,选择的考虑有哪些
-
说你印象最深的美团点评技术团队的三篇博客
-
最近在学什么新技术
-
你是怎么去接触一门新技术的
-
会看哪些书
-
怎么选择要看的书
百度
一面(现场)
-
自我介绍
-
Java中的多态
-
Object类下的方法
-
Finalize的作用和使用场景
-
Hashcode和equals
-
为什么要同时重写hashcode和equals
-
不同时重写会出现哪些问题
-
Hashmap的原理
-
Hashmap如何变线程安全,每种方式的优缺点
-
垃圾回收机制
-
Jvm的参数你知道的说一下
-
设计模式了解的说一下啊
-
手撕一个单例模式
-
快速排序的思想讲一下
-
给个数组,模拟快排的过程
-
手写快排
-
设计题,一个图书馆管理系统,数据库怎么设计,需求自己定
二面(现场)
-
自我介绍
-
项目介绍
-
Redis的特点
-
分布式事务了解么
-
反爬虫的机制,有哪些方式
-
手撕算法:反转单链表
-
手撕算法:实现类似微博子结构的数据结构,输入一系列父子关系,输出一个类似微博评论的父子结构图
-
手写java多线程
-
手写java的soeket编程,服务端和客户端
-
进程间的通信方式
-
手撕算法: 爬楼梯,写出状态转移方程
-
智力题:时针分针什么时候重合
三面(现场)
由于三面面试官不懂java,我不熟c加加,所以全程尬聊
-
自我介绍
-
项目介绍
-
手撕算法:给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。
-
然后继续在这个问题上扩展
-
求出最短那条的路径
-
递归求出所有的路径
-
设计模式讲一下熟悉的
-
会不会滥用设计模式
-
多线程条件变量为什么要在while体里
-
你遇到什么挫折
腾讯
一面(现场)
-
自我介绍
-
项目介绍
-
Hibernate的作用,你的理解
-
多线程的理解,如何保证线程安全
-
mysql数据库的引擎和区别
-
场景题:千万用户抢购,如何处理高并发,并且有一个链接,指向前一天抢购成功的用户,如何设计这个系统和数据库
-
如果后台处理抢购请求的服务器,每次最多承受200的负载,系统该怎么设计
-
手撕算法:最小公倍数和最大公约数
二面
-
自我介绍
-
项目介绍
-
项目里一个完整请求的流程
-
项目的优化
-
Hibernate和mybatis的区别
-
为什么用ssh框架
-
Mysql的容灾备份
-
Redis和memcache 的区别
-
为什么选择redis
-
Java的full gc
-
Full gc会导致什么问题
招商银行信用卡
一面
-
自我介绍
-
分布式事务
-
设计模式
-
访问者模式
-
装饰者模式
-
有哪些offer
-
为什么还来我们这
招银网络科技
一面
-
自我介绍
-
写一个两个有序链表合并成一个有序链表
-
死锁是什么呢
-
怎么解决死锁
-
http请求流程
-
为什么负载均衡
-
怎么实现负载均衡
-
数据库挂了怎么办?除了热备份还有什么方法
-
讲讲你对spring的理解,不要把ioc和aop背给我听
二面
-
自我介绍
-
项目介绍
-
算法:找出两个数组相等的数,不能用其他数据结构
-
算法:给定一个数字,一个数组,找出数组中相加等于这两个数的和,不能用数据结构
-
算法:如何判断一个树是不是另一颗树的子树
-
如何解决并发访问的错误
网易
一面(现场)
-
自我介绍
-
项目介绍
-
I++操作怎么保证线程安全
-
场景题:设计一个下单系统,下单成功后可以给用户发优惠券
-
接上面场景题:服务器挂了,优惠券还没发怎么办
-
数据库挂了怎么怎么办
-
怎么保证一致性
-
分布式事务知道么
-
介绍分布式事务
-
你的职业规划
二面
-
自我介绍
-
项目介绍
-
Nio的原理
-
Channel和buffer
-
directBuffer和buffer的区别
-
nio和aio的区别
-
锁的实现原理
-
怎么解决缓存和主存的一致性问题
-
缓存还没更新到主存,服务器挂了怎么办
-
数据库挂了怎么办
Vivo
一面
-
自我介绍
-
项目介绍
-
Hibernate的batch有数量限制么
-
Jquery用过么
-
Extjs的优缺点
-
有没有扩展过extjs
-
读写锁
-
什么时候用读锁
-
什么时候用写锁
-
Cas的原理,使用场景
-
数据库的瓶颈