阿里 百度 菜鸟 滴滴 京东 美团 顺丰面试整理,面经分享,java面试分模块总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了阿里 百度 菜鸟 滴滴 京东 美团 顺丰面试整理,面经分享,java面试分模块总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含9788字,纯文字阅读大概需要14分钟。
内容图文
![阿里 百度 菜鸟 滴滴 京东 美团 顺丰面试整理,面经分享,java面试分模块总结](/upload/InfoBanner/zyjiaocheng/618/8542fdbcd00d44719b710cc0c3d9b74a.jpg)
程序员就是魔法师,而火球术就是基本的写代码。每个魔法师都会火球术,而每个程序员都会写代码。
但不是每个魔法师都会学好火球术,也不是每个程序员都会写出好代码!
2020年 是不平凡的一年,每天早上6点起床准备面试,感觉把所有的大厂都面了一遍,有字节 阿里 百度 菜鸟 滴滴 京东 美团 顺丰
最后终于拿到了自己心仪的offer。
写这篇博客 两个目的
1、把自己总结的分享给大家我整理的内容如下面截图:
2、本人有马士兵java架构课程,开课吧,图灵,咕泡,享学,奈学教育,极客大学,极客时间,慕课网课程
都是最新,同步更新
课程收费 但不多照福大家...如果你说我是二手贩子也没错...我只是挣个辛苦钱 哈哈哈哈....
更重要的的是欢迎技术交流 面试心得分享
以下是我总结的目录:
随时联系我 V 15123957473 欢迎技术交流,其他合作
随时联系我 V 15123957473 欢迎技术交流,其他合作
随时联系我 V 15123957473 欢迎技术交流,其他合作
java面试分模块总结
### 设计模式
1、用到哪些设计模式?怎么用的
2、单例模式的不同写法
### JDK
1、聊一下java的集合类
2、HashMap底层数据结构,以及解决hash碰撞的方法
3、Hashmap为什么要使用红黑树
4、集合类怎么解决高并发问题
5、队列的使用问题
6、自定义异常的应用场景
7、Object类中的方法
8、1.8的新特性
9、Java中的静态方法只有一个实例,如果想用多个实例怎么办?
10、Java面向对象的基本特征,继承、封装与多态
11、重写和重载是什么意思
12、怎样声明一个类不会被继承
13、HashMap中jdk1.7与jdk1.8的区别
14、concurrenthashMap 的底层实现原理,是如何实现线程安全的?
15、Java中的自增是线程安全的吗,如何实现线程安全的自增
16、Jdk1.8种的stream有用过吗,stream的并行操作原理,stream并行的线程池是从哪里来的
17、Jdk1.8的completableFuture有用过吗?
18、Java种的代理有几种实现方式
### JVM
1、jvm内存模型,以及这些空间的存放内容
2、堆内存划分的空间,如何回收这些内存对象,有哪些回收算法
3、jvm调优,如何解决线上gc问题
4、class初始化过程
5、内存溢出的原因,如何排查线上问题
6、jvm有哪些垃圾回收器,
7、类加载模型
8、JVM为什么要增加元空间?
9、堆G1垃圾收集器有了解么,有什么特点
### 多线程
1、多线程之间是如何通信的
2、synchronized底层实现,和lock的区别
3、synchronized关键字加在静态方法和实例方法的区别
4、countdownlatch的用法
5、线程池
? (1)Executor提供了几种线程池
? (2)线程池的参数
? (3)拒绝策略
? (4)任务放置的顺序过程
? (5)任务结束后会不会回收线程
? (6)未使用的线程池中的线程放在哪里
? (7)线程池线程存在哪
? (8)cache线程池会不会销毁核心线程
6、Java多线程的几种状态及线程各个状态之间是如何切换的
7、Java中的wait和sleep的区别与联系
8、如何在方法栈中进行数据传递?
9、ThreadLocal的底层实现形式及实现的数据结构?
10、Sychornized是否是公平锁
11、Sychronized和ReentryLock的区别
12、服务器CPU数量及线程池数量的关系
### mysql
1、Mysql的索引类型,底层索引数据结构,叶子节点存储的是什么,索引失效的原因
2、如何优化sql,查询计划的结果中看哪些些关键数据
3、innodb和myisam的区别
4、mysql默认隔离级别,
5、mysql的乐观锁和悲观锁,锁的种类
6、如何用sql实现乐观锁和悲观锁
7、mysql如何分库分表
8、MySQL为什么选择B+树作为它的存储结构,为什么不选择Hash、二叉、红黑树
9、Mysql数据库的事务与锁的理解
10、数据库临时表有没有用过,是怎么用的?
11、多数据源情况下如何进行事物的管理
12、Union和union all有什么区别
13、dateTime和timestamp有什么区别
14、mysql主从模式的实现
15、如何解析sql语句;即explain关键字的使用
16、Mysql的主从同步原理,mysql主从复制主要有几种模式
### Spring
1、spring的底层代码,
2、bean的生命周期
3、循环引用问题,以及spring中用到的设计模式
4、spring和springBoot的区别
5、spring的AOP的底层实现原理
6、spring的事务是如何回滚的
7、Spring 是如何解决循环依赖的问题的?
8、Spring IOC的理解,原理与实现
9、Bean Factory与FactoryBean有什么区别?@Bean这个注解时如何实现Bean的注入的?
### Mybatis
1、hibernate的区别
2、mybatis的缓存,都缓存些什么,session缓存存在哪
3、mybatis的执行流程,需要了解源码
4、mybatis如何防止sql注入
### redis
1、redis的数据结构类型,一般都用在什么场景下
2、sortedSet的底层数据结构
3、利用redis实现分布式锁
4、redis使用单线程的好处
5、redis中如何控制多线程并发
6、redis删除key的策略
7、redis的主动缓存,被动缓存
8、如何保证数据一致性问题
9、集群环境下如何处理,解释一下一致性哈希
10、解释一下缓存击穿,缓存穿透,缓存雪崩,如何解决这些问题
11、排行榜功能的实现:使用redis的zset;zset的底层数据结构是什么样的;除了redis的zset还有什么其他的数据结构可以实现这个功能
12、Redis集群种类:主从模式、cluster模式及其应用
13、Redis种数据类型及应用场景
### zookeeper
1、zookeeper如何保证可用性?
2、Zookeeper的原理
3、什么情况下会使用zookeeper,zookeeper如何监听生成的节点,zk内部是如何实现的
4、Zookeeper0、zookeeper1、zookeeper2,三个节点的集群描述一下从zk启动,到zk对外提供服务的整个过程
5、有一个key,往zk写入,到写入成功它的大体过程是什么样的
6、Zookeeper监听器的原理
### MQ
1、mq的结构图
2、如何保证消费者是否消费
3、ack返回的种类
4、请求过程服务宕机如何处理
5、什么场景下会使用MQ;MQ的优势与劣势,什么时候不能用MQ
### springboot
1、springboot启动过程中做了哪些事情?
2、Springboot 启动类上的注解 @spring boot Application说明?
3、Springboot如何判断当前应用是否时web应用?
4、Spring boot整合jsp的流程,需要注意哪些点
### SpringCloud
1、SpringCloud和dubbo的区别
2、项目中用到了哪些组件
3、eureka的原理,如何保证高可用性,和Zookeeper有什么区别
4、feign如何调用的
5、处理生产环境上配置生效问题
6、hystrix的降级策略有哪些
7、Springcloud eureka是如何注册服务、如何监测心跳的,它注册的流程是怎么样的
8、在分布式环境中如何快速发现某一台服务有问题
9、分布式集群系统对外提供接口的时候如何验证对方的身份
10、Eureka和zookeeper作为注册中心有什么区别
### Linux服务器
1、Linux如何查看应用占用内存情况
2、Linux脚本编写会么
### 架构设计
1、如何做一个秒杀系统
2、如何实现高可用、高并发、高吞吐的技术方案
3、A给B发请求,B执行往数据库insert的操作;设计一个架构,保证能够提供最大的并发量
### 其他小知识点
1、Nginx如何做限流?令牌桶算法与漏桶算法
2、Tomcat调优
3、为什么使用RPC框架,什么时候会使用http请求
4、tomcat启动原理
5、Http协议
6、epoll模型
7、如何实现调用远程服务的接口
美团面经
1、ConcurrentHashMap底层原理
2、手写一个LRU页面置换算法
3、HashMap底层数据结构
4、为什么用红黑树不用普通的AVL树
5、为什么在8的时候链表变成树
6、为什么在6的时候从树退回链表
7、线程池7个参数,该怎么配置最好
8、说一下volatile
9、volatile的可见性和禁止指令重排序怎么实现的
10、CAS是什么
11、PriorityQueue底层是什么,初始容量是多少,扩容方式呢
12、HashMap的容量为什么要设置为2的次幂
13、你知道跳表吗,什么场景会用到
14、CopyOnWriteArrayList知道吗,迭代器支持fail-fast吗
15、innodb的底层数据结构
16、为什么用B+树不用B树
17、为什么用B+树不用红黑树
18、coding:无序数组怎么寻找第k大的数,写一个二叉树层次遍历
19、不知道大小的数据流取其中100个数,怎样的取法能最随机
20、n个物品每个物品都有一定价值,分给2个人,怎么分两个人的价值差最小
随时联系我 V 15123957473 欢迎技术交流,其他合作
21、假设百度每个页面能放100个网页,每个页面都有一个评分,怎样快速找到第8页的所有网页
阿里淘系面经
### 一面:
1、聊之前的项目经验,详细描述
2、Java知识体系中整体的集合框架
3、为什么hashmap在jdk8的时候要进行树化(泊松分布)
4、hashmap线程安全的方式(concurrenthashmap源码层次)
5、锁的分类
```
乐观锁、悲观锁、自旋锁、读写锁、排他锁、共享锁、分段锁的各种机制及实现方式
```
6、spring IOC的底层实现
```
XML、dom4j、工厂、单例
```
7、mysql索引的分类及实现机制
### 二面
1、介绍项目
2、线程池的创建方式、分类、应用场景、拒绝策略的场景
3、spring AOP的底层实现
```
动态代理、newProxyInstance、cglib、SAM
```
4、代理模式
```
静态代理、动态代理
```
5、详细介绍自己的设计模式
### 三面
1、千万级数据量的list找一个数据(抢红包案例)
### 四面
1、详细项目介绍
2、JVM内存管理
```
栈上分配->TLAB->新声代、老年代->可达性分析->GC算法->所有垃圾回收器及其优缺点和特点
那到底多大的对象会被直接扔到老年代
G1两个region不是连续的,而且之间还有可达的引用,我现在要回收其中一个,另一个会被怎么处理
CMS的并发预处理和并发可中断预处理
```
### 五面
1、百万级int数据量的一个array求和(fork/join)
### 六面
1、参加面试的是硕士,所以问了科研项目
### 七面
1、聊人生
随时联系我 V 15123957473 欢迎技术交流,其他合作
# 百度面经
1、synchrnoized和reentrantlock的底层实现及重入的底层原理
2、锁的四种状态及升级过程
3、CMS和G1的异同
4、G1什么时候引发Full GC?
5、除了CAS,原子类,syn,Lock还有什么线程安全的方式
6、HashMap和Hashtable的异同
7、允许null键的map你知道哪些
```
HashMap,LinkedHashMap,WeakHashMap
```
8、为什么hashmap扩容的时候是两倍
9、红黑树的插入时间复杂度
10、解决hash冲突的方式
11、现在有1T的数据,但是只有1G内存,如何进行排序
12、Tomcat为什么要重写类加载器
13、tcp握手挥手过程及其状态转换
14、mysql隔离级别
15、B树和B+树的区别
16、你知道哪些设计模式,它们在JDK源码中是怎么体现的
17、Java运行时数据区
18、常见的垃圾回收算法有哪些
19、吞吐量优先和响应时间优先的回收器是哪些
20、类加载全过程
21、线程池7个参数
22、CAS的ABA问题怎么解决
23、Java内存模型
24、什么叫做阻塞队列的有界和无界
25、说明session和cookie的区别
26、说一下反射,反射会影响性能吗
27、说一些AQS
28、JUC包里的同步组件主要实现了AQS的哪些主要方法
菜鸟快递面经
### 阿里一面
1、java内存模型分为了几块区域?元空间里有些啥?
2、对象存在java内存的那块区域里面
3、string类的用法,string a="Hello" string a = new string("hello")创建的流程
4、NIO知道么? nio底层调用了啥?啥是非阻塞IO?
5、jdk hashmap 底层存储?红黑树的特点,为啥不用数组用红黑树?
6、数据库用过么?用的啥数据库,mysql用的啥引擎?为啥数据库底层用B+树不用红黑树?
7、多线程,AtomicInteger底层用的啥?cas的原理,AtomicInteger用了Voliate么?voliate的原理,变量加Voliate被修改了其他线程能立刻知道么?
8、HBase底层数据存储的结构,HRegion如何分裂?
9、UnSafe类知道么?
### 阿里二面
1、聊项目
2、由项目聊到高并发,C3P0数据库的优点,不加机器,单体应用怎么优化性能?
3、校园经历
4、一道设计模式的编码题
写代码实现以下业务场景:
“小明和小张去中介找房子,小明要3室2厅的房子但租金不要超过6000,小李的要求是租金不超过1500的都能接受。中介说没问题,你们留个电话,有房子我通知你们”
考察点:
1、面向对象建模
2、观察者或者Callback模式
随时联系我 V 15123957473 欢迎技术交流,其他合作
3、策略模式
### 阿里三面
1、个人介绍
2、最难忘的项目
3、JVM加载类的过程,JVM的ClassLoading有几种,怎么改变ClassLoading的加载顺序?
4、如何解决Jar包冲突
5、继承的原理
6、对技术那方面感兴趣
7、如何学习一门新技术
内容总结
以上是互联网集市为您收集整理的阿里 百度 菜鸟 滴滴 京东 美团 顺丰面试整理,面经分享,java面试分模块总结全部内容,希望文章能够帮你解决阿里 百度 菜鸟 滴滴 京东 美团 顺丰面试整理,面经分享,java面试分模块总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。