因为最近有很多朋友在群里问一些面试题目,包括有一些朋友想去阿里、百度这类大型互联网企业,因为自己也从事了9年Java开发了(本人在华为),然后找了几个在阿里、百度跟美团的朋友要来了这些面试题,希望这些面试题能让你正确的认识一下自己,到底处于哪个水平,该如何跟别人竞争

1、阿里内推 

一面(电话)

Java程序员秋招面试经(阿里、美团、百度、最全面试大合集)

听说你有博客,博客里大概有什么内容?

项目介绍,最复杂的表

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, 分布式了解么

2、美团内推

一面(电话)

自我介绍

项目介绍

Redis介绍

了解redis源码么

了解redis集群么

Hashmap的原理

hashmap容量为什么是2的幂次

hashset的源码

object类你知道的方法

hashcode和equals

你重写过hashcode和equals么,要注意什么

假设现在一个学生类,有学号和姓名,我现在hashcode方法重写的时候,只将学号参与计算,会出现什么情况?

往set里面put一个学生对象,然后将这个学生对象的学号改了,再put进去,可以放进set么?并讲出为什么

Redis的持久化?有哪些方式,原理是什么?

讲一下稳定的排序算法和不稳定的排序算法

讲一下快速排序的思想

我特意整理了一下,有很多问题不是靠几句话能讲清楚,所以干脆找朋友录制了一些视频,用来回答这些面试题。很多问题其实答案很简单,但是背后的思考和逻辑不简单,要做到知其然还要知其所以然。如果想学习Java工程化、高性能及分布式、深入浅出。性能调优、Spring,MyBatis,Netty源码分析的朋友可以加小助理VX哦

二面(现场)

自我介绍

讲一下数据的acid

什么是一致性

什么是隔离性

Mysql的隔离级别

每个隔离级别是如何解决

Mysql要加上nextkey锁,语句该怎么写

Java的内存模型,垃圾回收

线程池的参数

每个参数解释一遍

然后面试官设置了每个参数,给了是个线程,让描述出完整的线程池执行的流程

Nio和IO有什么区别

Nio和aio的区别

Spring的aop怎么实现

Spring的aop有哪些实现方式

动态代理的实现方式和区别

Linux了解么

怎么查看系统负载

Cpu load的参数如果为4,描述一下现在系统处于什么情况

Linux,查找磁盘上最大的文件的命令

Linux,如何查看系统日志文件

手撕算法:leeetcode原题 22,Generate Parentheses,给定 n 对括号,请写一个函数以将其生成新的括号组合,并返回所有组合结果。

百度 面试

一面(现场)

自我介绍

Java中的多态

Object类下的方法

Finalize的作用和使用场景

Hashcode和equals

为什么要同时重写hashcode和equals

不同时重写会出现哪些问题

Hashmap的原理

Hashmap如何变线程安全,每种方式的优缺点

垃圾回收机制

Jvm的参数你知道的说一下

设计模式了解的说一下啊

手撕一个单例模式

快速排序的思想讲一下

给个数组,模拟快排的过程

手写快排

设计题,一个图书馆管理系统,数据库怎么设计,需求自己定

二面(现场)

自我介绍

项目介绍

Redis的特点

分布式事务了解么

反爬虫的机制,有哪些方式

手撕算法:反转单链表

手撕算法:实现类似微博子结构的数据结构,输入一系列父子关系,输出一个类似微博评论的父子结构图

手写java多线程

手写java的soeket编程,服务端和客户端

进程间的通信方式

手撕算法: 爬楼梯,写出状态转移方程

智力题:时针分针什么时候重合

如果想学习Java工程化、高性能及分布式、深入浅出。性能调优、Spring,MyBatis,Netty源码分析的朋友可以加小助理微信获取哦

 各类学习书籍整理

 各类面试题整理

大厂面试篇