一个JAVA渣渣的校招成长记,附BAT美团网易等20家面经总结

欢迎关注个人微信公众号:“Java面试通关手册”(坚持原创,分享美文,分享各类Java学习资源,面试题,以及企业级Java实战项目回复关键字免费领取):
微信公众号
今天分享一篇牛客网上的一个同窗分享的校招,这位同窗面试了不少公司,也总结了不少面试题目,面试题目大多都是平时能够练习到了,好比转链表和爬楼梯等算法问题在剑指offer上都有,我也已经更新在公众号(“Java面试通关手册”)上了,查看历史信息便可看到。java

做者:633_重庆森林
连接:https://www.nowcoder.com/disc...
来源:牛客网mysql

整个三月份经过牛客网和网友分享的经验学到了不少东西,如今反馈一下个人面试经历,但愿对同窗们有帮助。面试

我的状况:大三本EE方向渣硕,通过实验室学长内推,于三月底完成面试。岗位是Java研发。redis

校招是实力和运气的结合,缺一不可。

心态必定要摆正,毕竟咱们不可能让全部人都承认你。
并且每家公司每一个面试官的要求和风格都不同,因此咱们不要由于某家公司或者某个面试官的评价而怀疑本身。算法

挂了没有关系,我们这个专业的优点不就在于就业面广么,如今基本上只要是个公司,就须要计算机相关专业的同窗。因此大不了,再投另外一家。spring

此外,楼主以为比较重要的就是前期尽可能多参加面试,多在牛客网看面经,不要以为本身还没准备好就不敢去,面试是一个积累实战经验和提升的过程,多参加面试就是准备校招最直接最有效的方法。多投一些内推和提早批,不论是电话面试仍是现场面试,前期尽可能多参加,可能你最后并不会去这家公司,可是前期多面试多积累经验,多发现本身的不足,对后面的校招,轮到你真正想去的公司的面试的时候,你就有足够的(失败)经验了,不论是心态仍是薄弱点都调整的差很少了。若是已经拿到理想的offer的时候,再去考虑选择性的参加也不迟。sql

主要有如下公司的面经:

Cvte提早批
阿里内推
便利蜂内推
小米内推 
金山wps内推
多益网络
拼多多学霸批 
搜狗校招 
涂鸦移动 
中国电信it研发中心
中兴
华为
苏宁内推
美团内推 
百度 
腾讯 
招商银行信用卡 
招银网络科技 
网易 
Vivo

Cvte提早批

一面(电话)shell

自我介绍 
介绍你的项目 
加密解密了解么?几种算法,讲一下你了解的 
多线程了解么?什么是线程安全? 
说一个你最熟悉的设计模式 
讲一下你项目中用到了哪些设计模式 
Java的hashmap的原理 
Hashmap的线程安全性,什么是线程安全的?如何实现线程安全

二面(视频)数据库

自我介绍 
介绍项目 
Mysql的数据库引擎,区别特色 
设计模式了解?讲一下最熟悉的 
写一个单例模式,答主写的是双检查锁单例,问了为何用Volatile,synchronize移到方法最外面会怎么样? 
单例模式在你项目里哪些应用? 
数据链接池 
对高负载有了解么 
你意向的技术方向是哪块?(答主回答的高并发,而后面试官说他是作高负载的) 
对高并发有了解么?

阿里内推

一面(电话)编程

据说你有博客,博客里大概有什么内容?
项目介绍,最复杂的表
Hashmap的原理
Hashmap为何大小是2的幂次
介绍一下红黑树
Arraylist的原理
场景题:设计判断论文抄袭的系统
堆排序的原理
抽象工厂和工厂方法模式的区别
工厂模式的思想
object类你知道的方法
哪里用到了工厂模式
Forward和redirect的区别

二面(视频)

自我介绍
项目介绍
项目架构
项目难点
Synchronize关键字为何jdk1.5后效率提升了
线程池的使用时的注意事项
Spring中autowire和resourse关键字的区别
Hashmap的原理
Hashmap的大小为何指定为2的幂次
讲一下线程状态转移图
消息队列了解么
分布式了解么

做者:633_重庆森林
连接:https://www.nowcoder.com/disc...
来源:牛客网

便利蜂内推

一面(电话)

自我介绍

项目介绍 

volatile和synchronized 

来个算法题:一个无序数组,其中一个数字出现的次数大于其余数字之和,求这个数字 (主元素) 

答完再来一个:一个数组,有正有负,不改变顺序的状况下,求和最大的最长子序列 

项目用到什么数据库?隔离级别?每一个隔离级别各作了什么

数据库的索引?mysql不一样引擎索引的区别

垃圾回收算法的过程

你了解的垃圾收集器? Cms收集器的过程

怎样进入老年代?

平时用到了什么设计模式?

讲一下你最熟的两个设计模式

用过什么系统?shell写过脚本吗?

小米内推

一面(电话)

自我介绍

看你最近博客写的是redis,介绍redis和mysql的区别

Redis的应用场景

Hashmap的原理

Hashmap中jdk1.8以后作了哪些优化

垃圾回收的过程

Jvm的参数设置

项目中的优化

金山wps内推

一面(电话)

自我介绍

项目介绍

对Java的面向对象的理解

对java多线程的理解

数据库的索引

数据库的隔离级别

设计模式的理解

讲几个设计模式

对算法有什么了解?答主先回答了动态规划,解释了一下dp的思想

快排的思想讲一下

二面(电话)

自我介绍

项目介绍

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线程池的做用

你以为你在你实验室处于什么水平

综合面试(现场)

说好的综合面试纯聊天呢?

自我介绍

项目介绍

说一下你知道的设计模式

画一个策略模式的uml图

Java多线程的理解

内存屏障是什么

数据库索引

项目中的优化

你的缺点,你最不喜欢什么样的人,你的家庭等等

而后开始聊人生

华为

一面(现场)

自我介绍

项目介绍

项目架构

项目一个完整的执行流程(因为我是搞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的原理,使用场景

数据库的瓶颈

总结:

春招实习之路真的是很艰辛,本身原本也不是CS方向的,不少基础课和本专业的同窗差距真的太多,可是只要足够努力,一定会获得一个满意的结果,路漫漫其修远兮,吾将上下而求索。你们加油!

相关文章
相关标签/搜索